*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{min-height:100vh}@media (max-width:768px){body{font-size:14px}}.add-habit-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.add-habit-modal-content{background:#fff;border-radius:.5rem;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.add-habit-modal-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:1.5rem}.add-habit-modal-header h3{color:#333;font-size:1.25rem;font-weight:600;margin:0}.add-habit-close-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.add-habit-close-btn:hover{background:#f5f5f5;color:#333}.add-habit-modal-body{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem}.add-habit-form-group{display:flex;flex-direction:column;gap:.5rem}.add-habit-form-group label{color:#333;font-size:.875rem;font-weight:500}.add-habit-form-group input[type=text],.add-habit-form-group select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem;transition:all .2s}.add-habit-form-group input[type=text]:focus,.add-habit-form-group select:focus{border-color:#999;box-shadow:0 0 0 2px #3333331a;outline:none}.add-habit-frequency-selector{display:flex;flex-direction:column;gap:.75rem}.add-habit-frequency-selector select{width:100%}.add-habit-frequency-value-input{align-items:center;display:flex;gap:.75rem}.add-habit-frequency-value-input input[type=number]{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.875rem;padding:.5rem;transition:all .2s;width:80px}.add-habit-frequency-value-input input[type=number]:focus{border-color:#999;box-shadow:0 0 0 2px #3333331a;outline:none}.add-habit-frequency-hint{color:#666;font-size:.875rem}.add-habit-form-hint{color:#999;font-size:.75rem;margin-top:.25rem}.add-habit-icon-selector{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(6,1fr)}.add-habit-icon-option{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;padding:.75rem;transition:all .2s}.add-habit-icon-option:hover{background:#f5f5f5;border-color:#ccc}.add-habit-icon-option.selected{background:#333;border-color:#333;transform:scale(1.05)}.add-habit-modal-footer{border-top:1px solid #f0f0f0;display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.add-habit-cancel-btn,.add-habit-save-btn{border-radius:.25rem;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.add-habit-cancel-btn{background:none;border:1px solid #e0e0e0;color:#666}.add-habit-cancel-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.add-habit-save-btn{background:#333;border:1px solid #333;color:#fff}.add-habit-save-btn:hover:not(:disabled){background:#000;border-color:#000}.add-habit-cancel-btn:disabled,.add-habit-save-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.add-habit-modal-content{border-radius:0;max-height:100vh}.add-habit-modal-body,.add-habit-modal-footer,.add-habit-modal-header{padding:1rem}.add-habit-icon-selector{grid-template-columns:repeat(4,1fr)}}.completion-value-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.completion-value-modal-content{background-color:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 4px #0000001a;max-width:400px;width:100%}.completion-value-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.completion-value-modal-title{align-items:center;display:flex;gap:.75rem}.completion-value-modal-icon{font-size:1.5rem}.completion-value-modal-title h3{color:#333;font-size:1.125rem;font-weight:600;margin:0}.completion-value-modal-date{color:#666;font-size:.875rem;margin:.25rem 0 0}.completion-value-modal-close-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:.25rem;transition:all .2s;width:32px}.completion-value-modal-close-btn:hover{background-color:#f5f5f5;color:#333}.completion-value-modal-body{padding:1.5rem}.completion-value-input-group{margin-bottom:1.5rem}.completion-value-input-group:last-child{margin-bottom:0}.completion-value-input-group label{align-items:center;color:#333;display:flex;font-size:.875rem;font-weight:500;justify-content:space-between;margin-bottom:.5rem}.completion-value-target{color:#666;font-size:.8125rem;font-weight:400}.completion-value-input-group input{background-color:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.completion-value-input-group input:focus{border-color:#333;outline:none}.completion-value-input-group input::placeholder{color:#666}.completion-value-modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:1rem;padding:1rem 1.5rem}.completion-value-cancel-btn,.completion-value-save-btn{border:none;border-radius:.25rem;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;padding:.75rem 1rem;transition:all .2s}.completion-value-cancel-btn{background-color:#f5f5f5;border:1px solid #e0e0e0;color:#333}.completion-value-cancel-btn:hover{background-color:#e9ecef;border-color:#ccc}.completion-value-save-btn{background-color:#333;border:1px solid #333;color:#fff}.completion-value-save-btn:hover{background-color:#1a1a1a;border-color:#1a1a1a}@media (max-width:480px){.completion-value-modal-content{margin:.5rem}.completion-value-modal-body,.completion-value-modal-footer,.completion-value-modal-header{padding:1rem}}.habit-tracker{background-color:#fff;color:#333;display:flex;flex-direction:column;min-height:100vh}.habit-tracker-header{align-items:center;background-color:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem}.habit-tracker-header h1{color:#333;flex:1 1;font-size:1.5rem;font-weight:600;margin:0;text-align:center}.add-habit-btn,.back-btn,.menu-btn,.options-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;padding:.5rem;transition:all .2s;width:40px}.add-habit-btn:hover,.back-btn:hover,.menu-btn:hover,.options-btn:hover{background-color:#f5f5f5;border-color:#ccc;color:#333}.habit-tracker-content{flex:1 1;overflow-y:auto;padding:1rem 1rem 2rem}.week-header{grid-gap:.5rem;align-items:center;display:grid;gap:.5rem;grid-template-columns:200px repeat(4,1fr);margin-bottom:1rem;padding:0 1rem}.day-column{padding:.5rem;text-align:center}.day-label{color:#666;font-size:.75rem;font-weight:500;margin-bottom:.25rem}.day-number{color:#333;font-size:1rem;font-weight:600}.habits-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.habit-row{grid-gap:.5rem;align-items:center;background-color:#fff;border:1px solid #e0e0e0;border-radius:.375rem;display:grid;gap:.5rem;grid-template-columns:200px repeat(4,1fr);padding:.75rem 1rem;position:relative;transition:all .2s ease}.habit-row:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.habit-info{align-items:center;display:flex;gap:.75rem;position:relative}.habit-icon{font-size:1.25rem;width:24px}.habit-name{flex:1 1;font-size:.95rem}.habit-name.clickable{cursor:pointer;transition:color .2s}.habit-name.clickable:hover{color:#28a745}.delete-habit-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:24px;justify-content:center;opacity:0;padding:.25rem;transition:all .2s;width:24px}.habit-row:hover .delete-habit-btn{opacity:1}.delete-habit-btn:hover{background-color:#f8d7da;color:#721c24}.habit-progress-line{background-color:#f0f0f0;border-radius:0 0 .375rem .375rem;bottom:0;height:3px;left:0;overflow:hidden;position:absolute;right:0}.progress-line-fill{background-color:#333;border-radius:2px;height:100%;min-width:0;transition:width .3s ease}.habit-completions{display:contents}.completion-btn{align-items:center;background:none;border:2px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:700;height:40px;justify-content:center;transition:all .2s;width:40px}.completion-btn:hover{background-color:#f5f5f5;border-color:#ccc}.completion-btn.completed{background-color:#28a745;border-color:#28a745;color:#fff}.completion-btn.completed:hover{background-color:#218838;border-color:#218838}.completion-btn.numeric{font-size:.75rem;font-weight:500;max-width:60px;min-width:40px;overflow:hidden;padding:.25rem;text-overflow:ellipsis;white-space:nowrap;width:auto}.completion-btn.numeric.completed{background-color:#333;border-color:#333;color:#fff}.completion-btn.numeric.completed:hover{background-color:#1a1a1a;border-color:#1a1a1a}.empty-state p{font-size:1.1rem}.modal-overlay{background-color:#00000080}.modal-content{background-color:#fff;box-shadow:0 2px 4px #0000001a;max-width:400px}.add-habit-modal .modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.add-habit-modal .modal-header h3{color:#333;font-size:1.25rem;margin:0}.add-habit-modal .close-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:.25rem;transition:all .2s;width:32px}.add-habit-modal .close-btn:hover{background-color:#f5f5f5;color:#333}.add-habit-modal .modal-body{padding:1.5rem}.form-group input{background-color:#fff;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#28a745}.form-group input::placeholder{color:#666}.form-group select{background-color:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.form-group select:focus{border-color:#28a745;outline:none}.frequency-selector{display:flex;flex-direction:column;gap:.75rem}.frequency-value-input{align-items:center;display:flex;gap:.5rem}.frequency-value-input input{flex-shrink:0;width:80px}.frequency-hint{font-size:.9rem;white-space:nowrap}.form-hint{display:block;font-size:.8rem;margin-top:.25rem}.icon-option{border:1px solid #e0e0e0}.add-habit-modal .modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:1rem;padding:1rem 1.5rem}.cancel-btn,.save-btn{border-radius:8px;flex:1 1;padding:.75rem 1rem}.cancel-btn{color:#333}.cancel-btn:hover{background-color:#e9ecef}.save-btn{border:1px solid #28a745}.save-btn:disabled{background-color:#e9ecef;color:#666}@media (max-width:768px){.habit-tracker-content{padding-bottom:2.5rem}.week-header{font-size:.85rem}.habit-row,.week-header{grid-template-columns:150px repeat(4,1fr)}.habit-name{font-size:.85rem}.completion-btn{font-size:.9rem;height:32px;width:32px}.completion-btn.numeric{font-size:.7rem;max-width:50px;min-width:32px}.day-column{padding:.25rem}.habit-row{padding:.5rem}.habit-progress-line{height:2px}.habits-list{margin-bottom:2.5rem}}@media (max-width:480px){.week-header{font-size:.75rem}.habit-row,.week-header{grid-template-columns:120px repeat(4,1fr)}.habit-name{font-size:.8rem}.completion-btn{font-size:.8rem;height:28px;width:28px}.completion-btn.numeric{font-size:.65rem;max-width:45px;min-width:28px}.habit-tracker-content{padding:.5rem .5rem 3rem}.modal-content{margin:.5rem}.frequency-value-input{align-items:flex-start;flex-direction:column;gap:.25rem}.frequency-value-input input{width:100%}.frequency-hint{font-size:.8rem}.habit-progress-line{height:2px}.habits-list{margin-bottom:3rem}}.options-menu-popover{background-color:#fff;box-shadow:0 2px 4px #0000001a;min-width:180px;padding:.5rem;top:calc(100% + .5rem)}.options-menu-item{padding:.25rem 0}.options-menu-toggle{align-items:center;border-radius:.25rem;cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:background-color .2s;width:100%}.options-menu-toggle:hover{background-color:#f5f5f5}.options-menu-toggle input[type=checkbox]{accent-color:#28a745;margin:0}.options-menu-label{color:#333;font-size:.875rem;-webkit-user-select:none;user-select:none}.habit-row.inactive{background-color:#fafafa;opacity:.7}.habit-row.inactive .habit-icon{filter:grayscale(50%)}.inactive-label{background-color:#e9ecef;border-radius:.25rem;color:#666;display:inline-block;font-size:.75rem;font-weight:500;margin-left:.5rem;padding:.125rem .375rem}.habit-row.inactive .completion-btn,.habit-row.inactive .progress-line-fill{opacity:.5}.habit-detail{background-color:#fff;color:#333;display:flex;flex-direction:column;height:100vh;overflow:hidden}.habit-detail-header{align-items:center;background-color:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem}.habit-detail-header h1{color:#333;flex:1 1;font-size:1.5rem;font-weight:600;margin:0;text-align:center}.habit-detail-header-left,.habit-detail-header-right{align-items:center;display:flex;gap:.5rem}.cancel-btn,.habit-detail-back-btn,.habit-detail-delete-btn,.habit-detail-edit-btn,.habit-detail-menu-btn,.habit-detail-status-btn,.save-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1rem;padding:.5rem 1rem;transition:all .2s}.habit-detail-status-btn.active{background-color:#28a745;border-color:#28a745;color:#fff}.habit-detail-status-btn.inactive{background-color:#6c757d;border-color:#6c757d;color:#fff}.habit-detail-status-btn:hover{opacity:.8}.status-switch-container{align-items:center;display:flex;gap:.75rem}.status-switch-label{color:#666;font-size:.875rem;font-weight:500}.status-switch{cursor:pointer;display:inline-block;height:24px;position:relative;width:50px}.status-switch input{height:0;opacity:0;width:0}.status-switch-slider{background-color:#e0e0e0;border-radius:24px;bottom:0;left:0;position:absolute;right:0;top:0;transition:all .3s ease}.status-switch-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:all .3s ease;width:18px}.status-switch input:checked+.status-switch-slider{background-color:#28a745}.status-switch input:checked+.status-switch-slider:before{transform:translateX(26px)}.status-switch:hover .status-switch-slider{opacity:.8}.habit-detail-back-btn,.habit-detail-menu-btn{align-items:center;border:1px solid #e0e0e0;border-radius:50%;display:flex;font-size:1.5rem;height:40px;justify-content:center;padding:.5rem;width:40px}.habit-detail-back-btn:hover,.habit-detail-menu-btn:hover{background-color:#f5f5f5;border-color:#ccc;color:#333}.habit-detail-edit-btn{background-color:#f5f5f5;border-color:#e0e0e0;color:#666}.habit-detail-edit-btn:hover{background-color:#f0f0f0;border-color:#ccc;color:#333}.habit-detail-delete-btn{background-color:#f5f5f5;border-color:#e0e0e0;color:#666}.habit-detail-delete-btn:hover{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.save-btn:hover{border-color:#1e7e34}.habit-detail-content{flex:1 1;margin:0 auto;max-width:800px;overflow-x:hidden;overflow-y:auto;padding:1rem;width:100%}.habit-detail-content::-webkit-scrollbar{width:8px}.habit-detail-content::-webkit-scrollbar-track{background:#fff}.habit-detail-content::-webkit-scrollbar-thumb{background:#e0e0e0;border-radius:4px}.habit-detail-content::-webkit-scrollbar-thumb:hover{background:#ccc}.error-state{color:#721c24}.back-to-habits-btn{background-color:#f5f5f5;border:1px solid #e0e0e0;color:#666}.back-to-habits-btn:hover{background-color:#f0f0f0;border-color:#ccc;color:#333}.habit-detail-header-section{align-items:center;background-color:#fff;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:1.5rem;padding:1.5rem}.habit-detail-header-section .habit-detail-info{flex:1 1}.habit-detail-icon-large,.habit-detail-status{align-items:center;display:flex}.habit-detail-icon-large{font-size:3rem;height:60px;justify-content:center;width:60px}.habit-detail-info{flex:1 1}.habit-detail-name{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.habit-detail-meta{color:#666;display:flex;font-size:1rem;gap:1rem}.habit-detail-category{background-color:#f5f5f5}.habit-detail-category,.habit-detail-frequency{border-radius:1rem;color:#666;font-size:.875rem;padding:.25rem .75rem}.habit-detail-frequency{background-color:#f0f0f0}.overview-section{background-color:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1.5rem;padding:1.5rem}.section-title{color:#333;font-size:1.125rem;font-weight:500;margin:0 0 1rem}.overview-content{align-items:center;display:flex;gap:2rem}.overview-progress{flex-shrink:0}.circular-progress{align-items:center;display:flex;justify-content:center;position:relative}.progress-circle{transition:stroke-dashoffset .5s ease}.progress-text{font-size:1.25rem;font-weight:600;position:absolute}.overview-stats{display:flex;flex:1 1;gap:2rem}.overview-stat{text-align:center}.overview-stat .stat-value{color:#333;font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.overview-stat .stat-label{color:#666;font-size:.875rem;font-weight:400}.chart-section{background-color:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1.5rem;padding:1.5rem}.period-selector{background-color:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem}.period-selector:focus{border-color:#333;outline:none}.chart-container{overflow-x:auto}.bar-chart,.line-chart{min-width:600px;width:100%}.no-data{color:#666;font-size:.875rem;padding:2rem;text-align:center}.stats-grid{margin-bottom:2rem}.stat-card{background-color:#fff}.stat-value{font-size:2.5rem}.recent-completions{background-color:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:2rem}.recent-completions h3{color:#333;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.completions-list{display:flex;flex-direction:column;gap:.75rem}.completion-item{align-items:center;background-color:#fafafa;border:1px solid #f0f0f0;border-radius:.25rem;display:flex;gap:1rem;padding:1rem}.completion-date{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;min-width:120px}.completion-status{flex:1 1}.completion-status .completed{color:#28a745;font-weight:500}.completion-status .not-completed{color:#721c24;font-weight:500}.completion-notes{color:#666;font-size:.875rem;font-style:italic;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-completions{color:#666;padding:2rem;text-align:center}.empty-completions p{font-size:1rem;margin:0}@media (max-width:768px){.habit-detail-content{padding:1rem}.habit-detail-header-section{flex-direction:column;gap:1rem;padding:1rem;text-align:center}.habit-detail-status{justify-content:center}.habit-detail-icon-large{font-size:2.5rem;height:50px;width:50px}.habit-detail-name{font-size:1.25rem}.habit-detail-meta{flex-wrap:wrap;justify-content:center}.overview-content{flex-direction:column;gap:1rem;text-align:center}.overview-stats{gap:1rem;justify-content:space-around}.overview-stat .stat-value{font-size:1.25rem}.chart-section{padding:1rem}.section-header{align-items:flex-start;flex-direction:column;gap:.5rem}.period-selector{align-self:flex-end}.bar-chart,.line-chart{min-width:400px}.stats-grid{gap:.75rem;grid-template-columns:repeat(2,1fr)}.stat-card{padding:1rem}.stat-value{font-size:2rem}.recent-completions{padding:1.5rem}.completion-item{align-items:flex-start;flex-direction:column;gap:.5rem}.completion-date{min-width:auto}.completion-notes{max-width:100%;white-space:normal}}@media (max-width:480px){.habit-detail-header{padding:.75rem}.habit-detail-header h1{font-size:1.25rem}.habit-detail-header-right{gap:.25rem}.cancel-btn,.habit-detail-delete-btn,.habit-detail-edit-btn,.save-btn{font-size:.875rem;padding:.5rem .75rem}.overview-stats{flex-wrap:wrap;gap:.75rem}.overview-stat .stat-value{font-size:1rem}.overview-stat .stat-label{font-size:.75rem}.bar-chart,.line-chart{min-width:300px}.section-title{font-size:1rem}.stats-grid{grid-template-columns:1fr}.stat-value{font-size:1.75rem}}.calendar-container{margin-top:1rem}.edit-calendar-btn{background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.edit-calendar-btn:hover{background-color:#f0f0f0;border-color:#ccc;color:#333}.compact-calendar{background-color:#fafafa;border:1px solid #f0f0f0;border-radius:.375rem;padding:1rem}.compact-calendar .calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.compact-calendar .calendar-header h4{color:#333;flex:1 1;font-size:1rem;font-weight:500;margin:0;text-align:center}.nav-btn.compact{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:1rem;height:30px;justify-content:center;transition:all .2s;width:30px}.nav-btn.compact:hover{background-color:#f5f5f5;border-color:#ccc;color:#333}.compact-calendar .calendar-weekdays{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem}.compact-calendar .weekday-label{color:#666;font-size:.75rem;font-weight:500;padding:.25rem;text-align:center}.compact-calendar .calendar-days{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(7,1fr)}.compact-calendar .calendar-day{align-items:center;aspect-ratio:1;background-color:#fff;border:1px solid #f0f0f0;border-radius:.25rem;color:#666;display:flex;font-size:.75rem;justify-content:center}.compact-calendar .calendar-day.completed{background-color:#333;border-color:#333;color:#fff}.compact-calendar .calendar-day.today{border-color:#333;color:#333;font-weight:600}.compact-calendar .calendar-day.future{opacity:.3}.compact-calendar .calendar-day.empty{background:none;border:none}.full-calendar{background-color:#fafafa;border:1px solid #f0f0f0;border-radius:.375rem;box-sizing:border-box;padding:1.5rem}.calendar-nav{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.calendar-nav h3{color:#333;flex:1 1;font-size:1.25rem;font-weight:600;margin:0;text-align:center}.calendar-nav .nav-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:50%;color:#666;cursor:pointer;display:flex;flex:0 0 36px;font-size:1.25rem;height:36px;justify-content:center;margin:0;max-width:36px;min-width:36px;padding:0;transition:all .2s;width:36px}.nav-btn:hover{background-color:#f5f5f5}.full-calendar .calendar-weekdays{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem}.full-calendar .weekday-label.full{color:#666;font-size:.875rem;font-weight:500;padding:.5rem 0;text-align:center}.full-calendar .calendar-days{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr)}.full-calendar .calendar-day{align-items:center;aspect-ratio:1;background-color:#fff;border:1px solid #f0f0f0;border-radius:.375rem;color:#666;cursor:pointer;display:flex;font-size:1rem;justify-content:center;min-height:45px;transition:all .2s}.full-calendar .calendar-day:not(.future):not(.empty):hover{background-color:#f5f5f5;border-color:#ccc;color:#333}.full-calendar .calendar-day.completed{background-color:#333;border-color:#333;color:#fff}.full-calendar .calendar-day.today{border-color:#333;color:#333;font-weight:600}.full-calendar .calendar-day.future{cursor:not-allowed;opacity:.3}.full-calendar .calendar-day.empty{background:none;border:none;cursor:default}.calendar-instructions{background-color:#f9f9f9;border:1px solid #f0f0f0;border-radius:.25rem;margin-top:1rem;padding:.75rem}.calendar-instructions p{color:#666;font-size:.875rem;margin:0;text-align:center}@media (max-width:768px){.compact-calendar,.full-calendar{padding:1rem}.compact-calendar .calendar-day{font-size:.7rem;min-height:35px}.full-calendar .calendar-day{font-size:.875rem;min-height:40px}.calendar-nav h3{font-size:1.125rem}.calendar-nav .nav-btn{flex:0 0 35px;font-size:1.125rem;height:35px;max-width:35px;min-width:35px;width:35px}}@media (max-width:480px){.compact-calendar .calendar-day{font-size:.65rem;min-height:30px}.full-calendar .calendar-day{font-size:.8rem;min-height:35px}.full-calendar .weekday-label.full{font-size:.75rem;padding:.5rem 0}}.habit-edit{color:#333;flex-direction:column;height:100vh;overflow:hidden}.habit-edit,.habit-edit-header{background-color:#fff;display:flex}.habit-edit-header{align-items:center;border-bottom:1px solid #e0e0e0;justify-content:space-between;padding:1rem}.habit-edit-header h1{color:#666;flex:1 1;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.5rem;font-weight:400;margin:0;text-align:center}.back-btn,.cancel-btn,.delete-btn,.edit-btn,.menu-btn,.save-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1rem;padding:.5rem 1rem;transition:all .2s}.back-btn,.menu-btn{align-items:center;border:1px solid #e0e0e0;border-radius:50%;display:flex;font-size:1.5rem;height:40px;justify-content:center;width:40px}.back-btn:hover,.menu-btn:hover{background-color:#f5f5f5;border-color:#ccc}.cancel-btn{background-color:#f5f5f5;border-color:#e0e0e0}.cancel-btn:hover{background-color:#f0f0f0}.cancel-btn:disabled{background-color:#f9f9f9;border-color:#f0f0f0;color:#ccc;cursor:not-allowed}.save-btn{background-color:#28a745;border-color:#28a745}.save-btn:hover{background-color:#218838;border-color:#218838}.save-btn:disabled{background-color:#f5f5f5;color:#ccc}.delete-btn{background-color:#dc3545;color:#fff}.delete-btn:hover{background-color:#c82333;border-color:#c82333}.delete-btn:disabled{background-color:#f5f5f5;border-color:#e0e0e0;color:#ccc;cursor:not-allowed}.habit-edit-content{flex:1 1;margin:0 auto;max-width:800px;overflow-x:hidden;overflow-y:auto;padding:1rem;width:100%}.habit-edit-content::-webkit-scrollbar{width:8px}.habit-edit-content::-webkit-scrollbar-track{background:#fff}.habit-edit-content::-webkit-scrollbar-thumb{background:#e0e0e0;border-radius:4px}.habit-edit-content::-webkit-scrollbar-thumb:hover{background:#ccc}.error-state,.loading-state{color:#666;padding:3rem 1rem;text-align:center}.error-state{color:#dc3545}.back-to-habits-btn{background-color:#333;border:1px solid #333;border-radius:.25rem;color:#fff;cursor:pointer;margin-top:1rem;padding:.75rem 1.5rem;transition:all .2s}.back-to-habits-btn:hover{background-color:#555;border-color:#555}.error-message{margin:1rem}.error-message button{color:#721c24;font-size:1.25rem}.habit-edit-header-section{align-items:center;background-color:#fff;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;gap:1.5rem;margin-bottom:1.5rem;padding:1.5rem}.habit-edit-icon-large{align-items:center;background-color:#f9f9f9;border:2px solid #e0e0e0;border-radius:50%;display:flex;font-size:3rem;height:60px;justify-content:center;width:60px}.habit-edit-info{flex:1 1}.habit-name-input{background-color:#fff;border:2px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:1.5rem;font-weight:600;max-width:400px;padding:.5rem;width:100%}.habit-name-input:focus{border-color:#28a745;box-shadow:0 0 0 2px #28a74533;outline:none}.habit-edit-meta{color:#666;display:flex;font-size:1rem;gap:1rem;margin-top:.5rem}.habit-edit-category{background-color:#f5f5f5}.habit-edit-category,.habit-edit-frequency{border:1px solid #e0e0e0;border-radius:1rem;color:#666;font-size:.875rem;padding:.25rem .75rem}.habit-edit-frequency{background-color:#f0f0f0}.edit-form{background-color:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:2rem;padding:2rem}.edit-form h3{color:#333;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.form-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group.full-width{grid-column:1/-1}.form-group input,.form-group select,.form-group textarea{background-color:#fff;border:2px solid #e0e0e0}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#28a745;box-shadow:0 0 0 2px #28a74533}.frequency-inputs{display:flex;gap:.5rem}.frequency-inputs select{flex:1 1}.frequency-inputs input{flex-shrink:0;width:80px}.frequency-hint{color:#666;font-size:.8rem;font-style:italic;margin-top:.5rem}.icon-selector{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(6,1fr)}.icon-option{align-items:center;aspect-ratio:1;background-color:#fff;border:2px solid #e0e0e0;border-radius:.25rem;cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;padding:.75rem;transition:all .2s}.icon-option:hover{background-color:#f5f5f5;border-color:#ccc}.icon-option.selected{background-color:#28a745;border-color:#28a745;color:#fff}.calendar-header{align-items:center;background-color:#fff;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;flex-direction:row;justify-content:space-between;margin-bottom:1.5rem;padding:1rem}@media (max-width:768px){.habit-edit-content{padding:1rem}.habit-edit-header-section{flex-direction:column;padding:1rem;text-align:center}.habit-edit-icon-large{font-size:2.5rem;height:50px;width:50px}.habit-name-input{font-size:1.25rem;max-width:100%}.habit-edit-meta{flex-wrap:wrap;justify-content:center}.edit-form{padding:1.5rem}.form-grid{gap:1rem;grid-template-columns:1fr}.frequency-inputs{flex-direction:column}.frequency-inputs input{width:100%}.icon-selector{grid-template-columns:repeat(4,1fr)}}@media (max-width:480px){.habit-edit-header{padding:.75rem}.habit-edit-header h1{font-size:1.25rem}.header-right{gap:.25rem}.cancel-btn,.delete-btn,.save-btn{font-size:.875rem;padding:.5rem .75rem}.icon-selector{grid-template-columns:repeat(3,1fr)}}.status-toggle{display:flex;gap:1rem;margin-top:.5rem}.status-option{align-items:center;cursor:pointer;display:flex;gap:.5rem}.status-option input[type=radio]{accent-color:#28a745;margin:0}.status-label{border-radius:.25rem;font-size:.875rem;font-weight:500;padding:.25rem .75rem;transition:all .2s ease}.status-label.active{background-color:#28a74533;border:1px solid #28a7454d;color:#28a745}.status-label.inactive{background-color:#6c757d33;border:1px solid #6c757d4d;color:#6c757d}.status-option input[type=radio]:checked+.status-label.active{background-color:#28a745;border-color:#28a745;color:#fff}.status-option input[type=radio]:checked+.status-label.inactive{background-color:#6c757d;border-color:#6c757d;color:#fff}.status-hint{color:#666;font-size:.75rem;line-height:1.4;margin-top:.5rem}.block-editor-empty{align-items:center;color:#6c757d;display:flex;flex:1 1;font-style:italic;justify-content:center;text-align:center}.block-list{cursor:text;display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-height:min-content;padding:1.5rem 1.5rem 30vh}.block-item{border-left:1px solid #e0e0e0;border-radius:.25rem;min-height:1.5rem;padding:.25rem 0;position:relative}.block-item.editing,.block-item:hover{background:#0000}.block-paragraph{word-wrap:break-word;border-radius:.25rem;color:#333;cursor:text;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.6;margin:0;min-height:1.5rem;padding:.375rem .5rem;white-space:pre-wrap}.block-paragraph:hover{background:#0000}.block-heading{word-wrap:break-word;border-radius:.25rem;color:#333;cursor:text;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:600;margin:0;padding:.375rem .5rem;white-space:pre-wrap}.block-heading:hover{background:#0000}.block-item.heading-1 .block-heading{border-bottom:2px solid #e2e8f0;color:#1a202c;font-size:1.875rem;font-weight:700;margin:.75rem 0 .5rem;padding-bottom:.5rem}.block-item.heading-2 .block-heading{color:#2d3748;font-size:1.5rem;font-weight:600;margin:.5rem 0 .375rem}.block-item.heading-3 .block-heading{color:#4a5568;font-size:1.25rem;font-weight:600;margin:.375rem 0 .25rem}.block-item.heading-4 .block-heading{color:#4a5568;font-size:1.125rem;font-weight:600;margin:.25rem 0}.block-item.heading-5 .block-heading{color:#4a5568;font-size:1rem;font-weight:600;margin:.25rem 0}.block-item.heading-6 .block-heading{color:#4a5568;font-size:.875rem;font-weight:600;letter-spacing:.025em;margin:.25rem 0;text-transform:uppercase}.block-list-item{align-items:flex-start;border-radius:.25rem;cursor:text;display:flex;gap:.5rem;padding:.375rem .5rem}.block-list-item:hover{background:#0000}.list-bullet{color:#666;flex-shrink:0;font-weight:700;margin-top:.125rem;text-align:center;width:1rem}.list-content{word-wrap:break-word;color:#333;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.6;white-space:pre-wrap}.block-empty{align-items:center;border-radius:.25rem;cursor:text;display:flex;min-height:1.5rem;padding:.375rem .5rem}.block-empty:hover,.block-textarea{background:#0000}.block-textarea{border:none;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.6;min-height:1.5rem;outline:none;overflow:hidden;padding:.375rem .5rem;resize:none;width:100%}.block-textarea::placeholder{color:#999;font-style:italic}.block-textarea:focus{background:#0000}.block-item.heading-1 .block-textarea{color:#1a202c;font-size:1.875rem;font-weight:700;margin:.75rem 0 .5rem}.block-item.heading-2 .block-textarea{color:#2d3748;font-size:1.5rem;font-weight:600;margin:.5rem 0 .375rem}.block-item.heading-3 .block-textarea{color:#4a5568;font-size:1.25rem;font-weight:600;margin:.375rem 0 .25rem}.block-item.heading-4 .block-textarea{color:#4a5568;font-size:1.125rem;font-weight:600;margin:.25rem 0}.block-item.heading-5 .block-textarea{color:#4a5568;font-size:1rem;font-weight:600;margin:.25rem 0}.block-item.heading-6 .block-textarea{color:#4a5568;font-size:.875rem;font-weight:600;letter-spacing:.025em;margin:.25rem 0;text-transform:uppercase}.block-item.list-item .block-textarea{flex:1 1;margin-left:1.5rem}.block-item:focus-within{background:#0000}@media (max-width:768px){.block-list{gap:.125rem;padding:1rem}.block-heading,.block-list-item,.block-paragraph,.block-placeholder,.block-textarea{padding:.25rem .375rem}.block-item.heading-1 .block-heading,.block-item.heading-1 .block-textarea{font-size:1.5rem;margin:.5rem 0 .375rem}.block-item.heading-2 .block-heading,.block-item.heading-2 .block-textarea{font-size:1.25rem;margin:.375rem 0 .25rem}.block-item.heading-3 .block-heading,.block-item.heading-3 .block-textarea{font-size:1.125rem;margin:.25rem 0}}@media (max-width:480px){.block-list{padding:.75rem}.block-heading,.block-list-item,.block-paragraph,.block-placeholder,.block-textarea{font-size:.875rem;padding:.1875rem .25rem}.list-bullet{font-size:.875rem;width:.75rem}.block-item.list-item .block-textarea{margin-left:1.25rem}}.command-palette{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;max-width:300px;min-width:200px;position:absolute;z-index:1000}.command-palette.adjust-left{transform:translateX(-50%)}.command-palette.adjust-right{transform:translateX(-80%)}.command-palette-content{padding:.5rem 0}.command-item{align-items:center;cursor:pointer;display:flex;gap:.75rem;padding:.5rem .75rem;transition:background-color .2s ease}.command-item.selected,.command-item:hover{background:#f5f5f5}.command-icon{font-size:1rem;text-align:center;width:1.5rem}.command-text{display:flex;flex-direction:column;gap:.125rem}.command-label{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500}.command-description{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem}.habit-selector{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;max-height:300px;max-width:350px;min-width:250px;position:absolute;z-index:1000}.habit-selector-content{display:flex;flex-direction:column}.habit-selector-header{background:#fafafa;border-bottom:1px solid #f5f5f5;border-radius:.375rem .375rem 0 0;color:#666;font-size:.875rem;font-weight:500;padding:.75rem}.habit-list{max-height:240px;overflow-y:auto}.habit-selector-empty,.habit-selector-loading{color:#666;font-size:.875rem;font-style:italic;padding:1rem .75rem;text-align:center}.habit-item{cursor:pointer;padding:.5rem .75rem;transition:background-color .2s ease}.habit-item.selected,.habit-item:hover{background:#f5f5f5}.habit-icon{font-size:1rem;text-align:center;width:1.5rem}.habit-text{display:flex;flex:1 1;flex-direction:column;gap:.125rem}.habit-name{color:#333;font-size:.875rem;font-weight:500}.habit-category{color:#666;font-size:.75rem}.block-habit-link{align-items:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.375rem;color:inherit;cursor:pointer;display:inline-flex;font-size:.875rem;gap:.5rem;margin:.125rem 0;max-width:fit-content;padding:.375rem .75rem;text-decoration:none;transition:all .2s ease}.block-habit-link:hover{background:#f0f0f0;border-color:#ccc;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.block-habit-link:active{box-shadow:0 1px 2px #0000001a;transform:translateY(0)}.habit-link-icon{flex-shrink:0;font-size:1rem}.habit-link-name{color:#333;font-weight:500}.block-item.habit-link{border:none;padding:.25rem 0}.block-item.habit-link:hover{background:#0000}@media (max-width:768px){.command-palette,.habit-selector{max-width:280px;min-width:180px}.command-palette{max-width:calc(100vw - 40px)}.command-item,.habit-item{padding:.375rem .5rem}.command-label,.habit-name{font-size:.8125rem}.command-description,.habit-category{font-size:.6875rem}.block-habit-link{font-size:.8125rem;gap:.375rem;padding:.25rem .5rem}}@media (max-width:480px){.command-palette,.habit-selector{max-width:240px;min-width:160px}.command-palette{max-width:calc(100vw - 20px);min-width:150px}.habit-selector{max-height:200px}.habit-list{max-height:140px}.block-habit-link{font-size:.75rem;gap:.25rem;padding:.1875rem .375rem}}.sync-indicator{cursor:help;position:absolute;right:.5rem;top:.5rem;z-index:10}.sync-indicator.syncing{animation:spin 1s linear infinite}.sync-indicator.error{color:#dc3545}.block-subblocks-indicator{align-items:center;color:#666;cursor:help;display:flex;font-size:.625rem;gap:.25rem;position:absolute;right:1.5rem;top:.5rem;z-index:5}.subblocks-icon{color:#999;font-size:.5rem}.subblocks-count{background:#f5f5f5;border-radius:.25rem;color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-weight:500;min-width:1rem;padding:.125rem .25rem;text-align:center}.block-menu-trigger{background:#0000;border-right:4px solid #0000;cursor:pointer;height:100%;position:absolute;right:0;top:0;transition:all .2s ease;width:12px;z-index:5}.block-item:hover .block-menu-trigger{background:#e0e0e01a;border-right-color:#e0e0e0}.block-menu-trigger:hover{background:#66666626;border-right-color:#666!important}.block-menu-overlay{min-width:140px;position:absolute;right:16px;top:50%;transform:translateY(-50%);z-index:20}.block-menu{animation:menuSlideInFromRight .2s ease-out;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;overflow:hidden;transform-origin:right center}@keyframes menuSlideInFromRight{0%{opacity:0;transform:translateX(10px) scaleX(.95)}to{opacity:1;transform:translateX(0) scaleX(1)}}.block-menu-item{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem .75rem;text-align:left;transition:background-color .2s ease;width:100%}.block-menu-item:hover{background:#f5f5f5}.block-menu-item:focus{background:#f5f5f5;outline:none}.menu-icon{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem}.menu-text{font-weight:400}@media (max-width:768px){.block-menu-trigger{border-right-width:5px;width:16px}.block-menu-overlay{min-width:120px;right:20px}.block-menu{min-width:120px}.block-menu-item{font-size:.8125rem;padding:.625rem .75rem}}@media (max-width:480px){.block-menu-trigger{border-right-width:6px;width:18px}.block-menu-overlay{min-width:110px;right:22px}.block-menu-item{font-size:.75rem;gap:.375rem;padding:.5rem .625rem}.menu-icon{font-size:.875rem}}.note-selector{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;max-height:350px;max-width:400px;min-width:300px;position:absolute;z-index:1000}.note-selector-content{display:flex;flex-direction:column}.note-selector-header{background:#fafafa;border-bottom:1px solid #f5f5f5;border-radius:.375rem .375rem 0 0;color:#666;font-size:.875rem;font-weight:500;padding:.75rem}.note-list{max-height:280px;overflow-y:auto;padding:.5rem 0}.note-selector-empty,.note-selector-loading{color:#666;font-size:.875rem;font-style:italic;padding:1rem .75rem;text-align:center}.note-item{align-items:center;display:flex;gap:.75rem;padding:.5rem .75rem}.note-item.selected,.note-item:hover{background:#f5f5f5}.note-icon{font-size:1rem;text-align:center;width:1.5rem}.note-text{display:flex;flex:1 1;flex-direction:column;gap:.125rem;min-width:0}.note-title{color:#333;font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-note-link{align-items:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.375rem;color:inherit;cursor:pointer;display:inline-flex;font-size:.875rem;gap:.5rem;margin:.125rem 0;max-width:fit-content;padding:.375rem .75rem;text-decoration:none;transition:all .2s ease}.block-note-link:hover{background:#f0f0f0;border-color:#ccc;box-shadow:0 1px 3px #0000001a;transform:translateY(-1px)}.block-note-link:active{box-shadow:0 1px 2px #0000001a;transform:translateY(0)}.note-link-icon,.note-link-id{opacity:.8}.block-image{align-items:center;display:flex;justify-content:flex-start;margin:.5rem 0;padding:.25rem 0}.block-image-thumbnail{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;max-height:300px;max-width:300px;object-fit:contain;transition:all .2s ease}.block-image-thumbnail:hover{border-color:#ccc;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.block-image-placeholder{color:#666;font-size:.875rem;font-style:italic;padding:.5rem}.block-image-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;font-size:.875rem;padding:.5rem}.block-item.image{border:none;padding:.25rem 0}.block-item.image:hover{background:#0000}.image-lightbox-backdrop{align-items:center;background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:10000}.image-lightbox-content{align-items:center;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;position:relative}.image-lightbox-image{border-radius:.375rem;box-shadow:0 4px 20px #00000080;max-height:85vh;max-width:100%;object-fit:contain}.image-lightbox-close{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;line-height:1;position:absolute;right:0;top:-2.5rem;transition:all .2s ease;width:2rem}.image-lightbox-close:hover{background:#ffffff4d;border-color:#ffffff80}.image-lightbox-metadata{align-items:center;color:#fff;display:flex;font-size:.875rem;gap:1rem;margin-top:1rem}.image-lightbox-filename{font-weight:500}.image-lightbox-dimensions{color:#ffffffb3;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.block-editor-upload-btn{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;bottom:2rem;box-shadow:0 2px 4px #0000001a;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1rem;position:fixed;right:2rem;transition:all .2s ease;z-index:100}.block-editor-upload-btn:hover{background:#f5f5f5;border-color:#ccc;box-shadow:0 4px 8px #00000026;color:#333;transform:translateY(-1px)}.block-editor-upload-btn:active{box-shadow:0 1px 2px #0000001a;transform:translateY(0)}.block-item.note-link{border:none;padding:0}.block-item.note-link:hover{background:#0000}@media (max-width:768px){.note-selector{max-height:60vh;max-width:90vw;min-width:280px}.note-list{max-height:50vh}.block-note-link{font-size:.8125rem;gap:.375rem;padding:.375rem .625rem}}@media (max-width:480px){.note-selector{left:50%;max-width:320px;min-width:260px;position:fixed;top:50%;width:90vw}.block-note-link{font-size:.8125rem;max-width:100%;word-break:break-word}}.note-link-selector{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;max-height:400px;max-width:450px;min-width:320px;overflow:hidden;position:absolute;z-index:1000}.note-link-selector-content{display:flex;flex-direction:column;height:100%}.note-link-search-container{border-bottom:1px solid #f5f5f5;padding:0}.note-link-search-input{background:#fafafa;border:none;border-radius:.375rem .375rem 0 0;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;outline:none;padding:.75rem;width:100%}.note-link-search-input:focus{background:#fff;border-bottom-color:#e0e0e0}.note-link-search-input::placeholder{color:#999}.note-link-list{flex:1 1;max-height:300px;overflow-y:auto}.note-link-item{align-items:center;border-bottom:1px solid #f8f9fa;cursor:pointer;display:flex;padding:.75rem;transition:background-color .2s ease}.note-link-item.selected,.note-link-item:hover{background:#f5f5f5}.note-link-item.selected{background:#e6f3ff}.note-link-icon{flex-shrink:0;font-size:1rem;margin-right:.75rem}.note-link-text{display:flex;flex:1 1;flex-direction:column;min-width:0}.note-link-title{color:#333;font-size:.875rem;font-weight:500;line-height:1.3;margin-bottom:.125rem}.note-link-id,.note-link-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-link-id{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem}.note-link-highlight{background:#fff3cd;border-radius:.25rem;color:#856404;font-weight:600;padding:.125rem .25rem}.note-link-create{border-top:1px solid #f0f0f0;margin-top:.25rem;padding-top:.5rem}.note-link-create .note-link-icon{color:#28a745}.note-link-create .note-link-title{color:#28a745;font-weight:500}.note-link-create .note-link-id{color:#6c757d;font-style:italic}.note-link-selector-empty,.note-link-selector-loading{color:#6c757d;font-style:italic;padding:2rem;text-align:center}.note-link-selector-footer{background:#f8f9fa;border-top:1px solid #e9ecef;padding:.5rem .75rem}.note-link-hint{color:#6c757d;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem}.markdown-note-link{background:#f0f8ff;border:1px solid #b0d4ff;border-radius:.25rem;color:#06c;cursor:pointer;display:inline;font-weight:500;margin:0 .125rem;padding:.125rem .25rem;text-decoration:none;transition:all .2s ease}.markdown-note-link:hover{background:#e6f3ff;border-color:#80c7ff;box-shadow:0 1px 2px #0000001a;transform:translateY(-1px)}.markdown-note-link:active{box-shadow:none;transform:translateY(0)}.block-url-link{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;display:inline;margin:0 .125rem;padding:.125rem .25rem;text-decoration:underline;text-decoration-color:#666;text-underline-offset:2px;transition:all .2s ease}.block-url-link:hover{background:#f0f0f0;border-color:#ccc;color:#000;text-decoration-color:#333}.block-url-link:active{background:#e0e0e0}.block-editor.full-block-mode{background:#fafafa;border-left:3px solid #333}.block-editor.full-block-mode .block-list{background:#fafafa}.block-insert-btn{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;bottom:-1.5rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.8125rem;font-weight:500;left:.5rem;padding:.375rem .75rem;position:absolute;transition:all .2s ease;z-index:10}.block-insert-btn:hover{background:#f5f5f5;border-color:#ccc;box-shadow:0 1px 3px #0000001a;color:#333}.block-insert-btn:active{background:#e0e0e0;box-shadow:none;transform:translateY(1px)}.block-insert-btn:focus{box-shadow:0 0 0 2px #3333;outline:none}@media (max-width:768px){.note-link-selector{left:20px!important;max-height:350px;max-width:calc(100vw - 40px);min-width:280px;right:20px}.note-link-search-input{font-size:.8125rem;padding:.625rem}.note-link-item{padding:.625rem}.note-link-title{font-size:.8125rem}.note-link-id{font-size:.6875rem}.block-insert-btn{font-size:.75rem;padding:.3125rem .625rem}.block-image-thumbnail{max-height:250px;max-width:100%}.image-lightbox-backdrop{padding:1rem}.image-lightbox-image{max-height:80vh}.block-editor-upload-btn{bottom:1rem;font-size:.8125rem;padding:.625rem .875rem;right:1rem}}@media (max-width:480px){.note-link-selector{max-height:300px;min-width:260px}.markdown-note-link{font-size:.875rem;margin:0 .0625rem;padding:.1875rem .375rem}.block-insert-btn{bottom:-1.25rem;font-size:.6875rem;padding:.25rem .5rem}.block-editor.full-block-mode{border-left-width:2px}.block-image-thumbnail{max-height:200px;max-width:100%}.image-lightbox-backdrop{padding:.5rem}.image-lightbox-image{max-height:75vh}.image-lightbox-metadata{flex-direction:column;font-size:.75rem;gap:.5rem}.block-editor-upload-btn{bottom:.75rem;font-size:.75rem;padding:.5rem .75rem;right:.75rem}}.sidebar{background:#fff;border-right:1px solid #e0e0e0;box-shadow:2px 0 10px #0000000d;display:flex;flex-direction:column;height:100vh;left:-320px;position:fixed;top:0;transition:left .3s ease;width:320px;z-index:10003}.sidebar.open{left:0}.sidebar-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;color:#333;display:flex;justify-content:space-between;padding:1.5rem}.sidebar-header-left,.sidebar-header-right{align-items:center;display:flex;gap:.5rem}.sidebar-home-btn{padding:.5rem .75rem}.sidebar-dashboard-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;line-height:1;transition:all .2s;width:32px}.sidebar-dashboard-btn.active,.sidebar-dashboard-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.sidebar-close,.sidebar-settings-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;line-height:1;transition:all .2s;width:32px}.sidebar-close:hover,.sidebar-settings-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.sidebar-content{display:flex;flex:1 1;flex-direction:column;justify-content:flex-start;min-height:0;overflow-y:auto;padding:1.5rem}.sidebar-home-section{border-bottom:1px solid #f0f0f0;margin-bottom:1rem;padding-bottom:.75rem}.sidebar-home-btn{align-items:center;background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.sidebar-home-btn:hover{background:#222}.sidebar-home-btn.active{background:#222;box-shadow:0 2px 4px #0000001a}.user-info{align-items:flex-start;display:flex;flex-direction:column;gap:1rem;text-align:left}.user-email-top{border-bottom:1px solid #f0f0f0;color:#666;font-size:.8125rem;margin:0;padding:.5rem 0;width:100%}.logout-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:.875rem;font-weight:400;gap:.5rem;justify-content:center;margin-top:auto;padding:.75rem 1rem;transition:all .2s;width:100%}.logout-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.sidebar-menu{display:flex;flex:1 1;flex-direction:column;gap:1.5rem;margin:0}.menu-section{display:flex;flex-direction:column;gap:.75rem}.menu-section-header{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.25rem;padding:0 .5rem;text-transform:uppercase}.menu-section-items{display:flex;flex-direction:column;gap:.25rem}.menu-home-btn{align-items:center;background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.menu-home-btn:hover{background:#222}.menu-home-btn.active{background:#222;box-shadow:0 2px 4px #0000001a}.menu-columns{display:flex;gap:.75rem}.menu-column{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.menu-item-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:400;gap:.75rem;padding:.75rem 0;text-align:left;transition:all .2s ease}.menu-item-btn.active,.menu-item-btn:hover{background:#f5f5f5;color:#333}.menu-item-btn.active{font-weight:500}.auth-prompt{align-items:flex-start;display:flex;flex-direction:column;gap:1.5rem;padding:1rem 0;text-align:left}.auth-prompt p{color:#666;font-size:.875rem;margin:0}.signin-btn{align-items:center;background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:400;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .2s;width:100%}.signin-btn:hover{background:#222}.google-signin-direct{align-items:center;background:#333!important;border:1px solid #333!important;display:flex;gap:.5rem;justify-content:center}.google-signin-direct:hover:not(:disabled){background:#222!important;border-color:#222!important}.google-signin-direct:disabled{cursor:not-allowed;opacity:.6}.sidebar-overlay{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0000004d;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:10002}.registration-status{border-radius:12px;font-size:.8em;font-weight:500;margin-top:5px;padding:4px 8px;text-align:center}.registration-status.checking{background:#3b82f61a;color:#3b82f6}.registration-status.registering{background:#fbbf241a;color:#f59e0b}.registration-status.registered{background:#22c55e1a;color:#22c55e}.registration-status.error{background:#ef44441a;color:#ef4444;cursor:pointer}@media (max-width:768px){.sidebar{left:-100vw;width:100vw}.sidebar-header{padding:1rem}.sidebar-content{padding:1.5rem 1rem}.user-avatar{height:60px;width:60px}.avatar-placeholder{font-size:1.5rem}.menu-columns{gap:.5rem}}.modules-section{border-bottom:1px solid #f0f0f0;padding-bottom:.75rem}.modules-dropdown-toggle{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;justify-content:space-between;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.modules-dropdown-toggle.active,.modules-dropdown-toggle:hover{background:#f5f5f5;border-color:#ccc}.dropdown-arrow{color:#666;font-size:.75rem;transition:transform .2s ease}.dropdown-arrow.expanded{transform:rotate(180deg)}.modules-dropdown{background:#fafafa;border-radius:0 0 .25rem .25rem;margin-top:.5rem;overflow:hidden;transition:all .3s ease-out}.modules-dropdown.collapsed{max-height:0;opacity:0}.modules-dropdown.expanded{max-height:500px;opacity:1;padding:1rem}.sidebar-notes-section{display:flex;flex:1 1;flex-direction:column;padding-top:.75rem}.sidebar-notes-header{display:flex;gap:.5rem;margin-bottom:.75rem}.sidebar-create-new-note-btn{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;flex:1 1;font-size:.75rem;font-weight:500;padding:.5rem .75rem;transition:all .2s ease}.sidebar-create-new-note-btn:hover{background:#222}.sidebar-view-all-notes-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;flex:1 1;font-size:.75rem;font-weight:400;padding:.5rem .75rem;transition:all .2s ease}.sidebar-view-all-notes-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.sidebar-notes-list{display:flex;flex:1 1;flex-direction:column;gap:0;min-height:0;overflow-y:auto}.sidebar-notes-loading{align-items:center;color:#666;display:flex;font-size:.8125rem;gap:.5rem;justify-content:center;padding:.75rem}.sidebar-loading-spinner{animation:spin 1s linear infinite;border:2px solid #f0f0f0;border-radius:50%;border-top-color:#666;height:16px;width:16px}.sidebar-note-item{background:none;border:none;border-radius:.25rem;color:#333;cursor:pointer;font-size:.8125rem;line-height:1.2;overflow:hidden;padding:.25rem .75rem;text-align:left;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.sidebar-note-item:hover{background:#f5f5f5}.sidebar-no-notes{align-items:center;display:flex;flex-direction:column;gap:.5rem;padding:1rem;text-align:center}.sidebar-create-note-btn{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.75rem;font-weight:400;padding:.5rem .75rem;transition:all .2s ease}.sidebar-create-note-btn:hover{background:#222}@media (max-width:480px){.sidebar-menu{gap:1rem}.menu-section{gap:.5rem}.menu-section-header{font-size:.7rem;padding:0 .25rem}.menu-section-items{gap:.125rem}.menu-columns{flex-direction:row;gap:.5rem;width:250px}.menu-column{gap:.25rem}.modules-dropdown.expanded{padding:.75rem}.sidebar-notes-header{gap:.25rem;margin-bottom:.5rem}.sidebar-create-new-note-btn,.sidebar-view-all-notes-btn{font-size:.7rem;padding:.4rem .5rem}}.goal-detail{background:#fff;color:#333;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;overflow:hidden}.metric-display-simple{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1.5rem;padding:1rem 1.5rem}.metric-header-simple{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.metric-label{color:#666;font-size:.875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.metric-value-simple{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.125rem;font-weight:700}.metric-value-loading{color:#666}.metric-bar-simple{background:#e0e0e0;border-radius:3px;height:6px;overflow:hidden}.metric-bar-fill-simple{background:linear-gradient(90deg,#6f42c1,#9b59b6);border-radius:3px;height:100%;transition:width .3s ease}.metric-section-edit{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1.5rem;padding:1rem 1.5rem}.metric-section-edit h3{color:#666;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.collapsible-section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1.5rem;overflow:hidden}.collapsible-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;text-align:left;transition:background-color .2s ease;width:100%}.collapsible-toggle:hover{background:#f9f9f9}.toggle-label{color:#666;font-size:.875rem;font-weight:500}.collapsible-content{background:#fafafa;border-top:1px solid #f0f0f0;padding:0 1.5rem 1.5rem}.details-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-item{gap:.25rem}.detail-item,.detail-item-full{display:flex;flex-direction:column}.detail-item-full{gap:.5rem;grid-column:1/-1}.detail-label{color:#666;font-size:.75rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.detail-value{color:#333;font-size:.875rem;font-weight:600}.detail-notes{color:#666;font-size:.875rem;line-height:1.5;margin:0}.detail-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.875rem;padding:.5rem;transition:all .2s}.detail-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.metric-section{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-top:1.5rem;padding:1rem}.metric-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.metric-section h3{color:#333;font-size:1rem;font-weight:600;margin:0}.edit-metric-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.375rem .75rem;transition:all .2s}.edit-metric-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.metric-display{gap:1rem}.metric-display,.metric-info{display:flex;flex-direction:column}.metric-info{gap:.5rem}.metric-name{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.metric-category{color:#666;font-size:.875rem;font-weight:400}.metric-description{margin:0}.metric-values{display:flex;flex-direction:column;gap:.75rem}.metric-value-row{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;display:flex;justify-content:space-between;padding:.5rem}.value-label{color:#666;font-size:.875rem;font-weight:500}.value-display{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:1rem;font-weight:600}.value-display.current{color:#007bff}.value-display.target{color:#28a745}.metric-progress-bar{background:#e0e0e0;border-radius:4px;height:8px;overflow:hidden;width:100%}.metric-progress-fill{background:#28a745;border-radius:4px;height:100%;transition:width .3s ease}.metric-progress-text{align-items:center;color:#666;display:flex;font-size:.875rem;justify-content:space-between}.achievement-badge{background:#28a745;border-radius:.25rem;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.metric-edit-form{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;flex-direction:column;gap:1rem;padding:1rem}.metric-edit-form .form-group{display:flex;flex-direction:column;gap:.5rem}.metric-edit-form label{color:#333;font-size:.875rem;font-weight:500}.metric-input,.metric-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;padding:.5rem;transition:border-color .2s}.metric-input:focus,.metric-select:focus{border-color:#6f42c1;outline:none}.metric-unit-hint{color:#666;font-size:.75rem;font-style:italic}.no-metric-message{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;text-align:center}.no-metric-message p{color:#666;font-size:.875rem;margin:.5rem 0}.no-metric-message .hint-text{color:#999;font-size:.75rem;font-style:italic}.refresh-metric-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s;width:fit-content}.refresh-metric-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.refresh-metric-btn:disabled{cursor:not-allowed;opacity:.5}.metric-loading{align-items:center;color:#666;display:flex;gap:.5rem;padding:1rem}.metric-error{color:#dc3545;font-size:.875rem;margin:0}.goal-detail-header{background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;gap:1rem;padding:1rem 1.5rem;position:sticky;position:relative;top:0;z-index:100}.back-btn,.goal-detail-header{align-items:center;display:flex}.back-btn{gap:.5rem;padding:.5rem 1rem;transition:all .2s}.goal-detail-header h1{color:#333;flex:1 1;font-size:1.5rem;font-weight:600;margin:0}.goal-title{margin:0!important}.header-actions{gap:.75rem}.action-btn-header{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.action-btn-header.edit-btn{background:#fff;color:#666}.action-btn-header.edit-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.action-btn-header.save-btn{background:#333;border-color:#333;color:#fff}.action-btn-header.save-btn:hover{background:#555;border-color:#555}.action-btn-header.cancel-btn{background:#fff;color:#666}.action-btn-header.cancel-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.goal-options-menu{margin-left:auto;position:relative;z-index:1002}.options-menu-btn{font-weight:600;height:36px;width:36px}.options-menu-overlay{cursor:default;z-index:999}.options-menu-dropdown{box-shadow:0 4px 12px #00000026;pointer-events:auto;z-index:1001}.options-menu-item{align-items:center;display:flex;font-weight:500;gap:.5rem;transition:all .2s}.options-menu-item:hover{background:#f5f5f5}.options-menu-item.delete-option:hover{background:#f8d7da;color:#721c24}.editable-title{border:2px solid #0000;border-radius:.25rem;cursor:pointer;margin:-.25rem -.5rem;padding:.25rem .5rem;transition:all .2s ease}.editable-title:hover{background:#f9f9f9;border-color:#e0e0e0}.editable-description{border:2px solid #0000;border-radius:.25rem;cursor:pointer;margin:-.75rem;padding:.75rem;transition:all .2s ease}.editable-description:hover{background:#f9f9f9;border-color:#e0e0e0}.editable-field{border:2px solid #0000;border-radius:.25rem;cursor:pointer;margin:-.25rem -.5rem;padding:.25rem .5rem;transition:all .2s ease}.editable-field:hover{background:#f9f9f9;border-color:#e0e0e0}.inline-edit-container{flex:1 1}.inline-edit-input{border:2px solid #333;box-shadow:0 0 0 2px #3333;font-family:inherit;outline:none;width:100%}.inline-edit-input,.title-input{font-size:1.5rem;font-weight:600}.inline-edit-textarea{border:2px solid #333;box-shadow:0 0 0 2px #3333;min-height:80px;outline:none}.inline-edit-date,.inline-edit-select{border:2px solid #333;box-shadow:0 0 0 2px #3333;font-family:inherit;font-weight:500;outline:none}.goal-detail-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.tab-navigation{background:#fff;border-bottom:1px solid #e0e0e0;display:flex;padding:0 1.5rem;position:sticky;top:0;z-index:10}.tab-btn{border-bottom:2px solid #0000;color:#666;font-size:.875rem;padding:1rem 1.5rem;white-space:nowrap}.tab-btn.active,.tab-btn:hover{background:#f9f9f9;color:#333}.tab-btn.active{border-bottom-color:#333}.tab-content{flex:1 1;overflow-y:auto;padding:1.5rem}.goal-overview{margin:0 auto;max-width:900px}.goal-hero{margin-bottom:2rem}.hero-description{color:#666;font-size:1rem;line-height:1.6;margin:0}.hero-description-edit{border:2px solid #e0e0e0;border-radius:.375rem;color:#333;font-family:inherit;font-size:1rem;line-height:1.6;padding:.75rem;resize:vertical;transition:all .2s;width:100%}.hero-description-edit:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.key-metrics-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:2rem}.metric-card{padding:1.25rem;text-align:center}.metric-card:hover{box-shadow:0 2px 8px #00000014;transform:translateY(-2px)}.metric-card-progress{grid-column:span 1}.metric-card-value{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:2rem;font-weight:700;margin-bottom:.5rem}.metric-card-label{color:#666;font-size:.875rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.metric-card-bar{background:#f0f0f0;border-radius:2px;height:4px;margin-top:.75rem;overflow:hidden}.metric-card-bar-fill{background:linear-gradient(90deg,#28a745,#20c997);border-radius:2px;height:100%;transition:width .3s ease}.quick-info-bar{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem;padding:1rem 1.5rem}.info-item,.quick-info-bar{align-items:center;display:flex}.info-item{gap:.5rem}.info-label{color:#666;font-size:.75rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.info-value{color:#333;font-size:.875rem;font-weight:600}.status-badge-inline{border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.info-item-edit{display:flex;flex-direction:column;gap:.25rem;min-width:150px}.info-item-edit label{color:#666;font-size:.75rem;font-weight:500;text-transform:uppercase}.info-input,.info-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.875rem;padding:.5rem;transition:all .2s}.info-input:focus,.info-select:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.goal-header-info{align-items:flex-start;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin-bottom:2rem}.goal-title-section{flex:1 1;min-width:300px}.goal-actions{flex-shrink:0;gap:.75rem}.goal-title-section h2{font-size:2.2rem;font-weight:700;line-height:1.2;margin:0 0 .75rem}.goal-status-badge{border-radius:25px;box-shadow:0 2px 8px #0003;color:#fff;font-size:.9rem;font-weight:700;letter-spacing:.5px;padding:.5rem 1.25rem;text-transform:uppercase}.goal-description{font-size:1rem;line-height:1.6;margin-bottom:1.5rem}.goal-meta-info{grid-gap:1rem;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 4px #0000000d;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:1.5rem;padding:1.5rem}.meta-item{flex-direction:column;gap:.25rem}.meta-item label{color:#666;font-size:.75rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.meta-item span{color:#333;font-size:1rem;font-weight:600}.progress-section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 4px #0000000d;margin-bottom:1.5rem;padding:1.5rem}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.progress-header h3{color:#333;font-size:1rem;font-weight:500;margin:0}.progress-bar-large{background:#f0f0f0;border-radius:2px;height:4px;margin-bottom:1rem;overflow:hidden}.progress-fill-large{background:#333;border-radius:2px;height:100%;position:relative;transition:width .3s ease}.progress-fill-large.calculated{background:#28a745;z-index:2}.progress-fill-large.manual{background:#666;opacity:.7;z-index:1}.progress-display{gap:.5rem}.progress-percentage.calculated{color:#28a745;font-weight:600}.progress-percentage.manual{color:#666;font-size:.75rem}.progress-breakdown{border-top:1px solid #f0f0f0;margin-top:1.5rem;padding-top:1.5rem}.progress-breakdown h4{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500;margin:0 0 1rem}.breakdown-grid{display:flex;flex-direction:column;gap:1rem}.breakdown-item{background:#fafafa;border:1px solid #f0f0f0;border-radius:.375rem;padding:1rem;transition:all .2s ease}.breakdown-item:hover{border-color:#e0e0e0;box-shadow:0 1px 3px #0000001a}.breakdown-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.breakdown-label{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;font-weight:400}.breakdown-score{color:#333;font-size:.875rem;font-weight:600}.breakdown-bar{background:#f0f0f0;border-radius:3px;height:6px;margin-bottom:.75rem;overflow:hidden}.breakdown-fill{border-radius:3px;height:100%;transition:width .3s ease}.breakdown-fill.habits{background:linear-gradient(90deg,#28a745,#20c997)}.breakdown-fill.tasks{background:linear-gradient(90deg,#007bff,#0056b3)}.breakdown-fill.time{background:linear-gradient(90deg,#ffc107,#e0a800)}.breakdown-fill.metric{background:linear-gradient(90deg,#6f42c1,#9b59b6)}.breakdown-details{color:#666;display:flex;font-size:.75rem;justify-content:space-between}.breakdown-contribution,.breakdown-weight{font-weight:500}.breakdown-metric-name{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-weight:500}.breakdown-item.metric-based{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #6f42c1}.metric-progress-note{border-top:1px solid #e0e0e0;margin-top:.75rem;padding-top:.75rem}.metric-progress-note p{color:#666;font-size:.75rem;margin:.25rem 0}.metric-values-summary{color:#6f42c1!important;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-weight:600}.progress-summary{border-top:1px solid #f0f0f0;margin-top:1.5rem;padding-top:1.5rem}.summary-stats{display:flex;flex-direction:column;gap:.75rem}.summary-item{align-items:center;display:flex;justify-content:space-between;padding:.5rem 0}.summary-label{color:#666;font-size:.875rem;font-weight:500}.summary-value{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:600}.progress-update-section{margin-top:1rem}.progress-update-section label{display:block;font-weight:500;margin-bottom:.5rem}.progress-slider-large{appearance:none;background:#ffffff4d;border-radius:4px;cursor:pointer;height:8px;outline:none;width:100%}.progress-slider-large::-webkit-slider-thumb{appearance:none;background:#28a745;border-radius:50%;box-shadow:0 2px 6px #0000004d;cursor:pointer;height:20px;width:20px}.progress-slider-large::-moz-range-thumb{background:#28a745;border:none;border-radius:50%;box-shadow:0 2px 6px #0000004d;cursor:pointer;height:20px;width:20px}.notes-section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem}.notes-section h3{color:#333;font-size:1rem;font-weight:500;margin:0 0 .75rem}.notes-section p{color:#666;line-height:1.6;margin:0}.loading-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;position:fixed;z-index:1000}.loading-overlay p{color:#fff;font-size:1.1rem;font-weight:500;margin:0}.section-header{margin-bottom:1.5rem}.section-header h3{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:500;margin:0}.add-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.add-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.delete-btn,.edit-btn{align-items:center;display:flex;font-weight:500;gap:.5rem;padding:.5rem 1rem;text-decoration:none}.edit-btn{color:#666}.delete-btn{color:#dc3545}.delete-btn,.delete-btn:hover{border-color:#dc3545}.delete-btn-confirm{background:#e74c3c!important;border:none!important;border-radius:8px;color:#fff!important;cursor:pointer;font-weight:600;padding:.75rem 2rem;transition:all .2s}.delete-btn-confirm:hover:not(:disabled){background:#c0392b!important;transform:translateY(-1px)}.delete-btn-confirm:disabled{cursor:not-allowed;opacity:.6;transform:none}.cancel-btn{background:#f8f9fa!important;border:1px solid #dee2e6!important;border-radius:8px;color:#666!important;font-weight:600;padding:.75rem 2rem;transition:all .2s}.cancel-btn:hover{background:#e9ecef!important;color:#333!important}.plan-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:15px;padding:2rem}.plan-header h4{font-size:1.3rem;margin:0 0 .5rem}.plan-header p{line-height:1.5;margin:0 0 2rem;opacity:.9}.plan-steps h5{font-size:1.1rem;margin:0 0 1rem;opacity:.9}.plan-step{background:#ffffff1a;border-radius:10px;display:flex;gap:1rem;margin-bottom:1rem;padding:1rem;transition:all .2s}.plan-step:hover{background:#ffffff26}.plan-step.completed{opacity:.7}.plan-step.completed .step-content h6{text-decoration:line-through}.step-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.step-content{flex:1 1}.step-content h6{font-size:1rem;font-weight:600;margin:0 0 .5rem}.step-content p{font-size:.9rem;margin:0 0 .5rem;opacity:.8}.step-meta{display:flex;font-size:.8rem;gap:1rem;opacity:.7}.habits-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.habit-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;flex-direction:column;overflow:hidden;transition:all .2s ease}.habit-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.habit-card-content{flex:1 1;padding:1rem}.habit-card-content.clickable{cursor:pointer;transition:background-color .2s ease}.habit-card-content.clickable:hover{background-color:#f9f9f9}.habit-card-actions{align-items:center;background-color:#fafafa;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;padding:.5rem 1rem}.habit-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.habit-header h4{color:#333;font-size:1rem;font-weight:600;margin:0}.habit-status{border-radius:.25rem;color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.habit-status.active{background:#28a745}.habit-status.inactive{background:#6c757d}.habit-card p{color:#666;font-size:.875rem;line-height:1.4;margin:0 0 .75rem}.habit-stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.stat{display:flex;flex-direction:column;gap:.25rem}.stat label{color:#666;font-size:.75rem;font-weight:500}.stat span{color:#333;font-size:.875rem;font-weight:600}.empty-state p{margin:0 auto}.modal-overlay{background:#000000b3}.modal-content{box-shadow:0 2px 4px #0000000d;color:#333;max-width:650px}.delete-confirm-modal{max-width:500px}.delete-confirm-modal .modal-body{text-align:center}.warning-text{color:#e74c3c;font-size:.9rem;font-weight:600;margin-top:.5rem}.modal-header{background:#fff;border-radius:.5rem .5rem 0 0}.modal-header h3{font-size:1.25rem;font-weight:600}.modal-header .close-btn{background:none;border:none;border-radius:50%;color:#666;cursor:pointer;font-size:1.5rem;padding:.25rem;transition:all .2s}.modal-header .close-btn:hover{background:#f5f5f5;color:#333}.form-group input,.form-group select,.form-group textarea{font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;box-shadow:0 0 0 2px #3333}.form-actions{border-top:1px solid #eee}.form-actions button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .2s}.form-actions button[type=button]:first-child{background:#f8f9fa;border:1px solid #dee2e6;color:#666}.form-actions button[type=button]:first-child:hover{background:#e9ecef;color:#333}.form-actions button[type=button]:last-child{background:#333;color:#fff}.form-actions button[type=button]:last-child:hover{background:#666}.steps-section{margin-top:1.5rem}.steps-section h4{color:#333;font-size:1.2rem;margin:0 0 1rem}.add-step-form{grid-gap:.5rem;align-items:end;display:grid;gap:.5rem;grid-template-columns:1fr 1fr auto auto;margin-bottom:1rem}.add-step-form input{border:1px solid #ddd;border-radius:4px;padding:.5rem}.add-step-form button{background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem}.add-step-form button:hover{background:#5a67d8}.steps-preview{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem}.step-preview{border-bottom:1px solid #e9ecef;padding:.5rem 0}.step-preview:last-child{border-bottom:none}.step-preview span{color:#333;font-weight:500}.step-preview small{color:#666;display:block;margin-top:.25rem}.goal-tasks{margin:0 auto;max-width:1000px}.tasks-list-compact{display:flex;flex-direction:column;gap:.75rem}.task-item-compact{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.task-item-compact:hover{background:#fafafa;border-color:#ccc;box-shadow:0 1px 3px #0000001a}.task-item-compact.completed{background:#f9f9f9;opacity:.7}.task-item-compact.completed .task-title-compact{color:#999;text-decoration:line-through}.task-item-compact.overdue{border-left:3px solid #dc3545}.task-item-main{align-items:center;display:flex;flex:1 1;gap:1rem;min-width:0}.task-status-icon-compact{align-items:center;display:flex;flex-shrink:0;font-size:1.25rem;height:32px;justify-content:center;width:32px}.task-content-compact{flex:1 1;min-width:0}.task-title-compact{color:#333;font-size:1rem;font-weight:600;margin:0 0 .25rem}.task-description-compact,.task-title-compact{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-description-compact{color:#666;font-size:.875rem;margin:0 0 .5rem}.task-meta-compact{color:#666;display:flex;flex-wrap:wrap;font-size:.75rem;gap:1rem}.task-due-date-compact{font-weight:500}.task-due-date-compact.overdue{color:#dc3545;font-weight:600}.task-assigned-date-compact{font-weight:500}.task-status-text-compact{background:#f0f0f0;border-radius:12px;font-weight:500;padding:.125rem .5rem;text-transform:capitalize}.task-actions-compact{display:flex;flex-shrink:0;gap:.5rem}.delete-task-btn-compact,.toggle-status-btn-compact{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;padding:.5rem;transition:all .2s ease;width:36px}.toggle-status-btn-compact:hover{background:#d4edda;border-color:#28a745;color:#28a745}.delete-task-btn-compact:hover{background:#f8d7da;border-color:#dc3545;color:#dc3545}.tasks-list{grid-gap:1.5rem;display:grid;gap:1.5rem;margin-bottom:2rem}.task-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 4px #0000000d;overflow:hidden;padding:1rem;position:relative;transition:all .2s ease}.task-card:before{background:#6c757d;background:var(--task-accent-color,#6c757d);content:"";height:3px;left:0;position:absolute;right:0;top:0;transition:background .2s ease}.task-card.todo:before{background:#6c757d}.task-card.in_progress:before{background:#007bff}.task-card.completed:before{background:#28a745}.task-card.on_hold:before{background:#ffc107}.task-card.cancelled:before{background:#dc3545}.task-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.task-card.completed{opacity:.8}.task-card.cancelled{opacity:.7}.task-header{align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.task-title-section{align-items:center;display:flex;flex:1 1;gap:.75rem;min-width:250px}.task-status-icon{align-items:center;background:#ffffff1a;border-radius:50%;display:flex;flex-shrink:0;font-size:1.2rem;height:32px;justify-content:center;width:32px}.task-title-section h4{flex:1 1;font-size:1.2rem;font-weight:600;line-height:1.3;margin:0}.clickable-title{border-radius:8px;cursor:pointer;margin:-.25rem -.5rem;padding:.25rem .5rem;transition:all .2s ease}.clickable-title:hover{background:#ffffff1a;transform:translateX(2px)}.task-status-badge{align-items:center;border-radius:20px;box-shadow:0 2px 8px #0003;color:#fff;display:inline-flex;flex-shrink:0;font-size:.8rem;font-weight:700;letter-spacing:.5px;padding:.4rem 1rem;text-transform:uppercase}.task-actions{flex-shrink:0;gap:.5rem}.action-btn,.task-actions{align-items:center;display:flex}.action-btn{height:32px;justify-content:center;padding:.5rem;width:32px}.action-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.start-btn:hover{background:#e3f2fd;border-color:#007bff;color:#007bff}.complete-btn:hover{border-color:#28a745;color:#28a745}.hold-btn:hover{border-color:#ffc107}.action-btn.delete-btn:hover{background:#f8d7da;border-color:#dc3545;color:#dc3545}.task-description{background:#fafafa;border-left:3px solid #e0e0e0;border-radius:.25rem;color:#666;font-size:.875rem;line-height:1.5;margin:0 0 1rem;padding:.75rem}.task-meta{grid-gap:.75rem;border-top:1px solid #f0f0f0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding-top:1rem}.task-meta .meta-item{display:flex;flex-direction:column;gap:.25rem}.task-meta .meta-item label{color:#666;font-size:.75rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.task-meta .meta-item span{color:#333;font-size:.875rem;font-weight:600}.task-meta .overdue{color:#dc3545;font-weight:700}.task-detail-modal{max-width:600px}.task-detail-content{margin-bottom:2rem}.detail-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.detail-section label{color:#666;font-size:.85rem;font-weight:700}.detail-section p,.detail-section span{color:#333;font-size:1rem;font-weight:500;margin:0}.detail-section .status-badge{align-items:center;border-radius:20px;color:#fff;display:inline-flex;font-size:.85rem;font-weight:700;gap:.5rem;padding:.5rem 1rem;width:fit-content}.task-detail-actions{border-top:1px solid #eee;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;padding-top:1.5rem}.task-detail-actions .action-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;height:auto;padding:.75rem 1.5rem;transition:all .3s ease;width:auto}.task-detail-actions .action-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.task-detail-actions .start-btn{background:linear-gradient(135deg,#007bff,#0056b3)}.task-detail-actions .start-btn:hover{box-shadow:0 6px 20px #007bff66}.task-detail-actions .complete-btn{background:linear-gradient(135deg,#28a745,#1e7e34)}.task-detail-actions .complete-btn:hover{box-shadow:0 6px 20px #28a74566}.task-detail-actions .hold-btn{background:linear-gradient(135deg,#ffc107,#e0a800);color:#333}.task-detail-actions .hold-btn:hover{box-shadow:0 6px 20px #ffc10766}.task-detail-actions .delete-btn{background:linear-gradient(135deg,#dc3545,#c82333)}.task-detail-actions .delete-btn:hover{box-shadow:0 6px 20px #dc354566}.small-btn{border-radius:15px;font-size:.8rem;height:auto;min-width:auto;padding:.375rem .75rem;width:auto}@media (max-width:768px){.goal-detail-header{flex-wrap:wrap;padding:1rem}.goal-detail-header h1{font-size:1.25rem}.header-actions{justify-content:flex-end;margin-top:.75rem;order:3;width:100%}.options-menu-btn{font-size:1rem;height:32px;width:32px}.goal-hero,.key-metrics-cards{margin-bottom:1.5rem}.key-metrics-cards{gap:.75rem;grid-template-columns:repeat(2,1fr)}.metric-card{padding:1rem}.metric-card-value{font-size:1.5rem}.metric-card-label{font-size:.75rem}.quick-info-bar{gap:1rem;padding:.75rem 1rem}.info-item{font-size:.8125rem}.info-label{font-size:.7rem}.info-value{font-size:.8125rem}.status-badge-inline{font-size:.7rem;padding:.2rem .6rem}.collapsible-toggle{padding:.75rem 1rem}.collapsible-content{padding:0 1rem 1rem}.details-grid{grid-template-columns:1fr}.tab-navigation{overflow-x:auto;padding:0 1rem}.tab-content{padding:1rem}.goal-header-info{align-items:flex-start;flex-direction:column}.goal-meta-info{grid-template-columns:1fr;padding:1rem}.progress-section{padding:1rem}.breakdown-grid{gap:.75rem}.breakdown-item{padding:.75rem}.summary-stats{gap:.5rem}.add-step-form,.habits-list{grid-template-columns:1fr}.add-step-form{gap:.75rem}.modal-content{margin:.5rem;max-height:95vh}.modal-body{padding:1.5rem}.modal-header{padding:1rem 1.5rem}.task-item-compact{align-items:stretch;flex-direction:column;gap:.75rem;padding:.875rem}.task-item-main{gap:.75rem}.task-status-icon-compact{font-size:1.1rem;height:28px;width:28px}.task-title-compact{font-size:.9375rem;white-space:normal}.task-description-compact{font-size:.8125rem;white-space:normal}.task-meta-compact{gap:.75rem}.task-actions-compact{justify-content:flex-end}.delete-task-btn-compact,.toggle-status-btn-compact{font-size:.875rem;height:32px;width:32px}.task-header{align-items:stretch;flex-direction:column;gap:1rem}.task-title-section{flex-wrap:wrap;min-width:auto}.task-actions{flex-wrap:wrap;justify-content:center}.task-meta{grid-template-columns:1fr}.task-detail-actions{flex-direction:column}.task-detail-actions .action-btn{justify-content:center;width:100%}}@media (max-width:480px){.section-header{align-items:flex-start;flex-direction:column;gap:1rem}.habit-stats,.key-metrics-cards{grid-template-columns:1fr}.key-metrics-cards{gap:.75rem}.metric-card{padding:1rem}.quick-info-bar{align-items:flex-start;flex-direction:column;gap:.75rem}.info-item,.info-item-edit{width:100%}.header-actions{gap:.5rem}.action-btn-header{flex:1 1;font-size:.8125rem;padding:.5rem}.form-actions{flex-direction:column}.form-actions button{width:100%}.task-item-compact{padding:.75rem}.task-item-main{gap:.5rem}.task-status-icon-compact{font-size:1rem;height:24px;width:24px}.task-title-compact{font-size:.875rem}.task-description-compact{font-size:.75rem}.task-meta-compact{font-size:.7rem;gap:.5rem}.delete-task-btn-compact,.toggle-status-btn-compact{height:30px;padding:.375rem;width:30px}.task-card{padding:1rem}.task-title-section{gap:.5rem}.task-status-icon{font-size:1rem;height:28px;width:28px}.task-title-section h4{font-size:1.1rem}.task-status-badge{font-size:.7rem;padding:.3rem .75rem}.action-btn{font-size:.9rem;height:32px;width:32px}.task-description{font-size:.9rem;padding:.75rem}}.habit-actions{display:flex;gap:.5rem}.linked-habit{border-left:4px solid #28a745}.habit-controls{align-items:center;display:flex;gap:.5rem}.unlink-btn{background:#dc35451a;border:1px solid #dc35454d;border-radius:12px;color:#dc3545;cursor:pointer;font-size:.8rem;padding:.25rem .5rem;transition:all .2s}.unlink-btn:hover{background:#dc354533;transform:translateY(-1px)}.link-habits-modal .modal-content{display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden}.search-section{margin-bottom:1rem}.search-input{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:8px;color:#fff;font-size:1rem;padding:.75rem;width:100%}.search-input::placeholder{color:#ffffffb3}.available-habits-list{margin-bottom:1rem;max-height:400px;overflow-y:auto}.habit-option{align-items:flex-start;border:1px solid #fff3;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;margin-bottom:.5rem;padding:1rem;transition:all .2s}.habit-option:hover{background:#ffffff1a;border-color:#fff6}.habit-option input[type=checkbox]{margin-top:.25rem;transform:scale(1.2)}.habit-option-label{cursor:pointer;flex:1 1;margin:0}.habit-info h5{font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.habit-info p{color:#fffc;font-size:.9rem;margin:0 0 .5rem}.habit-meta{color:#ffffffb3;display:flex;font-size:.8rem;gap:1rem}.habit-meta span{background:#ffffff1a;border-radius:12px;padding:.25rem .5rem}.subgoal-detail-modal{max-width:600px}.subgoal-detail-content{margin-bottom:2rem}.detail-section{border-bottom:1px solid #f0f0f0;margin-bottom:1.5rem;padding-bottom:1rem}.detail-section:last-child{border-bottom:none;margin-bottom:0}.detail-section label{color:#333;display:block;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.detail-section p{color:#666;line-height:1.5;margin:0}.detail-section span{color:#333;font-weight:500}.status-badge{border-radius:20px;display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase}.progress-display{align-items:center;display:flex;gap:1rem}.progress-display .progress-bar{background:#f0f0f0;border-radius:6px;flex:1 1;height:12px;overflow:hidden}.progress-display .progress-fill{background:linear-gradient(90deg,#28a745,#20c997);height:100%;transition:width .3s ease}.progress-display span{color:#333;font-weight:600;min-width:50px;text-align:right}.subgoal-detail-actions{border-top:1px solid #f0f0f0;display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem}.subgoal-detail-actions .action-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.subgoal-detail-actions .edit-btn{background:#007bff;color:#fff}.subgoal-detail-actions .edit-btn:hover{background:#0056b3;transform:translateY(-1px)}.subgoal-detail-actions .delete-btn{background:#dc3545;color:#fff}.subgoal-detail-actions .delete-btn:hover{background:#c82333;transform:translateY(-1px)}.goal-timelogs{margin:0 auto;max-width:1000px}.timer-section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 4px #0000000d;margin-bottom:2rem;padding:2rem;text-align:center}.timer-display{margin-bottom:1.5rem}.timer-time{font-weight:700}.timer-status{font-size:1rem;font-weight:500}.timer-controls{justify-content:center}.timer-btn{align-items:center;border:none;border-radius:.5rem;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;transition:all .3s ease}.timer-btn.start-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.timer-btn.start-btn:hover{box-shadow:0 6px 20px #28a74566;transform:translateY(-2px)}.timer-btn.stop-btn{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.timer-btn.stop-btn:hover{box-shadow:0 6px 20px #dc354566;transform:translateY(-2px)}.timelog-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{box-shadow:0 2px 4px #0000000d;padding:1.5rem}.stat-value{font-size:2rem;font-weight:700;margin-bottom:.5rem}.timelogs-list{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 4px #0000000d;padding:1.5rem}.timelogs-list h4{color:#333;font-size:1.2rem;font-weight:600;margin:0 0 1.5rem}.timelogs-grid{grid-gap:1rem;display:grid;gap:1rem}.timelog-card{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;position:relative;transition:all .2s ease}.timelog-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.timelog-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.timelog-duration{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.5rem;font-weight:700}.timelog-type{background:#f0f0f0;border-radius:12px;color:#666;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.timelog-details{margin-bottom:.75rem}.timelog-date{color:#333;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.timelog-time{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;margin-bottom:.5rem}.timelog-description{background:#fff;border-left:3px solid #e0e0e0;border-radius:.25rem;color:#666;font-size:.875rem;line-height:1.4;padding:.5rem}.timelog-actions{display:flex;gap:.5rem;justify-content:flex-end}@media (max-width:768px){.timer-section{padding:1.5rem}.timer-time{font-size:2.5rem}.timer-controls{align-items:center;flex-direction:column}.timer-btn{justify-content:center;max-width:200px;width:100%}.timelog-stats{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:1.5rem}.timelog-header{align-items:flex-start;flex-direction:column;gap:.5rem}.timelog-duration{font-size:1.25rem}}@media (max-width:480px){.timelog-stats{grid-template-columns:1fr}.timer-time{font-size:2rem}.stat-value{font-size:1.25rem}}.goal-notes{margin:0 auto;max-width:1000px}.goal-notes .section-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.goal-notes .note-id{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:12px;color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;padding:.25rem .75rem}.goal-note-editor{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 4px #0000000d;margin-bottom:1.5rem;min-height:400px;transition:all .2s ease}.goal-note-editor:focus-within{border-color:#333;box-shadow:0 0 0 2px #3333}.goal-note-editor .block-editor{min-height:360px;padding:1.5rem}.goal-note-editor .block-editor-empty{align-items:center;color:#666;cursor:text;display:flex;font-style:italic;justify-content:center;min-height:360px;transition:all .2s ease}.goal-note-editor .block-editor-empty:hover{background:#f9f9f9}.goal-note-editor .block-editor-empty p{color:#999;font-size:1rem;margin:0}.note-loading{min-height:360px}.note-loading p{color:#666;font-size:.875rem;margin:0}.sync-status-inline{display:flex;justify-content:flex-end;opacity:0;padding:.75rem 0;transition:opacity .3s ease}.sync-status-inline.error,.sync-status-inline.syncing{opacity:1}.sync-status-inline.synced{opacity:.7}.sync-indicator{align-items:center;color:#666;display:flex;font-size:.75rem;font-weight:500;gap:.5rem}.sync-spinner{animation:spin 1s linear infinite;color:#666;font-size:.875rem}.sync-check{color:#28a745}.sync-check,.sync-error{font-size:.875rem;font-weight:600}.sync-error{color:#dc3545}.goal-history{padding:1.5rem}.goal-history .section-header{margin-bottom:1.5rem}.goal-history .section-header h3{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400;margin:0}.history-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:3rem}.history-loading .loading-spinner{margin-bottom:1rem}.history-chart{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:2rem;padding:1rem}.history-chart-container{height:300px;width:100%}.history-list{margin-top:2rem}.history-list h4{color:#666;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.history-table{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;overflow:hidden}.history-table-header{background:#f5f5f5;border-bottom:1px solid #e0e0e0;color:#666;display:grid;font-size:.75rem;font-weight:600;grid-template-columns:1.5fr 1fr 1fr 1fr 1.5fr;letter-spacing:.5px;padding:.75rem 1rem;text-transform:uppercase}.history-table-header.has-metric{grid-template-columns:1.5fr 1fr 1fr 1fr 1.5fr 1.5fr}.history-table-body{display:flex;flex-direction:column}.history-table-row{border-bottom:1px solid #f0f0f0;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.5fr;padding:.75rem 1rem;transition:background-color .2s ease}.history-table-row.has-metric{grid-template-columns:1.5fr 1fr 1fr 1fr 1.5fr 1.5fr}.history-table-row:last-child{border-bottom:none}.history-table-row:hover{background:#f9f9f9}.history-table-cell{align-items:center;color:#333;display:flex;font-size:.875rem;padding:.25rem 0}.history-table-cell:first-child{font-weight:500}.progress-value{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-weight:600}.method-badge{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;display:inline-block;font-size:.75rem;padding:.25rem .5rem}@media (max-width:768px){.goal-history{padding:1rem}.history-chart-container{height:250px}.history-table-header,.history-table-row{gap:.5rem;grid-template-columns:1fr 1fr}.history-table-cell{font-size:.8125rem}.history-table-cell:nth-child(odd){color:#666;font-weight:600}}@media (max-width:480px){.history-chart-container{height:200px}.history-table-cell{font-size:.75rem}}@media (max-width:768px){.goal-notes{margin:0}.goal-note-editor{margin-bottom:1rem;min-height:300px}.goal-note-editor .block-editor{min-height:260px;padding:1rem}.goal-note-editor .block-editor-empty,.note-loading{min-height:260px}.goal-notes .section-header{align-items:flex-start;flex-direction:column;gap:.75rem;margin-bottom:1rem}.goal-notes .note-id{font-size:.75rem;padding:.25rem .5rem}}@media (max-width:480px){.goal-note-editor{min-height:250px}.goal-note-editor .block-editor{min-height:210px;padding:.75rem}.goal-note-editor .block-editor-empty,.note-loading{min-height:210px}.sync-status-inline{padding:.5rem 0}.sync-indicator{font-size:.7rem}}.loading-overlay{gap:1rem;padding:3rem}.empty-state{margin:0 auto;max-width:500px}.empty-state h3{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.empty-state p{font-size:1rem;line-height:1.5;margin-bottom:2rem}.goals-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin:0 auto;max-width:1200px}.goal-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;padding:1rem;transition:all .2s ease}.goal-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.goal-card-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.75rem}.goal-card-header h3{color:#333;flex:1 1;font-size:1rem;margin:0}.goal-card-header h3,.goal-status-badge{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500}.goal-status-badge{border-radius:.25rem;display:inline-block;flex-shrink:0;font-size:.75rem;padding:.25rem .5rem;white-space:nowrap}.goal-progress{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.goal-progress-bar{flex:1 1}.goal-progress-text{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;font-weight:500;min-width:35px;text-align:right}.goal-dates{align-items:center;display:flex;justify-content:space-between}.goal-dates small{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem}@media (max-width:768px){.goals-grid{gap:.75rem;grid-template-columns:1fr}.empty-state{padding:2rem 1rem}}@media (max-width:480px){.goal-card{padding:.75rem}.goal-card-header{align-items:flex-start;flex-direction:column;gap:.5rem}}.goal-edit-page{background:#fff;color:#333;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;overflow:hidden}.goal-edit-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;display:flex;gap:1rem;padding:1rem 1.5rem;position:sticky;top:0;z-index:100}.goal-edit-header h1{color:#333;flex:1 1;font-size:1.5rem;font-weight:600;margin:0}.goal-edit-content{background:#fafafa;flex:1 1;overflow-y:auto;padding:2rem}.edit-form{margin:0 auto;max-width:800px}.form-section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1.5rem;padding:1.5rem}.form-section h2{color:#333;font-size:1rem;font-weight:600;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.form-section-description{color:#666;font-size:.875rem;line-height:1.5;margin:0 0 1rem}.form-group{margin-bottom:1.5rem}.form-group label{font-weight:600}.form-input,.form-select,.form-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:inherit;font-size:1rem;padding:.75rem;transition:all .2s ease;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.form-textarea{line-height:1.5;min-height:100px;resize:vertical}.form-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23333' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;cursor:pointer;padding-right:2.5rem}.form-hint{color:#666;font-size:.75rem;font-style:italic;margin:.5rem 0 0}.form-actions{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;bottom:0;box-shadow:0 -2px 4px #0000000d;margin-top:2rem;padding:1.5rem;position:sticky}.cancel-btn,.save-btn{border:none;font-size:1rem;font-weight:600;padding:.75rem 2rem}.cancel-btn{background:#f8f9fa}.cancel-btn:hover:not(:disabled){background:#e9ecef;color:#333}.save-btn:hover:not(:disabled){background:#555;box-shadow:0 2px 4px #0003;transform:translateY(-1px)}.cancel-btn:disabled,.save-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.error-banner,.success-banner{align-items:center;border-bottom:1px solid;display:flex;justify-content:space-between;padding:1rem 1.5rem}.error-banner{border-color:#f5c6cb}.success-banner{background:#d4edda;border-color:#c3e6cb;color:#155724}.error-banner button,.success-banner button{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.25rem;transition:all .2s ease}.success-banner button{color:#155724}.error-banner button:hover,.success-banner button:hover{opacity:.7}.auth-required,.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.auth-required p,.error-container p,.loading-container p{color:#666;font-size:1rem;margin:0}.back-to-goals-btn{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;margin-top:1rem;padding:.75rem 1.5rem;transition:all .2s ease}.back-to-goals-btn:hover{background:#555;transform:translateY(-1px)}@media (max-width:768px){.form-section,.goal-edit-content{padding:1rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;gap:.75rem;padding:1rem}.cancel-btn,.save-btn{width:100%}}@media (max-width:480px){.goal-edit-header{padding:1rem}.goal-edit-header h1{font-size:1.25rem}.form-section,.goal-edit-content{padding:.75rem}.form-section{margin-bottom:1rem}.form-section h2{font-size:.875rem}.form-group{margin-bottom:1rem}.form-input,.form-select,.form-textarea{font-size:.9375rem;padding:.625rem}}.goal-management{background:#fff;color:#333;display:flex;flex-direction:column;height:100%;overflow:hidden}.goal-header{background:#fff;border-bottom:1px solid #e0e0e0;padding:1.5rem}.menu-btn{margin-right:1rem}.goal-header h1,.menu-btn{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.goal-header h1{color:#333;font-size:1.5rem;font-weight:600;margin:0}.add-goal-btn{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:.75rem 1rem;transition:all .2s}.add-goal-btn.primary{background:#333;border-color:#333;color:#fff;font-size:.875rem;padding:.75rem 1.5rem}.add-goal-btn.primary:hover{background:#000;border-color:#000}.goal-content{background:#fff;flex:1 1;overflow-y:auto;padding:1.5rem}.goal-content:has(.goal-map-graph-container){overflow:hidden;padding:0}.goal-form-modal{color:#333}.goal-form{padding:1.5rem}.form-group textarea{line-height:1.5;min-height:100px}.form-actions{padding-top:1rem}.cancel-btn,.submit-btn{border-radius:.25rem;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.submit-btn{border:1px solid #333}.submit-btn:hover:not(:disabled){background:#000;border-color:#000}.submit-btn:disabled{opacity:.6}@media (max-width:768px){.goal-header{flex-wrap:wrap;gap:1rem;padding:1rem}.goal-header h1{font-size:1.25rem}.goal-content{padding:1rem}.modal-content{margin:.5rem;max-height:95vh}.goal-form,.modal-header{padding:1rem}}@media (max-width:480px){.goal-content,.goal-header{padding:.75rem}.form-actions{flex-direction:column-reverse}.cancel-btn,.submit-btn{width:100%}}.goal-management-menu-container{position:relative}.goal-management-menu-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;line-height:1;min-width:36px;padding:.5rem .75rem;transition:all .2s ease}.goal-management-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.goal-management-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 4px #0000001a;margin-top:.25rem;min-width:150px;position:absolute;right:0;top:100%;z-index:1000}.goal-management-menu-item{background:none;border:none;color:#333;cursor:pointer;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.goal-management-menu-item:hover{background:#f5f5f5}.goal-management-menu-item.active{background:#f9f9f9;color:#333;font-weight:500}.goal-management-menu-separator{background:#f0f0f0;height:1px;margin:.25rem 0}.goal-map-graph-container{background:#fff;flex:1 1;height:100%;overflow:hidden;position:relative;width:100%}.goal-map-graph-empty{color:#666;font-size:1rem;padding:3rem 1.5rem;text-align:center}.goal-map-graph-zoom-controls{bottom:1rem;display:flex;flex-direction:column;gap:.5rem;position:absolute;right:1rem;z-index:100}.goal-map-graph-zoom-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 4px #0000000d;color:#666;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.25rem;font-weight:500;height:36px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:36px}.goal-map-graph-zoom-btn:hover{background:#f5f5f5;border-color:#ccc;box-shadow:0 2px 6px #0000001a;color:#333}.goal-map-graph-zoom-btn:active{background:#f0f0f0;transform:scale(.95)}.goal-dependency-form-modal{color:#333}.page-header{background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;justify-content:space-between;padding:1rem 1.5rem;position:sticky;top:0;transition:box-shadow .2s ease;z-index:1001}.page-header,.page-header-left{align-items:center;display:flex}.page-header-left{gap:.5rem}.page-header-menu-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;font-weight:500;height:40px;justify-content:center;padding:.5rem;transition:all .2s;width:40px}.page-header-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.page-header-center{align-items:center;color:#333;display:flex;flex:1 1;font-size:1rem;font-weight:500;justify-content:center}.page-header-center.clickable{border-radius:.25rem;cursor:pointer;margin:-.5rem;padding:.5rem;transition:background-color .2s}.page-header-center.clickable:hover{background:#f5f5f5}.page-header-center-title{color:#333;font-size:1.5rem;font-weight:600;margin:0}.page-header-center-date{align-items:center;display:flex;gap:.5rem}.page-header-date-arrow{color:#666;font-size:.75rem;transform:translateY(-1px);transition:transform .2s ease,color .2s ease}.page-header-center.clickable:hover .page-header-date-arrow{color:#333;transform:translateY(0)}.page-header-actions{align-items:center;display:flex;gap:.5rem;position:relative;z-index:1}.page-header-action-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.page-header-action-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.page-header-icon-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.5rem;font-weight:700;height:40px;justify-content:center;padding:.5rem;transition:all .2s;width:40px}.page-header-icon-btn:hover{background:#f5f5f5;color:#333}@media (max-width:768px){.page-header{padding:1rem}.page-header-center-title{font-size:1.25rem}.page-header-center{font-size:.9375rem}}@media (max-width:480px){.page-header{padding:.75rem 1rem}.page-header-menu-btn{font-size:1.125rem;height:36px;width:36px}.page-header-icon-btn{font-size:1.375rem;height:36px;width:36px}.page-header-action-btn{font-size:.8125rem;padding:.375rem .625rem}.page-header-center{font-size:.875rem}.page-header-center-title{font-size:1.125rem}}.life-okr{background:#fff;color:#333;display:flex;flex-direction:column;height:100%;overflow:hidden}.life-okr-content{background:#fff;flex:1 1;overflow-y:auto;padding:1.5rem 1.5rem 4rem}.auth-required{padding:4rem 2rem}.error-banner{align-items:center;background:#f8d7da;border-bottom:1px solid #f5c6cb;color:#721c24;display:flex;justify-content:space-between;padding:1rem 1.5rem}.error-banner button{background:none;border:none;border-radius:.25rem;color:#721c24;cursor:pointer;font-size:1.2rem;padding:.25rem;transition:background-color .2s}.error-banner button:hover{background:#721c241a}.loading-overlay{color:#666;padding:4rem 2rem}.life-okr-menu-container{position:relative}.life-okr-menu-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;line-height:1;min-width:36px;padding:.5rem .75rem;transition:all .2s ease}.life-okr-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.life-okr-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 4px #0000001a;margin-top:.25rem;min-width:150px;position:absolute;right:0;top:100%;z-index:1000}.life-okr-menu-item{background:none;border:none;color:#333;cursor:pointer;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.life-okr-menu-item:hover{background:#f5f5f5}.life-okr-radar-section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:2rem;padding:1.5rem}.life-okr-section-header{margin-bottom:1rem}.life-okr-section-title{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400}.life-okr-radar-container{height:400px;min-height:400px;width:100%}.life-okr-radar-container svg{overflow:visible}.life-okr-aspects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.life-okr-aspect-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1.5rem;transition:all .2s ease}.life-okr-aspect-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.life-okr-aspect-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.life-okr-aspect-title{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400}.life-okr-link-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1;padding:.25rem .5rem;transition:all .2s}.life-okr-link-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.life-okr-aspect-progress{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.life-okr-progress-bar{background:#f0f0f0;border-radius:2px;flex:1 1;height:4px;overflow:hidden}.life-okr-progress-fill{background:#333;border-radius:2px;height:100%;transition:width .3s ease}.life-okr-progress-text{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;min-width:40px;text-align:right}.life-okr-goals-list{display:flex;flex-direction:column;gap:.75rem}.life-okr-empty-aspect{color:#666;font-size:.875rem;padding:1rem;text-align:center}.life-okr-link-btn-small{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;margin-top:.5rem;padding:.5rem 1rem;transition:all .2s}.life-okr-link-btn-small:hover{background:#f5f5f5;border-color:#ccc;color:#333}.life-okr-goal-item{background:#fafafa;border:1px solid #f0f0f0;border-radius:.25rem;cursor:pointer;padding:.75rem;transition:all .2s}.life-okr-goal-item:hover{background:#f5f5f5;border-color:#e0e0e0}.life-okr-goal-item-header{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.life-okr-goal-title{color:#333;flex:1 1;font-size:.875rem;font-weight:500}.life-okr-unlink-btn{background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;flex-shrink:0;font-size:1.25rem;line-height:1;opacity:.6;padding:.125rem .25rem;transition:all .2s ease}.life-okr-unlink-btn:hover{background:#f5f5f5;color:#333;opacity:1}.life-okr-goal-separator{background:#e0e0e0;height:1px;margin-bottom:.5rem}.life-okr-goal-progress-mini{align-items:center;display:flex;gap:.75rem}.life-okr-goal-progress-bar-mini{background:#f0f0f0;border-radius:2px;flex:1 1;height:4px;overflow:hidden}.life-okr-goal-progress-fill-mini{background:#333;border-radius:2px;height:100%;transition:width .3s ease}.life-okr-goal-progress-text{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;min-width:35px;text-align:right}.life-okr-link-modal{color:#333}.life-okr-link-modal-content{padding:1.5rem}.life-okr-no-goals{color:#666;padding:2rem;text-align:center}.life-okr-create-goal-btn{background:#333;border:1px solid #333;border-radius:.25rem;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;margin-top:1rem;padding:.75rem 1.5rem;transition:all .2s}.life-okr-create-goal-btn:hover{background:#000;border-color:#000}.life-okr-goals-select-list{display:flex;flex-direction:column;gap:.75rem}.life-okr-goal-select-item{align-items:center;background:#fafafa;border:1px solid #f0f0f0;border-radius:.25rem;cursor:pointer;display:flex;justify-content:space-between;padding:1rem;transition:all .2s}.life-okr-goal-select-item:hover{background:#f5f5f5;border-color:#e0e0e0}.life-okr-goal-select-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.life-okr-goal-select-title{color:#333;font-size:.875rem;font-weight:500}.life-okr-goal-select-category{font-size:.75rem}.life-okr-goal-select-category,.life-okr-goal-select-progress{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.life-okr-goal-select-progress{font-size:.875rem;min-width:40px;text-align:right}.life-okr-tabbar{background:#fff;border-top:1px solid #e0e0e0;bottom:0;box-shadow:0 -2px 4px #0000000d;display:flex;left:0;position:fixed;right:0;z-index:100}.life-okr-tab{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:400;justify-content:center;padding:.75rem 1rem;position:relative;transition:all .2s ease}.life-okr-tab:hover{background:#f9f9f9;color:#333}.life-okr-tab.active{color:#333;font-weight:500}.life-okr-tab.active:after{background:#333;bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.life-okr-tab-label{pointer-events:none}@media (max-width:768px){.life-okr-content{padding:1rem}.life-okr-aspects-grid{grid-template-columns:1fr}.life-okr-radar-container{height:300px}.modal-content{margin:.5rem;max-height:95vh}}@media (max-width:480px){.life-okr-content{padding:.75rem .75rem 4rem}.life-okr-aspect-card,.life-okr-radar-section{padding:1rem}.life-okr-radar-container{height:250px}.life-okr-tab{font-size:.8125rem;padding:.75rem .5rem}}.metrics-page{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.metrics-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.metrics-header h1{color:#333;flex:1 1;font-size:1.5rem;font-weight:600;margin:0;text-align:center}.metrics-builder-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.metrics-builder-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.metrics-content{flex:1 1;overflow-y:auto;padding:1.5rem}.loading-state{align-items:center;color:#666;display:flex;font-size:1rem;height:100%;justify-content:center}.error-message{padding:1rem 1.5rem}.metrics-filter{align-items:center;background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.metrics-filter label{color:#666;font-size:.875rem;font-weight:500}.category-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s}.category-select:hover{border-color:#ccc}.category-select:focus{border-color:#333;outline:none}.metrics-category-section{margin-bottom:2rem}.category-title{border-bottom:1px solid #f0f0f0;color:#333;font-size:1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem}.metrics-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.metric-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;padding:1rem;transition:all .2s ease}.metric-card:hover{background:#fafafa;border-color:#ccc;box-shadow:0 1px 3px #0000001a}.metric-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.metric-header-right{align-items:center;display:flex;gap:.5rem}.metric-name{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600;margin:0}.metric-category-badge{background:#f5f5f5;border-radius:.25rem;color:#666;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.metric-delete-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.25rem;height:24px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:24px}.metric-delete-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.metric-delete-btn:disabled{cursor:not-allowed;opacity:.5}.metric-description{color:#666;font-size:.875rem;line-height:1.4;margin:0 0 .75rem}.metric-value-section{align-items:baseline;display:flex;gap:.5rem;margin-top:.75rem}.metric-value{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.5rem;font-weight:600}.metric-unit{color:#666;font-size:.75rem;font-weight:500}.metric-value-loading{align-items:center;color:#999;display:flex;font-size:.875rem;font-style:italic;gap:.5rem}.loading-spinner-small{border-top-color:#666;display:inline-block;height:12px;width:12px}.metric-value-error{color:#f44336;font-size:.875rem;font-style:italic}.empty-state{height:200px}@media (max-width:768px){.metrics-content{padding:1rem}.metrics-list{grid-template-columns:1fr}.metrics-filter{align-items:flex-start;flex-direction:column}.category-select{width:100%}}@media (max-width:480px){.metrics-header{padding:1rem}.metrics-header h1{font-size:1.25rem}.metric-card{padding:.75rem}.metric-value{font-size:1.25rem}}.metric-detail-page{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.metric-detail-back-button{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;margin-left:.75rem;padding:.5rem .75rem;transition:all .2s ease}.metric-detail-back-button:hover{background:#f5f5f5;border-color:#ccc;color:#333}.metric-detail-content{flex:1 1;overflow-y:auto;padding:1.5rem}.metric-detail-loading{color:#666;font-size:1rem}.metric-detail-error,.metric-detail-loading{align-items:center;display:flex;height:100%;justify-content:center}.metric-detail-error{color:#721c24;flex-direction:column;padding:2rem;text-align:center}.metric-detail-error p{font-size:1rem;margin-bottom:1rem}.metric-detail-back-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.metric-detail-back-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.metric-detail-error-banner{align-items:center;background:#f8d7da;border-bottom:1px solid #f5c6cb;color:#721c24;display:flex;justify-content:space-between;padding:1rem 1.5rem}.error-close-btn{line-height:1}.metric-detail-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.5rem;font-weight:600;margin:0}.metric-options-menu{position:relative;z-index:1002}.options-menu-btn{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;padding:.5rem .75rem}.options-menu-overlay{background:#0000;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1001}.options-menu-dropdown{min-width:180px;overflow:hidden;top:calc(100% + .5rem);z-index:1003}.options-menu-item{background:none;border:none;color:#333;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s;width:100%}.options-menu-item:hover:not(:disabled){background:#f5f5f5}.options-menu-item:disabled{cursor:not-allowed;opacity:.5}.options-menu-item.delete-option{color:#dc3545}.options-menu-item.delete-option:hover:not(:disabled){background:#f8d7da;color:#721c24}.metric-detail-section{border-bottom:1px solid #f0f0f0;margin-bottom:2rem;padding-bottom:1.5rem}.metric-detail-section:last-child{border-bottom:none;margin-bottom:0}.metric-detail-section-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600;margin:0 0 1rem}.metric-detail-info{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.metric-detail-info-item{display:flex;flex-direction:column;gap:.25rem}.metric-detail-label{color:#666;font-size:.75rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.metric-detail-value{color:#333;font-size:.875rem;font-weight:500}.metric-detail-status{border-radius:.25rem;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.metric-detail-status.active{background:#d4edda;color:#155724}.metric-detail-status.inactive{background:#f5f5f5;color:#666}.metric-detail-description{color:#666;font-size:.875rem;line-height:1.6;margin:0}.metric-detail-value-display{align-items:flex-start;display:flex;flex-direction:column;gap:.5rem}.metric-detail-value-large{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:2.5rem;font-weight:600}.metric-detail-unit-label{color:#666;font-size:.875rem;font-weight:500}.metric-detail-value-loading{align-items:center;color:#999;display:flex;font-size:.875rem;font-style:italic;gap:.75rem}.loading-spinner{border:2px solid #f0f0f0;border-top-color:#666;display:inline-block;height:16px;width:16px}.metric-detail-value-error{color:#f44336;font-size:.875rem;font-style:italic}.metric-detail-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.metric-detail-toggle-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.metric-detail-toggle-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.metric-detail-dimensions-selector{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1rem;padding:1rem}.metric-detail-dimensions-label{color:#666;display:block;font-size:.75rem;font-weight:500;letter-spacing:.5px;margin-bottom:.75rem;text-transform:uppercase}.metric-detail-dimensions-list{display:flex;flex-wrap:wrap;gap:.75rem}.metric-detail-dimension-checkbox{align-items:center;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.metric-detail-dimension-checkbox input[type=checkbox]{accent-color:#333;cursor:pointer;height:16px;width:16px}.metric-detail-table-loading{align-items:center;color:#999;display:flex;font-size:.875rem;font-style:italic;gap:.75rem;justify-content:center;padding:2rem}.metric-detail-table-container{border:1px solid #e0e0e0;border-radius:.375rem;overflow-x:auto}.metric-detail-table{border-collapse:collapse;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;width:100%}.metric-detail-table thead{background:#f9f9f9;border-bottom:1px solid #e0e0e0}.metric-detail-table th{color:#333;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.metric-detail-table td{border-bottom:1px solid #f0f0f0;color:#333;padding:.75rem 1rem}.metric-detail-table tbody tr:hover{background:#fafafa}.metric-detail-table tbody tr:last-child td{border-bottom:none}.metric-detail-table-empty{color:#666;font-size:.875rem;font-style:italic;padding:2rem;text-align:center}.metric-detail-edit-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.metric-detail-edit-modal{background:#fff;border:1px solid #e0e0e0;border-radius:.5rem;box-shadow:0 2px 8px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.metric-detail-edit-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.metric-detail-edit-modal-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.25rem;font-weight:600;margin:0}.metric-detail-edit-modal-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.metric-detail-edit-modal-close:hover:not(:disabled){background:#f5f5f5;color:#333}.metric-detail-edit-modal-close:disabled{cursor:not-allowed;opacity:.5}.metric-detail-edit-form{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.metric-detail-edit-field{display:flex;flex-direction:column;gap:.5rem}.metric-detail-edit-field-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.metric-detail-edit-label{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500}.metric-detail-edit-input,.metric-detail-edit-select,.metric-detail-edit-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem .75rem;transition:all .2s;width:100%}.metric-detail-edit-input:focus,.metric-detail-edit-select:focus,.metric-detail-edit-textarea:focus{border-color:#333;outline:none}.metric-detail-edit-input:disabled,.metric-detail-edit-select:disabled,.metric-detail-edit-textarea:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.7}.metric-detail-edit-textarea{min-height:80px;resize:vertical}.metric-detail-edit-checkbox-label{align-items:center;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.metric-detail-edit-checkbox-label input[type=checkbox]{accent-color:#333;cursor:pointer;height:16px;width:16px}.metric-detail-edit-checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.7}.metric-detail-edit-actions{border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.metric-detail-edit-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.metric-detail-edit-btn-primary{background:#333;border-color:#333;color:#fff}.metric-detail-edit-btn-primary:hover:not(:disabled){background:#000;border-color:#000}.metric-detail-edit-btn-secondary{background:#fff;color:#666}.metric-detail-edit-btn-secondary:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.metric-detail-edit-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.metric-detail-content{padding:1rem}.metric-detail-info{grid-template-columns:1fr}.metric-detail-value-large{font-size:2rem}.metric-detail-edit-field-row{grid-template-columns:1fr}.metric-detail-edit-modal{margin:0;max-width:100%}.options-menu-btn{font-size:.875rem;height:32px;width:32px}}@media (max-width:480px){.metric-detail-title{font-size:1.25rem}.metric-detail-value-large{font-size:1.75rem}.metric-detail-table-container{overflow-x:scroll}.metric-detail-table{font-size:.8125rem}.metric-detail-table td,.metric-detail-table th{padding:.5rem .75rem}.metric-detail-dimensions-list{flex-direction:column;gap:.5rem}.metric-detail-edit-form,.metric-detail-edit-modal-header{padding:1rem}.metric-detail-edit-actions{flex-direction:column;padding:1rem}.metric-detail-edit-btn{width:100%}}.metric-builder-page{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.metric-builder-back-button{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;margin-left:.75rem;padding:.5rem .75rem;transition:all .2s ease}.metric-builder-back-button:hover{background:#f5f5f5;border-color:#ccc;color:#333}.metric-builder-error{align-items:center;background:#f8d7da;border-bottom:1px solid #f5c6cb;color:#721c24;display:flex;justify-content:space-between;padding:1rem 1.5rem}.error-close-btn{background:none;border:none;color:#721c24;cursor:pointer;font-size:1.5rem;margin-left:1rem;padding:0}.metric-builder-content{flex:1 1;overflow-y:auto;padding:1.5rem}.metric-builder-loading{align-items:center;color:#666;display:flex;font-size:1rem;height:100%;justify-content:center}.metric-builder-form{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1.5rem;padding:1.5rem}.metric-builder-section{margin-bottom:1.5rem}.metric-builder-section:last-child{margin-bottom:0}.metric-builder-label{color:#666;display:block;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.metric-builder-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s;width:100%}.metric-builder-select:hover{border-color:#ccc}.metric-builder-select:focus{border-color:#333;outline:none}.metric-builder-dimensions{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem}.metric-builder-checkbox-label{align-items:center;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.metric-builder-checkbox{cursor:pointer;height:1rem;width:1rem}.metric-builder-filters{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;display:flex;flex-direction:column;gap:.75rem;padding:.75rem}.metric-builder-filter-row{align-items:center;display:flex;gap:.75rem}.metric-builder-filter-row label{color:#666;font-size:.875rem;font-weight:500;min-width:120px}.metric-builder-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;flex:1 1;font-size:.875rem;padding:.5rem .75rem;transition:all .2s}.metric-builder-input:hover{border-color:#ccc}.metric-builder-input:focus{border-color:#333;outline:none}.metric-builder-actions{border-top:1px solid #f0f0f0;display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem}.metric-builder-button{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.metric-builder-button:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.metric-builder-button:disabled{cursor:not-allowed;opacity:.5}.metric-builder-button-primary{background:#333;border-color:#333;color:#fff}.metric-builder-button-primary:hover:not(:disabled){background:#000;border-color:#000}.metric-builder-button-secondary{background:#fff;color:#666}.metric-builder-results{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1.5rem}.metric-builder-results-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.metric-builder-results-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600;margin:0}.metric-builder-table-container{overflow-x:auto}.metric-builder-table{border-collapse:collapse;font-size:.875rem;width:100%}.metric-builder-table thead{background:#f9f9f9;border-bottom:1px solid #e0e0e0}.metric-builder-table th{border-right:1px solid #e0e0e0;color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-weight:600;padding:.75rem;text-align:left}.metric-builder-table th:last-child{border-right:none}.metric-builder-table tbody tr{border-bottom:1px solid #f5f5f5}.metric-builder-table tbody tr:hover{background:#fafafa}.metric-builder-table td{border-right:1px solid #f5f5f5;color:#333;padding:.75rem}.metric-builder-table td:last-child{border-right:none}.metric-builder-empty-cell{color:#666;font-style:italic;padding:2rem;text-align:center}.metric-builder-save-dialog-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.metric-builder-save-dialog{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;max-height:90vh;max-width:500px;overflow-y:auto;padding:1.5rem;width:90%}.metric-builder-save-dialog-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600;margin:0 0 1rem}.metric-builder-save-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.metric-builder-save-field{display:flex;flex-direction:column;gap:.5rem}.metric-builder-save-field label{color:#666;font-size:.875rem;font-weight:500}.metric-builder-save-field-row{display:flex;gap:1rem}.metric-builder-save-field-row .metric-builder-save-field{flex:1 1}.metric-builder-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem .75rem;resize:vertical;transition:all .2s;width:100%}.metric-builder-textarea:hover{border-color:#ccc}.metric-builder-textarea:focus{border-color:#333;outline:none}.metric-builder-save-actions{border-top:1px solid #f0f0f0;display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem}.metric-builder-save-success{background:#d4edda;border:1px solid #c3e6cb;border-radius:.25rem;color:#155724;padding:1rem;text-align:center}.metric-builder-save-success p{font-size:.875rem;margin:0}@media (max-width:768px){.metric-builder-content,.metric-builder-form{padding:1rem}.metric-builder-filter-row{align-items:flex-start;flex-direction:column}.metric-builder-filter-row label{margin-bottom:.25rem;min-width:auto}.metric-builder-input,.metric-builder-select{width:100%}.metric-builder-actions{flex-direction:column}.metric-builder-button{width:100%}}@media (max-width:480px){.metric-builder-dimensions{flex-direction:column;gap:.5rem}.metric-builder-table{font-size:.8125rem}.metric-builder-table td,.metric-builder-table th{padding:.5rem}.metric-builder-results-header{align-items:flex-start;flex-direction:column;gap:.75rem}.metric-builder-results-header .metric-builder-button{width:100%}.metric-builder-save-dialog{padding:1rem;width:95%}.metric-builder-save-actions,.metric-builder-save-field-row{flex-direction:column}.metric-builder-save-actions .metric-builder-button{width:100%}}.lifetime-container{background-color:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;margin-bottom:80px;overflow-y:auto}.lifetime-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:row;justify-content:space-between;padding:1rem 1.5rem;position:sticky;top:0;transition:box-shadow .2s ease;z-index:100}.lifetime-header h1{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.5rem;font-weight:600;margin:0}.options-menu-container{display:inline-block;position:relative}.options-menu-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;font-weight:500;height:40px;justify-content:center;line-height:1;padding:.5rem;transition:all .2s;width:40px}.options-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.options-menu-popover{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 4px 12px #00000026;margin-top:.25rem;min-width:160px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.menu-option{background:none;border:none;border-bottom:1px solid #f5f5f5;color:#333;cursor:pointer;display:block;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.menu-option:last-child{border-bottom:none}.menu-option:hover{background:#f9f9f9;color:#333}.auth-required{padding:2rem}.auth-required p{color:#666;font-size:1rem;margin:0}.configuration-section{align-items:center;display:flex;flex:1 1;justify-content:center;padding:1.5rem}.config-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 4px #0000000d;max-width:500px;padding:1.5rem;width:100%}.config-card h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 .5rem;text-align:center}.config-card>p{color:#666;font-size:.875rem;line-height:1.5;margin-bottom:1.5rem;text-align:center}.lifetime-form{display:flex;flex-direction:column;gap:1rem}.form-group{gap:.5rem}.form-group input{background:#fff;color:#333;font-size:.875rem;transition:all .2s ease}.form-group input:focus{border-color:#333;box-shadow:0 0 0 2px #3333}.form-group small{color:#666;font-size:.75rem;line-height:1.4}.form-actions{justify-content:center;margin-top:.5rem}.cancel-btn,.save-btn{font-weight:500;min-width:100px;padding:.75rem 1.5rem;transition:all .2s ease}.save-btn{border:1px solid #333}.life-visualization{margin:0 auto;max-width:1200px;width:100%}.lifetime-stats-section-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:space-between;padding:1rem 1.5rem;transition:background-color .2s ease;width:100%}.lifetime-stats-section-toggle:hover{background:#f9f9f9}.lifetime-stats-toggle-text{font-size:1rem}.lifetime-stats-count,.lifetime-stats-toggle-text{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-weight:400}.lifetime-stats-toggle-arrow{color:#666;font-size:.875rem;transition:transform .2s ease;-webkit-user-select:none;user-select:none}.lifetime-stats-section-content{background:#fafafa;border-top:1px solid #f5f5f5;overflow-y:auto;padding-left:1.5rem;padding-right:1.5rem;transition:all .3s ease-out}.lifetime-stats-section-content.expanded{opacity:1}.lifetime-stats-section-content.collapsed{opacity:0;overflow:hidden}.primary-stats{grid-gap:2rem;border-bottom:1px solid #f0f0f0;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:1rem;padding-bottom:1rem}.age-stat,.progress-stat{display:flex;flex-direction:column;gap:.5rem}.stat-value-large{color:#333;font-size:1.125rem;font-weight:600;line-height:1.3}.progress-container{align-items:center;display:flex;gap:.75rem}.progress-percentage{color:#333;font-size:1.125rem;min-width:3rem}.secondary-stats{gap:1.5rem;justify-content:space-between;margin-bottom:1rem}.days-stats,.secondary-stats{align-items:center;display:flex}.days-stats{gap:1rem}.days-item{align-items:center;display:flex;flex-direction:column;gap:.25rem}.days-value{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600}.days-label{color:#666;font-size:.625rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.days-separator{color:#e0e0e0;font-size:1.25rem;font-weight:700}.goals-overview{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem}.goals-total{color:#333;font-size:.875rem;font-weight:500}.goals-breakdown{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.goal-count{border-radius:.25rem;font-size:.625rem;font-weight:500;letter-spacing:.05em;padding:.125rem .5rem;text-transform:uppercase}.goal-count.completed{background:#d4edda;color:#155724}.goal-count.in-progress{background:#fff3cd;color:#856404}.goal-count.planned{background:#f8f9fa;border:1px solid #e0e0e0;color:#666}.wisdom-note-condensed{background:#f9f9f9;border-left:3px solid #333;border-radius:.25rem;color:#666;font-size:.75rem;font-style:italic;line-height:1.4;padding:.75rem}.stats-summary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.stat-card h3{color:#666;font-size:.875rem;font-weight:500;letter-spacing:.05em;margin:0 0 .5rem;text-transform:uppercase}.stat-value{font-size:1.25rem;margin:0}.lived-color{color:#28a745}.remaining-color{color:#666}.progress-bar{background:#f0f0f0;border-radius:2px;height:4px;margin-top:.75rem}.weeks-header{align-items:center;display:flex;justify-content:flex-start;margin-bottom:.75rem;margin-top:1.5rem;padding:1rem}.weeks-header h3{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:500;margin:0}.visualization-description{color:#666;font-size:.875rem;line-height:1.5;margin-bottom:1rem;padding:1rem}.lived-indicator{color:#28a745;font-weight:500;margin:0 .5rem}.current-indicator{color:#333;font-weight:500;margin:0 .5rem}.remaining-indicator{color:#666;font-weight:500;margin:0 .5rem}.goals-indicator{color:#333;font-weight:500;margin:0 .5rem}.years-container{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem}.year-section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;overflow:hidden;transition:all .2s ease}.year-section:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.year-header{align-items:center;border-bottom:1px solid #0000;cursor:pointer;justify-content:space-between;padding:.75rem 1rem;transition:all .2s ease}.year-header:hover{background:#f9f9f9}.year-header.past{background:#f8f9fa;color:#666}.year-header.current{background:#f0f8ff;border-bottom-color:#e0e0e0;color:#333}.year-header.future{background:#fff;color:#333}.year-info{display:flex;flex-direction:column;gap:.25rem}.year-title{align-items:center;color:inherit;display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.current-badge{background:#333;border-radius:.25rem;color:#fff;font-size:.625rem;font-weight:500;letter-spacing:.05em;padding:.125rem .5rem;text-transform:uppercase}.year-stats{align-items:center;color:#666;display:flex;font-size:.75rem;gap:.75rem}.weeks-lived{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.year-note-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:.875rem;justify-content:center;line-height:1;padding:.25rem .375rem;transition:all .2s ease}.year-note-btn:hover{background:#f5f5f5;border-color:#ccc;transform:scale(1.1)}.goals-count{color:#333;font-weight:500}.collapse-arrow{color:#666;font-size:.75rem;transition:transform .2s ease;-webkit-user-select:none;user-select:none}.collapse-arrow.collapsed,.collapse-arrow.expanded{transform:rotate(0deg)}.year-content{overflow:hidden;transition:all .3s ease-out}.year-content.expanded{max-height:1000px;opacity:1}.year-content.collapsed{max-height:0;opacity:0}.weeks-grid-year{grid-gap:1px;background:#f9f9f9;display:grid;gap:1px;grid-template-columns:repeat(52,1fr);overflow-x:auto;padding:1rem}.year-goals-list{background:#fafafa;border-top:1px solid #f0f0f0;padding:.75rem 1rem 1rem}.goals-list-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.goals-list-title{color:#666;font-size:.75rem;font-weight:500;letter-spacing:.05em;margin:0;text-transform:uppercase}.add-goal-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;height:24px;justify-content:center;line-height:1;min-width:24px;padding:.25rem .5rem;transition:all .2s ease}.add-goal-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.goals-names{line-height:1.5}.goal-name{color:#333;font-size:.875rem;font-weight:400}.clickable-goal{cursor:pointer;transition:all .2s ease}.clickable-goal:hover{color:#007bff;text-decoration:underline}.goal-separator{color:#ccc;font-weight:400}.weeks-grid{grid-gap:1px;background:#f9f9f9;border-radius:.25rem;display:grid;gap:1px;grid-template-columns:repeat(52,1fr);margin-bottom:1rem;max-width:100%;overflow-x:auto;padding:1rem}.week-box{aspect-ratio:1;border-radius:2px;cursor:pointer;min-height:12px;min-width:12px;transition:all .2s ease}.week-box.lived{background:#28a745}.week-box.current{background:#333;transform:scale(1.2)}.week-box.remaining{background:#e0e0e0}.week-box.has-goals{border:2px solid #333;box-shadow:0 0 4px #3333334d;position:relative}.week-box.has-goals.lived{background:#1e7e34;border-color:#155724}.week-box.has-goals.remaining{background:#666;border-color:#333}.week-box.selected{border:3px solid #333;box-shadow:0 2px 8px #3336;transform:scale(1.4);z-index:20}.week-box:hover{box-shadow:0 1px 3px #0003;cursor:pointer;transform:scale(1.3);z-index:10}.years-labels{grid-gap:.5rem;color:#666;display:grid;font-size:.75rem;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));margin-top:.5rem;text-align:center}.reflection-section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1.5rem;text-align:center}.reflection-section h3{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:500;margin:0 0 1rem}.reflection-section p{color:#333;font-size:.875rem;line-height:1.6;margin-bottom:.75rem}.reflection-section p:last-child{margin-bottom:0}.wisdom-note{background:#f9f9f9;border-left:3px solid #333;border-radius:.25rem;color:#666;font-style:italic;margin-top:1rem;padding:1rem}.goals-summary{border-top:1px solid #e0e0e0;margin-top:1.5rem;padding-top:1rem}.goals-summary h4{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:500;margin:0 0 .5rem}.goals-by-status{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.75rem}.goal-stat{border-radius:.25rem;font-size:.75rem;font-weight:500;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.goal-stat.completed{background:#d4edda;color:#155724}.goal-stat.in-progress{background:#fff3cd;color:#856404}.goal-stat.not-started{background:#f8f9fa;border:1px solid #e0e0e0;color:#666}.goal-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.goal-modal{background:#fff;border-radius:.375rem;box-shadow:0 4px 12px #00000026;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.goal-modal-header{align-items:center;background:#f9f9f9;border-bottom:1px solid #e0e0e0;border-radius:.375rem .375rem 0 0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.goal-modal-header h3{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:500;margin:0}.close-btn{padding:0;transition:all .2s ease}.close-btn:hover{background:#e0e0e0}.goal-modal-content{padding:1.5rem}.existing-goals{margin-bottom:1.5rem}.existing-goals h4{color:#666;font-size:.875rem;font-weight:500;letter-spacing:.05em;margin:0 0 1rem;text-transform:uppercase}.goals-list{gap:.75rem}.goal-item{align-items:flex-start;background:#f9f9f9;border-radius:.25rem;display:flex;justify-content:space-between}.goal-item:hover{background:#f5f5f5}.goal-info{flex:1 1}.goal-info.clickable-goal{border-radius:.25rem;padding:.5rem;transition:all .2s ease}.goal-info.clickable-goal:hover{background:#f0f8ff;border:1px solid #007bff}.goal-info h5{color:#333;font-size:.875rem;font-weight:500;margin:0 0 .25rem}.goal-info p{color:#666;font-size:.75rem;line-height:1.4;margin:0 0 .5rem}.goal-meta{align-items:center;display:flex;gap:.75rem}.goal-meta .status{border-radius:.25rem;font-size:.625rem;font-weight:500;letter-spacing:.05em;padding:.125rem .5rem;text-transform:uppercase}.goal-meta .status.completed{background:#d4edda;color:#155724}.goal-meta .status.in_progress{background:#fff3cd;color:#856404}.goal-meta .status.not_started{background:#f8f9fa;border:1px solid #e0e0e0;color:#666}.goal-meta .status.on_hold{background:#f1f3f4;color:#5f6368}.goal-meta .status.cancelled{background:#f8d7da;color:#721c24}.goal-meta .progress{color:#333;font-size:.75rem;font-weight:500}.delete-goal-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.75rem;margin-left:1rem;padding:.25rem .5rem;transition:all .2s ease}.delete-goal-btn:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.new-goal-form h4{border-top:1px solid #e0e0e0;color:#666;font-size:.875rem;font-weight:500;letter-spacing:.05em;margin:0 0 1rem;padding-top:1rem;text-transform:uppercase}.goal-form{display:flex;flex-direction:column;gap:1rem}.goal-form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.goal-form .form-group{display:flex;flex-direction:column;gap:.5rem}.goal-form .form-group label{color:#333;font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.goal-form .form-group input,.goal-form .form-group select,.goal-form .form-group textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:inherit;font-size:.75rem;padding:.5rem;transition:all .2s ease}.goal-form .form-group input:focus,.goal-form .form-group select:focus,.goal-form .form-group textarea:focus{border-color:#333;box-shadow:0 0 0 2px #3333;outline:none}.goal-form .form-group textarea{min-height:60px;resize:vertical}.goal-form .form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.goal-form .cancel-btn,.goal-form .save-btn{border-radius:.25rem;cursor:pointer;font-size:.75rem;font-weight:500;letter-spacing:.05em;padding:.5rem 1rem;text-transform:uppercase;transition:all .2s ease}.goal-form .save-btn{background:#333;border:1px solid #333;color:#fff}.goal-form .save-btn:hover{background:#555;border-color:#555}.goal-form .cancel-btn{background:none;border:1px solid #e0e0e0;color:#666}.goal-form .cancel-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}@media (max-width:768px){.lifetime-container{height:auto;min-height:100vh}.lifetime-header{padding:1rem}.lifetime-header h1{font-size:1.25rem}.configuration-section{padding:1rem}.config-card{margin:0;padding:1rem}.lifetime-stats-section-content{padding-left:1rem;padding-right:1rem}.primary-stats{gap:1rem;grid-template-columns:1fr;margin-bottom:.75rem;padding-bottom:.75rem}.secondary-stats{align-items:stretch;flex-direction:column;gap:1rem}.goals-overview{align-items:flex-start}.goals-breakdown{justify-content:flex-start}.stats-summary{gap:.75rem;grid-template-columns:1fr}.weeks-grid,.weeks-grid-year{gap:1px;grid-template-columns:repeat(26,1fr);padding:.75rem}.year-header{padding:.5rem .75rem}.year-info{gap:.125rem}.year-title{font-size:.8125rem}.year-stats{font-size:.6875rem;gap:.5rem}.year-note-btn{font-size:.75rem;padding:.125rem .25rem}.year-goals-list{padding:.5rem .75rem .75rem}.goal-name{font-size:.8125rem}.goal-item-with-progress{gap:.5rem;padding:.375rem .5rem}.goal-name-progress{font-size:.8125rem}.goal-progress-badge{font-size:.6875rem;min-width:38px;padding:.125rem .375rem}.week-box{min-height:8px;min-width:8px}.reflection-section{padding:1rem}.weeks-header{justify-content:center}.form-actions{flex-direction:column}.cancel-btn,.save-btn{width:100%}.goal-modal{margin:.5rem;max-height:95vh}.goal-modal-content{padding:1rem}.goal-form .form-row{grid-template-columns:1fr}.goals-by-status{flex-direction:column;gap:.5rem}.goal-item{flex-direction:column;gap:.75rem}.delete-goal-btn{align-self:flex-start;margin-left:0}}@media (max-width:480px){.lifetime-header{align-items:stretch;gap:.75rem;text-align:center}.back-btn,.config-btn{align-self:center}.weeks-grid,.weeks-grid-year{grid-template-columns:repeat(20,1fr);padding:.5rem}.week-box{min-height:6px;min-width:6px}.years-labels{grid-template-columns:repeat(auto-fit,minmax(60px,1fr))}.goal-modal{margin:.25rem;max-height:98vh}.goal-modal-header{padding:.75rem 1rem}.goal-modal-content{padding:.75rem}.goal-form .form-actions{flex-direction:column}.goal-form .cancel-btn,.goal-form .save-btn{width:100%}.lifetime-stats-section-content{padding-left:.75rem;padding-right:.75rem}.stat-value-large{font-size:1rem}.progress-percentage{font-size:1rem;min-width:2.5rem}.days-value{font-size:.875rem}.goals-total{font-size:.8125rem}.year-goals-list{padding:.375rem .5rem .5rem}.goals-list-title{font-size:.6875rem}.goal-name{font-size:.75rem}.goal-item-with-progress{gap:.375rem;padding:.25rem .375rem}.goal-name-progress{font-size:.75rem}.goal-progress-badge{font-size:.625rem;min-width:34px;padding:.125rem .25rem}.options-menu-popover{min-width:140px;right:-.5rem}.menu-option{font-size:.8125rem;padding:.625rem .75rem}}.week-popover-overlay{bottom:0;left:0;pointer-events:all;position:fixed;right:0;top:0;z-index:1000}.week-popover-container{pointer-events:all}.week-popover{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 4px 12px #00000026;margin-top:-.5rem;min-width:180px;overflow:hidden}.week-popover-header{background:#f9f9f9;border-bottom:1px solid #e0e0e0;padding:.75rem 1rem}.week-popover-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;font-weight:500}.week-popover-menu{display:flex;flex-direction:column}.week-popover-option{align-items:center;background:none;border:none;border-bottom:1px solid #f5f5f5;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.week-popover-option:last-child{border-bottom:none}.week-popover-option:hover{background:#f9f9f9;color:#333}.week-popover-option:active{background:#f0f0f0}.tag-selector-container{position:relative;width:100%}.tag-selector-selected{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.tag-selector-chip{align-items:center;background-color:#666;border-radius:.25rem;display:inline-flex;font-weight:400;gap:.375rem;padding:.25rem .5rem}.tag-selector-chip,.tag-selector-chip-name{color:#fff;font-size:.75rem}.tag-selector-chip-remove{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:1rem;justify-content:center;line-height:1;margin:0;opacity:.8;padding:0;transition:opacity .2s ease;width:1rem}.tag-selector-chip-remove:hover{opacity:1}.tag-selector-input-wrapper{position:relative;width:100%}.tag-selector-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem;transition:border-color .2s ease;width:100%}.tag-selector-input:focus{border-color:#ccc;outline:none}.tag-selector-input::placeholder{color:#666}.tag-selector-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #00000026;left:0;margin-top:.25rem;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10000}.tag-selector-section{border-bottom:1px solid #f5f5f5;padding:.75rem}.tag-selector-section:last-child{border-bottom:none}.tag-selector-section-title{color:#666;font-size:.75rem;font-weight:500;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.tag-selector-tags-list{display:flex;flex-direction:column;gap:.25rem}.tag-selector-option{align-items:center;background:none;border:none;border-radius:.25rem;cursor:pointer;display:flex;gap:.5rem;padding:.5rem;text-align:left;transition:background-color .2s ease}.tag-selector-option:hover{background:#f9f9f9}.tag-selector-option-color{border-radius:.125rem;flex-shrink:0;height:1rem;width:1rem}.tag-selector-option-name{color:#333;font-size:.875rem}.tag-selector-create-form{display:flex;flex-direction:column;gap:.75rem}.tag-selector-create-preview{align-items:center;display:flex}.tag-selector-color-picker{display:flex;flex-wrap:wrap;gap:.5rem}.tag-selector-color-option{border:2px solid #0000;border-radius:.25rem;cursor:pointer;height:1.5rem;padding:0;transition:all .2s ease;width:1.5rem}.tag-selector-color-option:hover{border-color:#ccc;transform:scale(1.1)}.tag-selector-color-option.selected{border-color:#333;box-shadow:0 0 0 2px #3333}.tag-selector-create-btn{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.tag-selector-create-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.tag-selector-create-btn:disabled{cursor:not-allowed;opacity:.5}.tag-display-container{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.tag-chip{align-items:center;background-color:#666;border-radius:.25rem;color:#fff;display:inline-flex;font-size:.75rem;font-weight:400;gap:.375rem;padding:.25rem .5rem;transition:opacity .2s ease}.tag-chip:hover{opacity:.9}.tag-chip-name{color:#fff;font-size:.75rem}.tag-chip-remove{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:1rem;justify-content:center;line-height:1;margin:0;opacity:.8;padding:0;transition:opacity .2s ease;width:1rem}.tag-chip-remove:hover{opacity:1}.task-item-container{width:100%}.task-item-container .task-item{align-items:flex-start;display:flex;gap:.75rem;padding:.5rem 0;transition:opacity .2s ease}.task-item-container .task-item .task-checkbox{align-self:flex-start;flex-shrink:0;margin-top:0}.task-name-container{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0}.task-row-menu-btn{align-items:center;align-self:flex-start;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:24px;justify-content:center;margin-left:auto;margin-top:0;opacity:1;padding:.25rem .5rem;transition:color .2s ease,background-color .2s ease;width:24px}.task-row-menu-btn:hover{background:#f5f5f5;color:#333}.task-row-menu-popup{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;margin-top:.25rem;min-width:150px;padding:.25rem 0;position:absolute;right:0;top:100%;z-index:100}.task-row-menu-popup.portal{margin-top:0;position:fixed}@media (max-width:768px){.task-item-container .task-item{align-items:flex-start;padding:.5rem 0}.task-row-menu-btn{align-self:flex-start;margin-top:0}}@media (max-width:480px){.task-item-container .task-item{align-items:flex-start;gap:.5rem}.task-row-menu-btn{align-self:flex-start;margin-top:0}}.block-editor-error-boundary{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:.375rem;margin:1rem 0;padding:2rem;text-align:center}.error-boundary-content{margin:0 auto;max-width:600px}.error-boundary-title{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.error-boundary-message,.error-boundary-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.error-boundary-message{color:#666;font-size:1rem;line-height:1.5;margin:0 0 1.5rem}.error-boundary-details{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;margin:1.5rem 0;text-align:left}.error-boundary-details summary{background:#f5f5f5;border-bottom:1px solid #e0e0e0;color:#333;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;padding:.75rem}.error-boundary-details summary:hover{background:#f0f0f0}.error-boundary-stack{word-wrap:break-word;background:#fafafa;border:none;color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;margin:0;overflow-x:auto;padding:1rem;white-space:pre-wrap}.error-boundary-actions{display:flex;gap:.75rem;justify-content:center;margin-top:1.5rem}.error-boundary-refresh,.error-boundary-retry{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.error-boundary-refresh:hover,.error-boundary-retry:hover{background:#f5f5f5;border-color:#ccc}.error-boundary-refresh:active,.error-boundary-retry:active{background:#f0f0f0;transform:translateY(1px)}.error-boundary-retry{background:#333;border-color:#333;color:#fff}.error-boundary-retry:hover{background:#555;border-color:#555}@media (max-width:768px){.block-editor-error-boundary{margin:.5rem 0;padding:1rem}.error-boundary-title{font-size:1.25rem}.error-boundary-message{font-size:.875rem}.error-boundary-actions{flex-direction:column;gap:.5rem}.error-boundary-refresh,.error-boundary-retry{width:100%}}.habit-section-days{background:#fff;border-bottom:1px solid #f0f0f0;flex-shrink:0;position:relative;z-index:1}.habit-section-toggle-days{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:space-between;padding:1rem 1.5rem;transition:background-color .2s ease;width:100%}.habit-section-toggle-days:hover{background:#f9f9f9}.habit-toggle-text-days{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400}.habit-count-days{color:#999;font-size:.875rem}.habit-toggle-arrow-days{color:#999;font-size:.75rem;transition:transform .2s ease}.habit-section-content-days{background:#fafafa;border-top:1px solid #f5f5f5;overflow-y:auto;padding-left:1.5rem;padding-right:1.5rem;transition:all .3s ease-out}.habit-section-content-days.collapsed{background:#0000;border-top:none;overflow:hidden}.habit-section-content-days.expanded{background:#fafafa;border-top:1px solid #f5f5f5;box-shadow:0 2px 4px #0000000d}.habit-loading-days{color:#999;font-size:.875rem;padding:1rem 0;text-align:center}.habit-list-days{gap:.75rem}.habit-item-days,.habit-list-days{display:flex;flex-direction:column;padding:.5rem 0}.habit-item-days{gap:0;position:relative;transition:opacity .2s ease}.habit-item-days:hover{opacity:.8}.habit-item-content-days{align-items:center;display:flex;gap:.75rem;width:100%}.habit-checkbox-days{align-items:center;background:#fff;border:1.5px solid #d0d0d0;border-radius:3px;cursor:pointer;display:flex;flex-shrink:0;height:18px;justify-content:center;transition:all .2s ease;width:18px}.habit-checkbox-days:hover{border-color:#999}.habit-checkbox-days.completed{background:#333;border-color:#333}.habit-checkbox-mark-days{color:#fff;font-size:.75rem;font-weight:700;line-height:1}.habit-item-days .habit-icon-days{flex-shrink:0;font-size:1rem;text-align:center;width:20px}.habit-item-days .habit-name-days{color:#333;flex:1 1;font-size:.875rem;font-weight:400;line-height:1.4}.habit-item-days.completed .habit-name-days{color:#999;text-decoration:line-through}.habit-empty-days{color:#999;font-size:.875rem;font-style:italic;padding:1rem 0;text-align:center}.habit-add-btn-days{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;margin-top:.75rem;padding:.5rem;transition:all .2s;width:100%}.habit-add-btn-days:hover{background:#f5f5f5;border-color:#ccc;color:#333}.habit-progress-number-days{flex-shrink:0;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;font-weight:600;margin-left:auto;transition:color .2s ease}@media (max-width:768px){.habit-section-toggle-days{padding:.75rem 1rem}.habit-section-content-days{padding-left:1rem;padding-right:1rem}.habit-list-days{gap:.5rem}.habit-item-days{gap:0;padding:.375rem 0}.habit-item-content-days{gap:.5rem}.habit-progress-number-days{font-size:.6875rem}.habit-checkbox-days{height:16px;width:16px}.habit-checkbox-mark-days{font-size:.625rem}.habit-item-days .habit-icon-days{font-size:.875rem;width:18px}.habit-item-days .habit-name-days{font-size:.8125rem}}.notes-container{background-color:#fff;padding-bottom:2rem}.calendar-drawer-overlay,.options-drawer-overlay{align-items:flex-start;background:#0000004d;bottom:0;display:flex;justify-content:flex-end;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.calendar-drawer{width:420px}.calendar-drawer,.options-drawer{animation:slideIn .2s ease-out;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 4px 12px #00000026;margin-top:4rem;max-height:80vh;overflow:hidden}.options-drawer{width:320px}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.drawer-header{background:#f9f9f9;border-bottom:1px solid #e0e0e0}.drawer-header h3{color:#333;font-size:1rem;font-weight:500}.drawer-close{background:none;border:none;border-radius:50%;color:#666;cursor:pointer;font-size:1.25rem;padding:.25rem;transition:background-color .2s}.drawer-close:hover{background:#f0f0f0}.drawer-content{max-height:calc(80vh - 4rem);overflow-y:auto;padding:1.5rem}.option-section{margin-bottom:1.5rem}.option-section:last-child{margin-bottom:0}.option-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.75rem 0}.option-item:last-child{border-bottom:none}.option-label{color:#666;font-size:.875rem;font-weight:500}.option-value{color:#333;font-size:.875rem;font-weight:600}.save-btn-drawer{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1rem;transition:background-color .2s;width:100%}.save-btn-drawer:hover:not(:disabled){background:#222}.save-btn-drawer:disabled{background:#ccc;cursor:not-allowed;opacity:.5}.success-message{align-items:center;animation:slideInFromRight .3s ease-out;background:#d4edda;border:1px solid #c3e6cb;border-radius:.375rem;box-shadow:0 4px 12px #00000026;color:#155724;display:flex;font-size:.875rem;justify-content:space-between;margin:0;min-width:250px;padding:.75rem 1.5rem;position:fixed;right:20px;top:20px;z-index:1001}.error-message button,.success-message button{background:none;border:none;cursor:pointer;font-size:1.2rem;margin-left:1rem;padding:0}.notes-content{display:flex;flex-direction:column;overflow:hidden}.sections-toggle-container{background:#fff;border-bottom:1px solid #e0e0e0;width:100%}.sections-toggle-btn{align-items:center;background:none;border:none;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:space-between;padding:.75rem 1.5rem;transition:background-color .2s ease;width:100%}.sections-toggle-btn:hover{background:#f9f9f9}.sections-toggle-text{color:#666;font-size:.875rem;font-weight:500}.sections-toggle-arrow{color:#999;font-size:.75rem;transition:transform .2s ease}.date-selector{margin-bottom:2rem}.date-selector label{color:#495057;display:block;font-weight:600;margin-bottom:.5rem}.date-selector input[type=date]{border:1px solid #ced4da;border-radius:.375rem;font-size:.875rem;padding:.75rem;width:100%}.quick-navigation{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.quick-nav-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;min-width:0;padding:.5rem .75rem;transition:all .2s ease}.quick-nav-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.calendar-navigation{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;padding:.5rem 0}.calendar-nav-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;font-weight:500;height:40px;justify-content:center;padding:.5rem .75rem;transition:all .2s ease;width:40px}.calendar-nav-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.calendar-month-year-container{display:flex;flex:1 1;justify-content:center;position:relative}.calendar-month-year-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;font-size:1rem;font-weight:600;min-width:150px;padding:.5rem .75rem;transition:all .2s ease}.calendar-month-year-btn:hover{background:#f5f5f5;border-color:#ccc}.year-month-selector{animation:slideIn .2s ease-out;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 4px 12px #00000026;left:50%;min-width:280px;position:absolute;top:calc(100% + .5rem);transform:translateX(-50%);z-index:1001}.year-month-selector-header{align-items:center;background:#f9f9f9;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:.75rem 1rem}.year-month-selector-header span{color:#333;font-size:.875rem;font-weight:500}.year-month-selector-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:24px;justify-content:center;padding:.25rem;transition:background-color .2s;width:24px}.year-month-selector-close:hover{background:#f0f0f0}.year-month-selector-content{display:flex;flex-direction:column;gap:1rem;padding:1rem}.month-selector,.year-selector{display:flex;flex-direction:column;gap:.5rem}.year-month-label{color:#666;font-size:.875rem;font-weight:500}.year-month-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease;width:100%}.year-month-select:hover{border-color:#ccc}.year-month-select:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.calendar-grid{margin-top:1.5rem}.calendar-day-headers{grid-gap:1px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);margin-bottom:1px}.calendar-day-header{background:#f9f9f9;color:#666;font-size:.75rem;font-weight:600;padding:.5rem;text-align:center}.calendar-days{grid-gap:1px;background:#e0e0e0;display:grid;gap:1px;grid-template-columns:repeat(7,1fr)}.calendar-day{align-items:center;background:#fff;border:1px solid #0000;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:.875rem;justify-content:center;min-height:45px;padding:.75rem .5rem;position:relative;transition:all .2s ease}.calendar-day:hover{background:#f9f9f9}.calendar-day.selected{background:#333;color:#fff}.calendar-day.today{background:#f0f0f0;font-weight:600}.calendar-day.today.selected{background:#333;color:#fff}.calendar-day.has-note{background:#f5f5f5;border:1px solid #d0d0d0}.calendar-day.has-note:hover{background:#eee;border-color:#b0b0b0}.calendar-day.has-note.selected{background:#333;border-color:#333;color:#fff}.calendar-day.other-month{background:#fafafa;color:#ccc}.calendar-day.other-month:hover{background:#f5f5f5}.note-indicator{background:#333;border-radius:50%;bottom:5px;box-shadow:0 1px 2px #0000001a;height:8px;position:absolute;right:5px;width:8px}.calendar-day.selected .note-indicator{background:#fff;box-shadow:0 1px 2px #0003}.quick-nav-btn:active{background:#e0e0e0;transform:translateY(1px)}.today-badge{background:#007bff;border-radius:1rem;color:#fff;display:inline-block;font-size:.75rem;margin-left:.5rem;margin-top:.5rem;padding:.25rem .5rem}.search-section{margin-bottom:2rem}.search-input-group{display:flex;gap:.5rem;margin-bottom:1rem}.search-input-group input{border:1px solid #ced4da;border-radius:.375rem;flex:1 1;font-size:.875rem;padding:.75rem}.search-btn{background:#007bff;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;padding:.75rem 1rem;transition:background-color .2s}.search-btn:hover:not(:disabled){background:#0056b3}.search-btn:disabled{cursor:not-allowed;opacity:.6}.recent-notes,.search-results{margin-bottom:1.5rem}.recent-notes h4,.search-results h4{color:#495057;font-size:1rem;margin:0 0 1rem}.recent-notes ul,.search-results ul{list-style:none;margin:0;padding:0}.recent-notes li,.search-results li{border:1px solid #e9ecef;border-radius:.375rem;cursor:pointer;margin-bottom:.5rem;padding:.75rem;transition:background-color .2s}.recent-notes li:hover,.search-results li:hover{background:#f8f9fa}.recent-notes li.active{background:#e3f2fd;border-color:#2196f3}.note-date{color:#6c757d;font-weight:600;margin-bottom:.25rem}.note-preview{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#495057;display:-webkit-box;font-size:.875rem;line-height:1.4;overflow:hidden}.notes-main{background:#fff;display:flex;flex:1 1;flex-direction:column}.loading{flex:1 1;gap:1rem}.note-textarea{border:none;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.6;outline:none;padding:1.5rem;resize:none}.note-textarea::placeholder{color:#6c757d;line-height:1.6}.editor-footer{align-items:center;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;justify-content:space-between;padding:1rem 1.5rem}.editor-info{color:#6c757d;display:flex;font-size:.75rem;gap:1rem}.save-btn{background:#28a745;border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s}.save-btn:hover:not(:disabled){background:#218838}.save-btn:disabled{opacity:.6}.note-preview-content{flex:1 1;overflow-y:auto;padding:1.5rem}.markdown-content{color:#343a40;font-size:1rem;line-height:1.7;max-width:none}.markdown-h1{border-bottom:2px solid #e2e8f0;color:#1a202c;font-size:1.875rem;font-weight:700;line-height:1.2;margin:1.5rem 0 1rem}.markdown-h2{color:#2d3748;font-size:1.5rem;line-height:1.3;margin:1.25rem 0 .75rem}.markdown-h3{color:#4a5568;font-size:1.25rem;line-height:1.4;margin:1rem 0 .5rem}.markdown-p{color:#2d3748;line-height:1.7}.markdown-strong{color:#1a202c;font-weight:700}.markdown-em{color:#4a5568;font-style:italic}.markdown-del{color:#718096;opacity:.8;text-decoration:line-through}.markdown-code{border-radius:.375rem;color:#e53e3e;font-size:.875em;font-weight:500;padding:.125rem .375rem}.markdown-code,.markdown-pre{background:#f7fafc;border:1px solid #e2e8f0;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.markdown-pre{border-radius:.5rem;font-size:.875rem;line-height:1.5;margin:1rem 0;overflow-x:auto;padding:1rem}.markdown-pre code{background:none;border:none;color:#2d3748;font-size:inherit;padding:0}.markdown-blockquote{background:#ebf8ff;border-left:4px solid #4299e1;border-radius:0 .375rem .375rem 0;color:#2b6cb0;padding:.75rem 1rem}.markdown-blockquote p{margin:0}.markdown-ol,.markdown-ul{color:#2d3748;margin:1rem 0;padding-left:1.5rem}.markdown-ul{list-style-type:disc}.markdown-ol{list-style-type:decimal}.markdown-li{line-height:1.6;margin:.25rem 0}.markdown-li::marker{color:#4a5568}.markdown-ol .markdown-ol,.markdown-ol .markdown-ul,.markdown-ul .markdown-ol,.markdown-ul .markdown-ul{margin:.25rem 0}.markdown-ul .markdown-ul{list-style-type:circle}.markdown-ul .markdown-ul .markdown-ul{list-style-type:square}.markdown-content a{border-bottom:1px solid #0000;color:#3182ce;text-decoration:none;transition:all .2s ease}.markdown-content a:hover{border-bottom-color:#3182ce;color:#2c5282}.markdown-content table{border-collapse:collapse;font-size:.875rem;margin:1rem 0;width:100%}.markdown-content td,.markdown-content th{border:1px solid #e2e8f0;padding:.5rem .75rem;text-align:left}.markdown-content th{background:#f7fafc;color:#2d3748;font-weight:600}.markdown-content tr:nth-child(2n){background:#f9f9f9}.markdown-content hr{background:#e2e8f0;border:none;border-radius:1px;height:2px;margin:2rem 0}.empty-note-message{color:#6c757d;font-style:italic;margin-top:2rem;text-align:center}.auth-required{color:#6c757d;flex:1 1;font-size:1.125rem;text-align:center}.habit-section{background:#fff;border-bottom:1px solid #f0f0f0;flex-shrink:0;position:relative;z-index:1}.habit-section-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:space-between;padding:1rem 1.5rem;transition:background-color .2s ease;width:100%}.habit-section-toggle:hover{background:#f9f9f9}.habit-toggle-text{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400}.habit-count{color:#999;font-size:.875rem}.habit-toggle-arrow{color:#999;font-size:.75rem;transition:transform .2s ease}.habit-section-content{background:#fafafa;border-top:1px solid #f5f5f5;overflow-y:auto;padding-left:1.5rem;padding-right:1.5rem;transition:all .3s ease-out}.habit-section-content.collapsed{background:#0000;border-top:none;overflow:hidden}.habit-section-content.expanded{background:#fafafa;border-top:1px solid #f5f5f5;box-shadow:0 2px 4px #0000000d}.habit-loading{color:#999;font-size:.875rem;padding:1rem 0;text-align:center}.habit-list{flex-direction:column}.habit-item,.habit-list{display:flex;gap:.75rem;padding:.5rem 0}.habit-item{align-items:center;transition:opacity .2s ease}.habit-item:hover{opacity:.8}.habit-checkbox{align-items:center;background:#fff;border:1.5px solid #d0d0d0;border-radius:3px;cursor:pointer;display:flex;flex-shrink:0;height:18px;justify-content:center;transition:all .2s ease;width:18px}.habit-checkbox:hover{border-color:#999}.habit-checkbox.completed{background:#333;border-color:#333}.habit-checkbox-mark{color:#fff;font-size:.75rem;font-weight:700;line-height:1}.habit-item .habit-icon{flex-shrink:0;font-size:1rem;text-align:center;width:20px}.habit-item .habit-name{color:#333;flex:1 1;font-size:.875rem;font-weight:400;line-height:1.4}.habit-item.completed .habit-name{color:#999;text-decoration:line-through}.habit-empty{color:#999;font-size:.875rem;font-style:italic;padding:1rem 0;text-align:center}.goals-section,.schedule-section{background:#fff;border-bottom:1px solid #f0f0f0;flex-shrink:0;position:relative;z-index:1}.schedule-section-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:space-between;padding:1rem 1.5rem;transition:background-color .2s ease;width:100%}.schedule-section-toggle:hover{background:#f9f9f9}.schedule-toggle-text{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400}.schedule-count{color:#999;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem}.schedule-toggle-arrow{color:#999;font-size:.875rem;transition:transform .2s ease}.schedule-section-content{background:#fafafa;border-top:1px solid #f5f5f5;overflow-y:auto;padding-left:1.5rem;padding-right:1.5rem;transition:all .3s ease-out}.schedule-section-content.collapsed{background:#0000;border-top:none;overflow:hidden}.schedule-section-content.expanded{background:#fafafa;border-top:1px solid #f5f5f5;box-shadow:0 2px 4px #0000000d}.schedule-empty,.schedule-loading{color:#999;font-size:.875rem;padding:1rem 0;text-align:center}.schedule-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.schedule-view-all-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.schedule-view-all-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.schedule-list{display:flex;flex-direction:column;gap:.75rem}.schedule-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;gap:1rem;padding:.75rem;transition:all .2s ease}.schedule-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.schedule-time{background:#f5f5f5;border-radius:.25rem;color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500;min-width:4rem;padding:.25rem .5rem;text-align:center}.schedule-event-info{align-items:center;display:flex;flex:1 1;gap:.75rem}.schedule-event-color{border-radius:50%;flex-shrink:0;height:.75rem;width:.75rem}.schedule-event-details{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.schedule-event-title{color:#333;font-size:.875rem;font-weight:500}.schedule-event-duration{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem}.schedule-event-repeat{align-items:center;color:#999;display:flex;font-size:.75rem;gap:.25rem}.tasks-section{background:#fff;border-bottom:1px solid #f0f0f0;flex-shrink:0;position:relative;z-index:1}.goals-section-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:space-between;padding:1rem 1.5rem;transition:background-color .2s ease;width:100%}.goals-section-toggle:hover{background:#f9f9f9}.goals-toggle-text{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400}.goals-count{color:#999;font-size:.875rem}.goals-toggle-arrow{color:#999;font-size:.75rem;transition:transform .2s ease}.goals-section-content{background:#fafafa;border-top:1px solid #f5f5f5;overflow-y:auto;padding-left:1.5rem;padding-right:1.5rem;transition:all .3s ease-out}.goals-section-content.collapsed{background:#0000;border-top:none;overflow:hidden}.goals-section-content.expanded{background:#fafafa;border-top:1px solid #f5f5f5;box-shadow:0 2px 4px #0000000d}.goals-loading{color:#999;font-size:.875rem;padding:1rem 0;text-align:center}.goals-list{display:flex;flex-direction:column;gap:1rem;padding:.5rem 0}.goal-item{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;transition:all .2s ease}.goal-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.goal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.goal-title{color:#333;flex:1 1;font-size:.875rem;font-weight:500;line-height:1.4}.goal-title.clickable-title{border-radius:.25rem;cursor:pointer;margin:-.25rem -.5rem;padding:.25rem .5rem;transition:all .2s ease}.goal-title.clickable-title:hover{background:#f5f5f5;color:#000;transform:translateX(2px)}.goal-progress{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;font-weight:600}.goal-progress-bar{background:#f0f0f0;border-radius:2px;height:4px;margin-bottom:.5rem;overflow:hidden;width:100%}.goal-progress-fill{background:#333;border-radius:2px;height:100%;transition:width .3s ease}.goal-description{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:.75rem;line-height:1.4;margin-bottom:.75rem;overflow:hidden}.goal-actions{display:flex;gap:.5rem}.goal-progress-btn{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;padding:.25rem .5rem;transition:all .2s ease}.goal-progress-btn:hover:not(:disabled){background:#e8e8e8;border-color:#ccc;color:#333}.goal-progress-btn:disabled{cursor:not-allowed;opacity:.5}.goals-empty{color:#999;font-size:.875rem;font-style:italic;padding:1rem 0;text-align:center}.tasks-section-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:space-between;padding:1rem 1.5rem;transition:background-color .2s ease;width:100%}.tasks-section-toggle:hover{background:#f9f9f9}.tasks-toggle-text{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400}.tasks-count{color:#999;font-size:.875rem}.tasks-toggle-arrow{color:#999;font-size:.75rem;transition:transform .2s ease}.tasks-section-content{background:#fafafa;border-top:1px solid #f5f5f5;overflow-x:visible;overflow-y:auto;padding-left:1.5rem;padding-right:1.5rem;transition:all .3s ease-out}.tasks-section-content.collapsed{background:#0000;border-top:none;overflow:hidden}.tasks-section-content.expanded{background:#fafafa;border-top:1px solid #f5f5f5;box-shadow:0 2px 4px #0000000d}.tasks-loading{color:#999;font-size:.875rem;padding:1rem 0;text-align:center}.tasks-list{display:flex;flex-direction:column;gap:.75rem}.tasks-list .task-item{align-items:center;display:flex;gap:.75rem;padding:.5rem 0;transition:opacity .2s ease}.tasks-list .task-item:hover{opacity:.8}.tasks-list .task-item.highlighted{background:#f0f0f0;border-radius:.25rem;margin:0 -.5rem;padding:.5rem}.tasks-list .task-item.highlighted.completed{background:#e8e8e8}.task-checkbox{align-items:center;background:#fff;border:1.5px solid #d0d0d0;border-radius:3px;cursor:pointer;display:flex;flex-shrink:0;height:18px;justify-content:center;transition:all .2s ease;width:18px}.task-checkbox:hover{border-color:#999}.task-checkbox.completed{background:#333;border-color:#333}.task-checkbox-mark{color:#fff;font-size:.75rem;font-weight:700;line-height:1}.task-item .task-icon{flex-shrink:0;font-size:1rem;text-align:center;width:20px}.task-item .task-name{color:#333;font-size:.875rem;font-weight:400;line-height:1.4}.task-item.completed .task-name{color:#999;text-decoration:line-through}.task-item .task-name.clickable{cursor:pointer;transition:color .2s ease}.task-item .task-name.clickable:hover{color:#666;text-decoration:underline}.task-item.completed .task-name.clickable:hover{color:#666}.tasks-empty{color:#999;font-size:.875rem;font-style:italic;padding:1rem 0;text-align:center}.task-item-container{position:relative}.options-menu-dropdown{animation:slideIn .2s ease-out;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;margin-top:.25rem;min-width:220px;padding:.5rem 0;position:absolute;right:0;top:100%;z-index:100}.option-item-display{align-items:center;color:#666;display:flex;font-size:.875rem;justify-content:space-between;padding:.75rem 1rem}.option-item-display .option-label{color:#333;font-weight:500}.option-item-display .option-value{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.options-menu-dropdown .task-menu-option:disabled{cursor:not-allowed;opacity:.5}.options-menu-dropdown .task-menu-option:disabled:hover{background:none}.tasks-actions{display:flex;gap:.5rem;margin-bottom:1rem;padding:0 .5rem}.tasks-new-btn,.tasks-view-all-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;padding:.5rem .75rem;transition:all .2s ease}.tasks-new-btn:hover,.tasks-view-all-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.tasks-new-btn{background:#333;border-color:#333;color:#fff}.tasks-new-btn:hover{background:#555;border-color:#555;color:#fff}.new-task-form{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1rem;overflow:visible}.new-task-form-header{align-items:center;background:#f5f5f5;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:.75rem 1rem}.new-task-form-title{color:#333;font-size:.875rem;font-weight:500}.new-task-form-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:24px;justify-content:center;padding:.25rem;transition:all .2s ease;width:24px}.new-task-form-close:hover{background:#e0e0e0;color:#333}.new-task-form-content{padding:1rem}.new-task-description-input,.new-task-title-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-sizing:border-box;color:#333;font-family:inherit;font-size:.875rem;padding:.5rem;transition:border-color .2s ease;width:100%}.new-task-description-input:focus,.new-task-title-input:focus{border-color:#333;outline:none}.new-task-title-input{margin-bottom:.5rem}.new-task-description-input{margin-bottom:1rem;min-height:60px;resize:vertical}.new-task-tags-section{margin-bottom:1rem;position:relative;z-index:1}.new-task-form-actions{display:flex;gap:.5rem;justify-content:flex-end}.new-task-cancel-btn,.new-task-create-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.new-task-cancel-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.new-task-cancel-btn:disabled{cursor:not-allowed;opacity:.5}.new-task-create-btn{background:#333;border-color:#333;color:#fff}.new-task-create-btn:hover:not(:disabled){background:#555;border-color:#555}.new-task-create-btn:disabled{background:#ccc;border-color:#ccc;color:#999;cursor:not-allowed}@media (max-width:768px){.calendar-drawer{margin-top:2rem;width:calc(100vw - 2rem)}.calendar-day{font-size:.8125rem;min-height:40px;padding:.5rem .25rem}.calendar-day-header{font-size:.6875rem;padding:.375rem}.note-indicator{bottom:4px;height:7px;right:4px;width:7px}.habit-section-toggle{padding:.75rem 1rem}.habit-section-content{padding-left:1rem;padding-right:1rem}.habit-list{gap:.5rem}.habit-item{gap:.5rem;padding:.375rem 0}.habit-checkbox{height:16px;width:16px}.habit-checkbox-mark{font-size:.625rem}.habit-item .habit-icon{font-size:.875rem;width:18px}.habit-item .habit-name{font-size:.8125rem}.goals-section-toggle{padding:.75rem 1rem}.goals-section-content{padding-left:1rem;padding-right:1rem}.schedule-section-toggle{padding:.75rem 1rem}.schedule-section-content{padding-left:1rem;padding-right:1rem}.schedule-item{gap:.5rem;padding:.5rem}.schedule-time{font-size:.75rem;min-width:3.5rem}.schedule-event-title{font-size:.8125rem}.tasks-section-toggle{padding:.75rem 1rem}.tasks-section-content{padding-left:1rem;padding-right:1rem}.goals-list{gap:.75rem}.goal-item{padding:.75rem}.goal-header{margin-bottom:.5rem}.goal-title{font-size:.8125rem}.goal-description,.goal-progress{font-size:.6875rem}.goal-description{margin-bottom:.5rem}.goal-progress-btn{font-size:.6875rem;padding:.1875rem .375rem}.sections-toggle-btn{padding:.5rem 1rem}.sections-toggle-text{font-size:.8125rem}.note-textarea{padding:1rem}.editor-footer{flex-direction:column;gap:.5rem;padding:.75rem 1rem}.editor-info{justify-content:center}}@media (max-width:480px){.calendar-drawer{margin-top:1rem;width:calc(100vw - 1rem)}.calendar-day{font-size:.75rem;min-height:35px;padding:.375rem .125rem}.calendar-day-header{font-size:.625rem;padding:.25rem}.calendar-month-year{font-size:.875rem}.calendar-month-year-btn{font-size:.875rem;min-width:120px;padding:.375rem .5rem}.year-month-selector{min-width:240px}.calendar-nav-btn{font-size:1rem;height:35px;width:35px}.drawer-content{padding:1rem}.success-message{left:10px;max-width:calc(100vw - 20px);min-width:0;min-width:auto;right:10px;top:10px}}.learning-section{background:#fff;border-bottom:1px solid #f0f0f0;flex-shrink:0;position:relative;z-index:1}.learning-section-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:space-between;padding:1rem 1.5rem;transition:background-color .2s ease;width:100%}.learning-section-toggle:hover{background:#f9f9f9}.learning-toggle-text{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400}.learning-count{color:#999;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem}.learning-toggle-arrow{color:#666;font-size:.875rem;transition:transform .2s ease}.learning-section-content{background:#fafafa;border-top:1px solid #f5f5f5;overflow-y:auto;padding-left:1.5rem;padding-right:1.5rem;transition:all .3s ease-out}.learning-section-content.collapsed{background:#0000;border-top:none;overflow:hidden}.learning-section-content.expanded{background:#fafafa;border-top:1px solid #f5f5f5;box-shadow:0 2px 4px #0000000d}.learning-loading{color:#999;font-size:.875rem;padding:1rem 0;text-align:center}.learning-actions{display:flex;justify-content:flex-end;margin-bottom:1rem}.learning-view-all-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.learning-view-all-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.learning-list{display:flex;flex-direction:column;gap:1rem}.learning-item{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;transition:all .2s ease}.learning-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.learning-item-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.learning-item-title-section{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.learning-item-primary-action{flex-shrink:0}.learning-item-title{color:#333;cursor:pointer;font-size:1rem;font-weight:500;transition:color .2s ease}.learning-item-title:hover{color:#000}.learning-item-title.clickable{text-decoration:underline;text-decoration-color:#0000;transition:text-decoration-color .2s ease,color .2s ease}.learning-item-title.clickable:hover{text-decoration-color:#333}.learning-item-status{background:#f5f5f5;border-radius:.25rem;color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500;padding:.25rem .5rem}.learning-item-description{color:#666;font-size:.875rem;line-height:1.4;margin-bottom:.75rem}.learning-item-category{background:#f5f5f5;border-radius:.25rem;color:#666;display:inline-block;font-size:.75rem;margin-bottom:.5rem;padding:.25rem .5rem}.learning-next-lesson{background:#f9f9f9;border-left:3px solid #333;border-radius:.25rem;margin-bottom:.75rem;padding:.5rem}.next-lesson-label{color:#666;font-size:.75rem;margin-right:.5rem}.next-lesson-id{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500}.learning-item-actions{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.learn-next-btn,.learning-item-buttons{display:flex;gap:.5rem}.learn-next-btn{align-items:center;border:none;border-radius:.25rem;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1.25rem;transition:all .2s ease}.learn-next-btn.primary{background:#333;color:#fff}.learn-next-btn.primary:hover{background:#000;box-shadow:0 2px 8px #00000026;transform:translateX(3px)}.learn-next-btn.secondary{background:#f5f5f5;border:1px solid #e0e0e0;color:#333}.learn-next-btn.secondary:hover{background:#fff;border-color:#ccc;box-shadow:0 1px 4px #0000001a;transform:translateX(2px)}.learn-next-btn.compact{font-size:.8125rem;font-weight:500;padding:.5rem 1rem}.learning-item-last-access{color:#999;font-size:.75rem}.learning-empty{color:#999;font-size:.875rem;padding:2rem 0;text-align:center}.learning-empty-suggestion{margin-top:1rem}.learning-browse-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.learning-browse-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}@media (max-width:768px){.learning-section-toggle{padding:.75rem 1rem}.learning-section-content{padding-left:1rem;padding-right:1rem}.learning-item{padding:.75rem}.learning-item-header{align-items:stretch;flex-direction:column;gap:.75rem}.learning-item-title-section{order:1}.learning-item-primary-action{align-self:stretch;order:2}.learning-item-primary-action .learn-next-btn{font-size:.875rem;justify-content:center;padding:.75rem 1rem;width:100%}.learning-item-progress{align-self:flex-end}.learning-item-actions{align-items:flex-start;flex-direction:column;gap:.75rem}.learning-item-buttons{align-self:stretch;justify-content:center}.learn-next-btn{flex:1 1;font-size:.8125rem;font-weight:500;justify-content:center;padding:.625rem 1rem}.learning-next-lesson{margin-bottom:.5rem;padding:.375rem}.next-lesson-label{font-size:.6875rem}.next-lesson-id{font-size:.8125rem}}.knowledge-section-days{border-top:1px solid #f5f5f5}.knowledge-section-toggle-days{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:background-color .2s ease;width:100%}.knowledge-section-toggle-days:hover{background:#f9f9f9}.knowledge-toggle-text-days{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400}.knowledge-count-days{color:#999;font-family:inherit;font-size:.875rem}.knowledge-toggle-arrow-days{color:#999;font-size:.75rem;transition:transform .2s ease}.knowledge-section-content-days{background:#fafafa;border-top:1px solid #f5f5f5;overflow-y:auto;padding-left:1.5rem;padding-right:1.5rem;transition:all .3s ease-out}.knowledge-section-content-days.collapsed{border-top:none}.knowledge-empty-days,.knowledge-loading-days{color:#666;font-size:.875rem;padding:1rem 0;text-align:center}.knowledge-list-days{display:flex;flex-direction:column}.knowledge-item-days{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 0;transition:background-color .2s ease}.knowledge-item-days:last-child{border-bottom:none}.knowledge-item-days:hover{background:#f5f5f5}.knowledge-item-name-days{color:#333;font-size:.875rem}.knowledge-item-count-days{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem}.knowledge-actions-days{display:flex;justify-content:flex-end;margin-top:1rem}.knowledge-view-all-btn-days{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem;transition:all .2s}.knowledge-view-all-btn-days:hover{background:#f5f5f5;border-color:#ccc;color:#333}.novels-section-days{border-top:1px solid #f5f5f5}.novels-section-toggle-days{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:background-color .2s ease;width:100%}.novels-section-toggle-days:hover{background:#f9f9f9}.novels-toggle-text-days{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400}.novels-count-days{color:#999;font-family:inherit;font-size:.875rem}.novels-toggle-arrow-days{color:#999;font-size:.75rem;transition:transform .2s ease}.novels-section-content-days{background:#fafafa;border-top:1px solid #f5f5f5;overflow-y:auto;padding-left:1.5rem;padding-right:1.5rem;transition:all .3s ease-out}.novels-section-content-days.collapsed{border-top:none}.novels-empty-days,.novels-loading-days{color:#666;font-size:.875rem;padding:1rem 0;text-align:center}.novels-list-days{display:flex;flex-direction:column}.novels-item-days{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 0;transition:background-color .2s ease}.novels-item-days:last-child{border-bottom:none}.novels-item-days:hover{background:#f5f5f5}.novels-item-name-days{color:#333;font-size:.875rem}.novels-item-count-days{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem}.novels-actions-days{display:flex;justify-content:flex-end;margin-top:1rem}.novels-view-all-btn-days{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem;transition:all .2s}.novels-view-all-btn-days:hover{background:#f5f5f5;border-color:#ccc;color:#333}.goals-section-days{border-top:1px solid #f5f5f5}.goals-section-toggle-days{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:background-color .2s ease;width:100%}.goals-section-toggle-days:hover{background:#f9f9f9}.goals-toggle-text-days{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400}.goals-count-days{color:#999;font-family:inherit;font-size:.875rem}.goals-toggle-arrow-days{color:#999;font-size:.75rem;transition:transform .2s ease}.goals-section-content-days{background:#fafafa;border-top:1px solid #f5f5f5;overflow-y:auto;padding-left:1.5rem;padding-right:1.5rem;transition:all .3s ease-out}.goals-section-content-days.collapsed{border-top:none}.goals-empty-days,.goals-loading-days{color:#666;font-size:.875rem;padding:1rem 0;text-align:center}.goals-actions-days{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;margin-top:1rem}.goals-view-all-btn-days{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem;transition:all .2s}.goals-view-all-btn-days:hover{background:#f5f5f5;border-color:#ccc;color:#333}.goals-list-with-progress{display:flex;flex-direction:column;gap:.5rem}.goal-item-with-progress{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;display:flex;gap:.75rem;justify-content:space-between;padding:.5rem .75rem;transition:all .2s ease}.goal-item-with-progress:hover{background:#f9f9f9;border-color:#ccc;box-shadow:0 1px 3px #0000001a}.goal-name-progress{color:#333;flex:1 1;font-size:.875rem;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-name-progress.clickable-goal:hover{color:#333;text-decoration:none}.goal-progress-badge{border-radius:.25rem;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;font-weight:600;min-width:42px;padding:.125rem .5rem;text-align:center;transition:all .2s ease;white-space:nowrap}.goal-progress-loading{align-items:center;display:flex;justify-content:center;min-width:42px;padding:.125rem .5rem}.progress-spinner{animation:spin 1s linear infinite;color:#666;display:inline-block;font-size:.875rem}.ongoing-works-section-days{border-top:1px solid #f5f5f5}.ongoing-works-section-toggle-days{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:background-color .2s ease;width:100%}.ongoing-works-section-toggle-days:hover{background:#f9f9f9}.ongoing-works-toggle-text-days{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400}.ongoing-works-count-days{color:#999;font-family:inherit;font-size:.875rem}.ongoing-works-toggle-arrow-days{color:#999;font-size:.75rem;transition:transform .2s ease}.ongoing-works-section-content-days{background:#fafafa;border-top:1px solid #f5f5f5;overflow-y:auto;padding-left:1.5rem;padding-right:1.5rem;transition:all .3s ease-out}.ongoing-works-section-content-days.collapsed{border-top:none}.ongoing-works-empty-days,.ongoing-works-loading-days{color:#666;font-size:.875rem;padding:1rem 0;text-align:center}.ongoing-works-subsection-days{margin-bottom:1.5rem}.ongoing-works-subsection-days:last-child{margin-bottom:0}.ongoing-works-subsection-header-days{color:#999;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;font-weight:500;margin-bottom:.5rem;text-transform:uppercase}.ongoing-works-list-days{display:flex;flex-direction:column}.ongoing-works-item-days{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:.5rem;justify-content:space-between;padding:.75rem 0;transition:background-color .2s ease}.ongoing-works-item-days:last-child{border-bottom:none}.ongoing-works-item-days:hover{background:#f5f5f5}.ongoing-works-item-content-days{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.ongoing-works-item-name-days{color:#333;font-size:.875rem}.ongoing-works-item-author-days{color:#666;font-size:.75rem;font-style:italic}.ongoing-works-item-count-days{color:#666;flex-shrink:0;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem}.ongoing-works-actions-days{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;margin-top:1rem}.ongoing-works-view-all-btn-days{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem;transition:all .2s}.ongoing-works-view-all-btn-days:hover{background:#f5f5f5;border-color:#ccc;color:#333}.notes-container{width:100%}.notes-create-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.notes-create-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.notes-error{align-items:center;background:#f8d7da;border-bottom:1px solid #f5c6cb;color:#721c24;display:flex;font-size:.875rem;justify-content:space-between;padding:.75rem 1.5rem}.notes-retry-btn{background:none;border:1px solid #721c24;border-radius:.25rem;color:#721c24;cursor:pointer;font-size:.75rem;padding:.25rem .5rem;transition:all .2s ease}.notes-retry-btn:hover{background:#721c24;color:#fff}.notes-auth-message{color:#666;font-size:1rem;padding:2rem 1.5rem;text-align:center}.notes-create-form{animation:slideDown .3s ease-out;background:#fafafa;border-bottom:1px solid #f5f5f5}.create-form-header{border-bottom:1px solid #f0f0f0;padding:1rem 1.5rem .5rem}.create-form-title{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400}.create-form-content{padding:1rem 1.5rem}.create-note-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:1rem;margin-bottom:.75rem;padding:.75rem;transition:border-color .2s ease;width:100%}.create-note-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333;outline:none}.create-note-input::placeholder{color:#999}.create-form-actions{display:flex;gap:.5rem}.create-submit-btn{background:#333;border:1px solid #333;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.create-submit-btn:hover{background:#222;border-color:#222}.create-cancel-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.create-cancel-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.notes-search{background:#fff;border-bottom:1px solid #f5f5f5;padding:1rem 1.5rem}.notes-search-input{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.875rem;padding:.75rem;transition:all .2s ease;width:100%}.notes-search-input:focus{background:#fff;border-color:#333;box-shadow:0 0 0 2px #3333;outline:none}.notes-search-input::placeholder{color:#999}.notes-content{flex:1 1;overflow-y:auto;padding:0}.notes-empty,.notes-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:3rem 1.5rem}.notes-empty{text-align:center}.notes-empty p{font-size:1rem;margin:0 0 1rem}.clear-search-btn,.create-first-note-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.clear-search-btn:hover,.create-first-note-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.notes-list{padding:0}.note-item{border-bottom:1px solid #f5f5f5;cursor:pointer;padding:1rem 1.5rem;transition:background-color .2s ease}.note-item:hover{background:#f9f9f9}.note-item:last-child{border-bottom:none}.note-item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.note-item-title{color:#333;flex:1 1;font-size:1rem;font-weight:500;line-height:1.4;margin:0}.note-item-actions{display:flex;gap:.25rem;margin-left:.75rem;opacity:0;transition:opacity .2s ease}.note-item:hover .note-item-actions{opacity:1}.note-delete-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:.875rem;justify-content:center;padding:.25rem;transition:all .2s ease}.note-delete-btn:hover{background:#f8d7da;color:#721c24}.note-item-meta{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.note-item-id{background:#f5f5f5;border-radius:.25rem;color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;padding:.25rem .5rem}.note-item-blocks,.note-item-date{color:#999;font-size:.75rem}@media (max-width:768px){.create-form-content,.note-item,.notes-search{padding:.75rem 1rem}.notes-empty,.notes-loading{padding:2rem 1rem}}@media (max-width:480px){.notes-header{flex-wrap:wrap;gap:.5rem}.notes-header-actions{justify-content:flex-end}.note-item-header{align-items:flex-start;flex-direction:column;gap:.5rem}.note-item-actions{margin-left:0;opacity:1}.note-item-meta{align-items:flex-start;flex-direction:column;gap:.25rem}}.note-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;width:100%}.note-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.5rem;position:sticky;top:0;z-index:10}.header-left{gap:.5rem}.menu-btn{font-size:1rem}.note-header-content{display:flex;flex:1 1;flex-direction:column;gap:.5rem;min-width:0}.note-title-display{color:#333;cursor:pointer;font-size:1.5rem;font-weight:600;margin:0;transition:color .2s ease;word-break:break-word}.note-title-display:hover{color:#666}.note-title-input{background:none;border:none;border-bottom:2px solid #333;color:#333;font-size:1.5rem;font-weight:600;margin:0;outline:none;padding:0;width:100%}.note-title-section{background:#fff;border-bottom:1px solid #f5f5f5;padding:2rem 1.5rem 1.5rem}.note-title-display-large{align-items:center;color:#333;cursor:pointer;display:flex;font-size:2rem;font-weight:600;line-height:1.2;margin:0;min-height:2.4rem;transition:color .2s ease;word-break:break-word}.note-title-display-large:hover{color:#666}.note-title-display-large:empty:before{color:#999;content:"Untitled Note";font-style:italic}.note-title-input-large{background:none;border:none;border-bottom:2px solid #333;color:#333;font-family:inherit;font-size:2rem;font-weight:600;line-height:1.2;margin:0;min-height:2.4rem;outline:none;padding:0;resize:none;width:100%}.note-title-input-large::placeholder{color:#999;font-style:italic}.note-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.note-id{background:#f5f5f5;border-radius:.25rem;color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;padding:.25rem .5rem}.note-date{color:#999}.note-meta-section{background:#fff;border-bottom:1px solid #f5f5f5}.meta-section-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;text-align:left;transition:background-color .2s ease;width:100%}.meta-section-toggle:hover{background:#f9f9f9}.meta-toggle-text{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400}.meta-toggle-arrow{color:#999;font-size:.75rem;transition:transform .2s ease}.meta-section-content{overflow:hidden;transition:all .3s ease-out}.meta-section-content.collapsed{max-height:0;opacity:0}.meta-section-content.expanded{max-height:200px;opacity:1}.meta-section-content .note-meta{background:#fafafa;border-top:1px solid #f5f5f5;display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.5rem}.meta-item{align-items:center;display:flex;gap:.5rem}.meta-label{color:#999;font-size:.75rem;font-weight:500;min-width:60px}.note-blocks-count{color:#666;font-size:.75rem}.note-header-actions{align-items:center;display:flex;flex-shrink:0;gap:.75rem}.note-menu-container{position:relative}.note-menu-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;height:32px;justify-content:center;line-height:1;padding:.5rem;transition:all .2s ease;width:32px}.note-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.note-menu-btn:focus{box-shadow:0 0 0 2px #3333;outline:none}.note-dropdown-menu{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;min-width:160px;padding:.5rem 0;position:absolute;right:0;top:calc(100% + 5px);width:160px;z-index:20}.note-menu-item{background:none;border:none;color:#333;cursor:pointer;display:block;font-family:inherit;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.note-menu-item:hover{background-color:#f5f5f5}.note-menu-item-danger{color:#721c24}.note-menu-item-danger:hover{background-color:#f8d7da}.note-menu-separator{background:#e0e0e0;height:1px;margin:.25rem 0}.note-saving-indicator{align-items:center;color:#666;display:flex;font-size:.875rem;gap:.5rem}.saving-spinner{animation:spin 1s linear infinite;border-left-color:#666;height:16px;width:16px}.note-error{align-items:center;background:#f8d7da;border-bottom:1px solid #f5c6cb;color:#721c24;display:flex;font-size:.875rem;justify-content:space-between;padding:.75rem 1.5rem}.note-retry-btn{background:none;border:1px solid #721c24;border-radius:.25rem;color:#721c24;cursor:pointer;font-size:.75rem;padding:.25rem .5rem;transition:all .2s ease}.note-retry-btn:hover{background:#721c24;color:#fff}.note-success{animation:slideDown .3s ease-out;background:#d4edda;border-bottom:1px solid #c3e6cb;color:#155724;font-size:.875rem;padding:.75rem 1.5rem}.note-auth-message{color:#666;font-size:1rem;padding:2rem 1.5rem;text-align:center}.note-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow-y:scroll}.note-loading{flex:1 1;padding:3rem 1.5rem}.note-editor{display:flex;flex:1 1;flex-direction:column;min-height:0}.note-editor .block-editor{flex:1 1}.note-editor .block-editor .block-list{max-width:none}.note-editor .block-editor-empty{color:#999;font-style:italic;padding:2rem 0;text-align:center}@media (max-width:768px){.note-header{padding:.75rem 1rem}.note-title-section{padding:1.5rem 1rem 1rem}.note-title-display,.note-title-input{font-size:1.25rem}.note-title-display-large,.note-title-input-large{font-size:1.5rem;min-height:1.8rem}.meta-section-content .note-meta,.meta-section-toggle{padding:.75rem 1rem}.meta-item{align-items:flex-start;flex-direction:column;gap:.25rem}.meta-label{min-width:auto}}@media (max-width:480px){.note-header{padding:.5rem .75rem}.note-title-section{padding:1rem .75rem .75rem}.note-title-display,.note-title-input{font-size:1.125rem}.note-title-display-large,.note-title-input-large{font-size:1.25rem;min-height:1.5rem}.note-back-btn{padding:.375rem .5rem}.note-back-btn,.note-saving-indicator{font-size:.8125rem}.meta-section-toggle{padding:.5rem .75rem}.meta-toggle-text{font-size:.8125rem}.meta-section-content .note-meta{padding:.5rem .75rem}}.note-title-input-large:focus,.note-title-input:focus{border-bottom-color:#333;outline:none}.menu-btn:focus,.note-back-btn:focus,.note-retry-btn:focus{box-shadow:0 0 0 2px #3333;outline:none}.note-title-display[title]:hover:after{background:#333;border-radius:.25rem;bottom:100%;color:#fff;content:attr(title);font-size:.75rem;left:50%;opacity:.9;padding:.25rem .5rem;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:1000}.note-container *{transition:color .2s ease,background-color .2s ease,border-color .2s ease}.note-sync-status-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #e0e0e0;border-radius:50%;bottom:1.5rem;box-shadow:0 2px 8px #0000001a;display:flex;font-size:1rem;height:40px;justify-content:center;position:fixed;right:1.5rem;transition:all .3s ease;width:40px;z-index:1000}.note-sync-status-icon.syncing{background:#fffffff2;border-color:#666}.note-sync-status-icon.synced{background:#28a7451a;border-color:#28a745}.note-sync-status-icon.error{background:#dc35451a;border-color:#dc3545}.note-sync-spinner{animation:noteSyncRotate 1s linear infinite;color:#666}.note-sync-check{color:#28a745;font-weight:600}.note-sync-error{color:#dc3545;font-weight:600}@keyframes noteSyncRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.note-sync-status-icon{bottom:1rem;font-size:.875rem;height:36px;right:1rem;width:36px}}@media (max-width:480px){.note-sync-status-icon{bottom:.75rem;font-size:.8125rem;height:32px;right:.75rem;width:32px}}.note-create-confirm{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:center;min-height:200px;padding:2rem 1.5rem}.create-confirm-content{background:#fafafa;border:1px solid #e0e0e0;border-radius:.5rem;box-shadow:0 2px 4px #0000000d;max-width:500px;padding:2rem;text-align:center;width:100%}.create-confirm-title{color:#333;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.create-confirm-message{color:#666;font-size:.875rem;line-height:1.5;margin:0 0 1.5rem}.note-id-display{background:#f0f0f0;border-radius:.25rem;color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.8125rem;padding:.125rem .375rem}.create-confirm-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.create-confirm-btn{border:1px solid;border-radius:.25rem;cursor:pointer;font-size:.875rem;font-weight:500;min-width:120px;padding:.5rem 1rem;transition:all .2s ease}.create-confirm-btn:disabled{cursor:not-allowed;opacity:.6}.create-confirm-yes{background:#333;border-color:#333;color:#fff}.create-confirm-yes:hover:not(:disabled){background:#555;border-color:#555}.create-confirm-no{background:#fff;border-color:#e0e0e0;color:#666}.create-confirm-no:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.create-confirm-btn:focus{box-shadow:0 0 0 2px #3333;outline:none}@media (max-width:768px){.note-create-confirm{padding:1.5rem 1rem}.create-confirm-content{padding:1.5rem}.create-confirm-title{font-size:1.125rem}.create-confirm-message{font-size:.8125rem}.create-confirm-actions{align-items:center;flex-direction:column}.create-confirm-btn{max-width:200px;width:100%}}@media (max-width:480px){.note-create-confirm{padding:1rem .75rem}.create-confirm-content{padding:1rem}.create-confirm-title{font-size:1rem}.create-confirm-message{font-size:.75rem}}@media print{.note-create-confirm,.note-error,.note-header,.note-sync-status-icon{display:none}.note-container{height:auto}.note-content{overflow:visible}}.block-page-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.block-page-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;min-height:60px;padding:1rem 1.5rem}.back-btn,.menu-btn{background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;font-size:1.25rem;padding:.5rem;transition:background-color .2s ease}.back-btn:hover,.menu-btn:hover{background:#f5f5f5;color:#333}.back-btn{margin-left:.5rem}.header-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:500}.header-actions{align-items:center;display:flex;gap:.5rem}.block-page-mode-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.8125rem;font-weight:500;padding:.5rem .75rem;transition:all .2s ease}.block-page-mode-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.block-page-mode-btn:active{background:#e0e0e0}.block-page-mode-btn:focus{box-shadow:0 0 0 2px #3333;outline:none}.error-message{align-items:center;border-bottom:1px solid #f5c6cb;display:flex;font-size:.875rem;justify-content:space-between;margin:0;padding:.75rem 1.5rem}.error-message button{background:none;border:none;border-radius:.25rem;color:inherit;cursor:pointer;font-size:1rem;padding:.25rem;transition:background-color .2s ease}.error-message button:hover{background:#0000001a}.block-page-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow-y:auto}.loading{flex-direction:column}.auth-required,.loading{align-items:center;display:flex;justify-content:center}.auth-required,.block-not-found{color:#666;font-size:1rem;padding:3rem}.block-not-found{align-items:center;display:flex;justify-content:center}.parent-block-content{background:#fff;border-bottom:1px solid #f0f0f0;padding:1.5rem}.parent-block-text{word-wrap:break-word;color:#333;font-size:1rem;line-height:1.6;margin:0;padding:0;white-space:pre-wrap}.parent-block-image{align-items:center;display:flex;justify-content:flex-start;margin:.5rem 0;padding:.25rem 0}.parent-block-image-placeholder{color:#666;font-size:.875rem;font-style:italic;padding:.5rem}.block-editor{background:#fff;display:flex;flex:1 1;flex-direction:column;min-height:0}.children-loading{color:#666;font-size:.875rem;padding:2rem;text-align:center}@media (max-width:768px){.block-page-header,.parent-block-content{padding:1rem}}@media (max-width:480px){.header-title,.parent-block-text{font-size:.875rem}}.task-form{display:flex;flex-direction:column;gap:1rem}.task-form-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24}.task-form-error,.task-form-success{font-size:.875rem;padding:.75rem 1rem}.task-form-success{background:#d4edda;border:1px solid #c3e6cb;border-radius:.25rem;color:#155724}.task-form-date-input,.task-form-description-input,.task-form-status-select,.task-form-title-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;padding:.75rem;transition:all .2s ease;width:100%}.task-form-date-input:focus,.task-form-description-input:focus,.task-form-status-select:focus,.task-form-title-input:focus{border-color:#666;box-shadow:0 0 0 2px #3333331a;outline:none}.task-form-description-input::placeholder,.task-form-title-input::placeholder{color:#999}.task-form-description-input{min-height:80px;resize:vertical}.task-form-row{align-items:flex-start;display:flex;gap:1rem}.task-form-date-group{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.task-form-date-label{color:#666;font-size:.875rem;font-weight:500}.task-form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.task-form-cancel-btn,.task-form-save-btn{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.task-form-save-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.task-form-save-btn:disabled{cursor:not-allowed;opacity:.5}.task-form-cancel-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.task-form-cancel-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.task-form-row{gap:.75rem}.task-form-actions,.task-form-row{flex-direction:column}.task-form-cancel-btn,.task-form-save-btn{width:100%}}.task-detail,.task-management{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;overflow:hidden}.task-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;flex-direction:row;justify-content:space-between;padding:1.5rem;position:sticky;top:0;z-index:10}.task-header h1{color:#333;flex:1 1;font-size:1.5rem;font-weight:600;margin:0;text-align:center}.add-task-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1.2rem;min-width:2.5rem;padding:.5rem .75rem;transition:all .2s ease}.add-task-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.back-btn{padding:.5rem .75rem}.delete-btn,.edit-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.edit-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.delete-btn:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.tm-error-message{align-items:center;background:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;display:flex;font-size:.875rem;justify-content:space-between;margin:1rem 1.5rem;padding:.75rem 1rem}.tm-error-message button{background:none;border:none;color:#721c24;cursor:pointer;font-size:1rem;padding:0}.add-task-form{background:#fafafa;border-bottom:1px solid #f5f5f5;padding:1.5rem}.tm-task-description-input,.tm-task-title-input{border:1px solid #e0e0e0;border-radius:.25rem;font-family:inherit;font-size:1rem;margin-bottom:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.tm-task-description-input:focus,.tm-task-title-input:focus{border-color:#333;outline:none}.tm-task-description-input{min-height:80px;resize:vertical}.date-input-group{display:flex;flex:1 1;flex-direction:column}.date-label{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.tm-task-date-input,.tm-task-status-select{border:1px solid #e0e0e0;border-radius:.25rem;flex:1 1;font-family:inherit;font-size:1rem;padding:.75rem;transition:border-color .2s ease}.tm-task-date-input:focus,.tm-task-status-select:focus{border-color:#333;outline:none}.form-actions{gap:.75rem}.save-btn,.tm-save-task-btn{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s ease}.save-btn:hover,.tm-save-task-btn:hover{background:#555}.save-btn:disabled,.tm-save-task-btn:disabled{background:#ccc;cursor:not-allowed}.tm-cancel-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.75rem 1.5rem;transition:all .2s ease}.tm-cancel-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.task-search-container{background:#fff;border-bottom:1px solid #f5f5f5;padding:1rem 1.5rem}.task-search-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:inherit;font-size:.875rem;padding:.75rem;transition:border-color .2s ease;width:100%}.task-search-input:focus{border-color:#333;outline:none}.task-search-input::placeholder{color:#999}.task-filters{background:#fff;border-bottom:1px solid #f5f5f5;display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 1.5rem}.tm-task-list-container{background:#fff;flex:1 1;overflow-x:hidden;overflow-y:auto;scrollbar-color:#ccc #f5f5f5;scrollbar-width:thin}.tm-task-list-container::-webkit-scrollbar{width:8px}.tm-task-list-container::-webkit-scrollbar-track{background:#f5f5f5;border-radius:4px}.tm-task-list-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}.tm-task-list-container::-webkit-scrollbar-thumb:hover{background:#999}.tm-task-list{min-height:100%;padding:1.5rem;position:relative}.tm-task-list:after{background:linear-gradient(#0000,#fffc);bottom:0;content:"";height:1rem;left:0;opacity:0;pointer-events:none;position:absolute;right:0;transition:opacity .3s ease}.tm-task-list-container:not(.at-bottom) .tm-task-list:after{opacity:1}.error-state,.tm-auth-required,.tm-empty-state,.tm-loading-state{color:#666;padding:3rem 1.5rem;text-align:center}.tm-loading-spinner{animation:spin 1s linear infinite;border:2px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:2rem;margin:0 auto 1rem;width:2rem}.tm-add-first-task-btn{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;margin-top:1rem;padding:.75rem 1.5rem;transition:background-color .2s ease}.tm-add-first-task-btn:hover{background:#555}.tm-task-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;margin-bottom:.75rem;overflow:hidden;transition:all .2s ease}.tm-task-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.tm-task-item.overdue{background:#fdf2f2;border-color:#f5c6cb}.tm-task-item.completed{opacity:.7}.tm-task-main{align-items:center;cursor:pointer;display:flex;flex:1 1;padding:1rem;transition:background-color .2s ease}.tm-task-main:hover{background:#f9f9f9}.tm-task-status-icon{font-size:1.25rem;margin-right:.75rem;min-width:1.5rem;text-align:center}.tm-task-content{flex:1 1}.tm-task-title{color:#333;font-size:1rem;font-weight:500;margin:0 0 .25rem}.tm-task-item.completed .tm-task-title{color:#666;text-decoration:line-through}.tm-task-description{color:#666;font-size:.875rem;line-height:1.4;margin:0 0 .5rem}.tm-task-meta{color:#666;display:flex;font-size:.75rem;gap:1rem}.tm-task-due-date.overdue{color:#721c24;font-weight:500}.tm-task-status-text{text-transform:capitalize}.tm-task-actions{padding:1rem}.tm-toggle-status-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1rem;min-width:2.5rem;padding:.5rem;transition:all .2s ease}.tm-toggle-status-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.task-menu-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:24px;justify-content:center;margin-left:auto;opacity:1;padding:.25rem .5rem;transition:color .2s ease,background-color .2s ease;width:24px}.task-menu-btn:hover{background:#f5f5f5;color:#333}.task-menu-popup{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;margin-top:.25rem;min-width:150px;padding:.25rem 0;position:absolute;right:0;top:100%;z-index:100}.task-menu-popup.portal{margin-top:0;position:fixed}.task-menu-option{background:none;border:none;color:#333;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.task-menu-option:hover{background:#f9f9f9;color:#333}.task-menu-option.delete{color:#dc3545}.task-menu-option.delete:hover{background:#f8d7da;color:#721c24}.task-menu-separator{background:#e0e0e0;height:1px;margin:.25rem 0}.task-title-header{align-items:center;display:flex;flex:1 1;gap:1rem;margin:0 1rem}.task-title-editable{border-radius:.25rem;color:#333;cursor:pointer;flex:1 1;font-size:1.5rem;font-weight:600;margin:0;padding:.25rem .5rem;transition:background-color .2s ease}.task-title-editable:hover{background:#f9f9f9}.inline-edit-wrapper{align-items:center;display:flex;gap:.5rem;width:100%}.inline-edit-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;flex:1 1;font-size:1rem;padding:.5rem;transition:border-color .2s ease}.inline-edit-input:focus{border-color:#333;outline:none}.inline-edit-input.title-input{font-size:1.5rem;font-weight:600;padding:.25rem .5rem}.inline-edit-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:inherit;font-size:1rem;min-height:4rem;padding:.75rem;resize:vertical;transition:border-color .2s ease;width:100%}.inline-edit-textarea:focus{border-color:#333;outline:none}.inline-edit-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;font-size:1rem;padding:.5rem;transition:border-color .2s ease}.inline-edit-select:focus{border-color:#333;outline:none}.inline-edit-date{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;font-size:1rem;padding:.5rem;transition:border-color .2s ease}.inline-edit-date:focus{border-color:#333;outline:none}.inline-edit-actions{display:flex;flex-shrink:0;gap:.25rem}.cancel-inline-btn,.save-inline-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:.875rem;justify-content:center;min-width:2rem;padding:.25rem .5rem;transition:all .2s ease}.save-inline-btn:hover{background:#28a745;border-color:#28a745;color:#fff}.cancel-inline-btn:hover{background:#dc3545;border-color:#dc3545;color:#fff}.task-description-editable{border-radius:.25rem;color:#333;cursor:pointer;min-height:1.5rem;padding:.5rem;transition:background-color .2s ease}.task-description-editable:hover{background:#f9f9f9}.task-description-editable:empty:before{color:#999;content:"Click to add description...";font-style:italic}.metadata-value-editable{border-radius:.25rem;color:#333;cursor:pointer;display:inline-block;padding:.25rem .5rem;transition:background-color .2s ease}.metadata-value-editable:hover{background:#f9f9f9}.task-info{max-width:800px}.status-badge{border-radius:.25rem;color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.task-description-section h3{color:#333;font-size:1rem;font-weight:500;margin:0 0 .75rem}.task-description-section p{color:#666;font-size:1rem;line-height:1.6;margin:0}.task-metadata{margin-bottom:2rem}.metadata-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.metadata-item{gap:.25rem}.metadata-item label{color:#666;font-size:.75rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.metadata-item span{color:#333;font-size:.875rem}.metadata-item span.overdue{color:#721c24;font-weight:500}.quick-actions h3{color:#333;font-size:1rem;font-weight:500;margin:0 0 1rem}.action-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.action-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.75rem 1rem;transition:all .2s ease}.complete-btn:hover{background:#d4edda;border-color:#c3e6cb;color:#155724}.reopen-btn:hover{background:#fff3cd;border-color:#ffeaa7;color:#856404}.progress-btn:hover{background:#cce7ff;border-color:#b3d9ff;color:#004085}.hold-btn:hover{background:#fff3cd;border-color:#ffeaa7;color:#856404}@media (max-width:768px){.task-header{padding:1rem}.task-header h1{font-size:1.25rem}.add-task-form{padding:1rem}.form-row{flex-direction:column;gap:.75rem}.task-filters,.task-search-container{padding:.75rem 1rem}.task-filters{flex-wrap:wrap}.tm-task-list{padding:1rem}.tm-task-item{margin-bottom:.5rem}.tm-task-main{padding:.75rem}.tm-task-meta{flex-direction:column;gap:.25rem}.task-title-section{align-items:flex-start;flex-direction:column;gap:.75rem}.metadata-grid{gap:1rem;grid-template-columns:1fr}.action-buttons{flex-direction:column}.action-btn{width:100%}}@media (max-width:480px){.task-header{padding:.75rem}.task-header h1{font-size:1.125rem}.tm-task-actions{flex-direction:column;gap:.25rem}.delete-btn,.edit-btn{font-size:.8125rem;padding:.5rem}}.task-notes-section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-top:2rem;overflow:hidden}.section-toggle{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.toggle-text{font-size:1rem}.toggle-arrow{color:#999}.section-content{overflow-y:auto}.section-content.collapsed{background:#0000;border-top:none;overflow:hidden}.section-content.expanded{background:#fafafa;border-top:1px solid #f5f5f5;box-shadow:0 2px 4px #0000000d;padding-bottom:1.5rem;padding-top:1.5rem}.notes-count{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem}.add-note-form{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:2rem;padding:1rem}.note-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem;resize:vertical;transition:border-color .2s ease;width:100%}.note-input:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.note-input::placeholder{color:#999}.note-actions{display:flex;justify-content:flex-end;margin-top:.75rem}.add-note-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.add-note-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.add-note-btn:disabled{cursor:not-allowed;opacity:.5}.notes-loading{color:#999;font-size:.875rem;padding:2rem 0;text-align:center}.notes-list{display:flex;flex-direction:column;gap:1rem}.note-item{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;transition:all .2s ease}.note-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.note-content p{word-wrap:break-word;color:#333;font-size:.875rem;line-height:1.5;margin:0 0 .75rem;white-space:pre-wrap}.note-metadata{align-items:center;border-top:1px solid #f5f5f5;display:flex;justify-content:space-between;padding-top:.75rem}.note-date{color:#666;font-size:.75rem}.delete-note-btn{font-size:.875rem}.delete-note-btn:hover{background:#f8d7da;color:#dc3545}.no-notes{color:#999;font-size:.875rem;font-style:italic;padding:2rem 0;text-align:center}@media (max-width:768px){.task-notes-section{margin-top:1.5rem}.section-toggle{padding:.75rem 1rem}.section-content.expanded{padding:1rem}.add-note-form{margin-bottom:1.5rem;padding:.75rem}.note-item{padding:.75rem}}@media (max-width:480px){.section-toggle{padding:.5rem .75rem}.toggle-text{font-size:.875rem}.section-content.expanded{padding:.75rem}.add-note-form,.note-input{padding:.5rem}.add-note-btn,.note-input{font-size:.8125rem}.add-note-btn{padding:.5rem .75rem}}.task-detail .section-toggle{align-items:center;background:none;border:none;border-top:1px solid #f5f5f5;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:background-color .2s ease;width:100%}.task-detail .section-toggle:hover{background:#f9f9f9}.task-detail .toggle-text{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400}.task-detail .notes-count{color:#999;font-size:.75rem;margin-left:.25rem}.task-detail .toggle-arrow{color:#666;font-size:.75rem;transition:transform .2s ease}.task-detail .section-content{background:#fafafa;border-top:1px solid #f5f5f5;overflow:hidden;transition:all .3s ease-out}.task-detail .section-content.expanded{overflow-y:auto;padding:1.5rem}.task-detail .task-tags-section .section-content.expanded{min-height:26rem;padding-bottom:20rem}.task-detail .section-content.collapsed{max-height:0;overflow:hidden;padding:0 1.5rem}.add-note-form-fixed{background:#fff;border-top:1px solid #e0e0e0;bottom:0;left:0;padding:1rem;position:fixed;right:0;z-index:100}.chat-input-container{align-items:flex-end;display:flex;gap:.75rem;margin:0 auto;max-width:800px}.chat-input{background:#fff;border:1px solid #e0e0e0;border-radius:1.5rem;color:#333;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.4;max-height:6rem;min-height:2.5rem;padding:.75rem 1rem;resize:none;transition:border-color .2s ease}.chat-input:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.chat-input::placeholder{color:#999}.chat-send-btn{align-items:center;background:#333;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:2.5rem;justify-content:center;transition:all .2s ease;width:2.5rem}.chat-send-btn:hover:not(:disabled){background:#555;transform:scale(1.05)}.chat-send-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.task-detail{padding-bottom:5rem}.notes-simple{display:flex;flex-direction:column;margin-bottom:2rem}.note-paragraph{background:#0000;border:none;border-bottom:1px solid #e0e0e0;border-radius:0;padding:.5rem;transition:all .2s ease}.note-paragraph:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.note-paragraph p{word-wrap:break-word;color:#333;font-size:.875rem;line-height:1.5;margin:0 0 .75rem;white-space:pre-wrap}.notes-header
.note-meta{align-items:center;color:#999;display:flex;font-size:.75rem;justify-content:space-between}.note-date{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.delete-note-btn{background:none;border:none;border-radius:.125rem;color:#999;cursor:pointer;font-size:.75rem;padding:.25rem;transition:all .2s ease}.delete-note-btn:hover{background:#f5f5f5;color:#666}.task-detail .main-section{background:#fff;margin-bottom:1rem}.task-detail .main-section .section-toggle{background:#fff;border-top:none;padding:1rem 1.5rem}.task-detail .main-section .section-content{background:#fff;border-top:1px solid #e0e0e0}.task-detail .main-section .section-content.expanded{padding:1.5rem}.quick-actions-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1rem;padding:.5rem;transition:all .2s ease}.quick-actions-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.quick-actions-popover-overlay{align-items:flex-start;background:#0000001a;bottom:0;display:flex;justify-content:flex-end;left:0;padding:5rem 1.5rem 1rem 1rem;position:fixed;right:0;top:0;z-index:1000}.quick-actions-popover{animation:popoverSlideIn .2s ease-out;background:#fff;border:1px solid #e0e0e0;border-radius:.5rem;box-shadow:0 4px 12px #0000001a;max-width:300px;min-width:200px}@keyframes popoverSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.popover-header{align-items:center;border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:1rem}.popover-header h3{color:#333;font-size:.875rem;font-weight:500;margin:0}.popover-close{background:none;border:none;color:#666;cursor:pointer;font-size:1.25rem;padding:0;transition:color .2s ease}.popover-close:hover{color:#333}.popover-content{padding:1rem}.popover-content .action-buttons{display:flex;flex-direction:column;gap:.5rem}.popover-content .action-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem;text-align:left;transition:all .2s ease}.popover-content .action-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.popover-content .complete-btn:hover{background:#f8f9fa;border-color:#28a745;color:#28a745}.popover-content .delete-btn:hover{background:#fff5f5;border-color:#dc3545;color:#dc3545}.task-time-tracking-section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1rem}.time-stats{grid-gap:1rem;background:#fafafa;border-radius:.25rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:1rem;padding:1rem}.time-stat-item{align-items:center;display:flex;flex-direction:column;text-align:center}.time-stat-label{color:#666;font-size:.75rem;font-weight:400;margin-bottom:.25rem}.time-stat-value{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600}.timer-controls{align-items:center;background:#f9f9f9;border-radius:.25rem;justify-content:space-between;margin-bottom:1rem;padding:1rem}.timer-display{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.5rem;font-weight:600}.timer-running{color:#28a745}.timer-stopped{color:#666}.timer-buttons{gap:.5rem}.timer-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.timer-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.timer-btn:disabled{cursor:not-allowed;opacity:.5}.start-btn{border-color:#28a745;color:#28a745}.start-btn:hover:not(:disabled){background:#28a745;color:#fff}.stop-btn{border-color:#dc3545;color:#dc3545}.stop-btn:hover:not(:disabled){background:#dc3545;color:#fff}.manual-btn{border-color:#007bff;color:#007bff}.manual-btn:hover:not(:disabled){background:#007bff;color:#fff}.manual-entry-form{background:#fafafa;border-radius:.25rem;margin-bottom:1rem;padding:1rem}.form-row{gap:.5rem;margin-bottom:.75rem}.manual-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;flex:1 1;font-size:.875rem;padding:.5rem}.manual-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff1a;outline:none}.form-actions{gap:.5rem}.submit-btn{background:#28a745;border:1px solid #28a745;padding:.5rem 1rem}.submit-btn:hover:not(:disabled){background:#218838;border-color:#1e7e34}.cancel-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.time-logs-list{margin-top:1rem}.time-logs-list h4{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600;margin:0 0 1rem}.time-log-item{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;margin-bottom:.5rem;padding:.75rem;transition:all .2s ease}.time-log-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.time-log-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.time-log-duration{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600}.time-log-date{color:#666;font-size:.875rem}.delete-time-log-btn{background:none;border:none;border-radius:.25rem;color:#dc3545;cursor:pointer;font-size:1.25rem;padding:.25rem;transition:all .2s ease}.delete-time-log-btn:hover{background:#f8d7da;color:#721c24}.time-log-details{color:#666;display:flex;flex-wrap:wrap;font-size:.75rem;gap:1rem}.time-log-time{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.time-log-description{flex:1 1;min-width:200px}.time-log-type{background:#f0f0f0;border-radius:.125rem;font-size:.6875rem;letter-spacing:.025em;padding:.125rem .375rem;text-transform:uppercase}.time-logs-loading{align-items:center;color:#666;display:flex;justify-content:center;padding:2rem}.time-logs-loading .loading-spinner{margin-right:.5rem}.no-time-logs{color:#666;font-style:italic;padding:2rem;text-align:center}@media (max-width:768px){.time-stats{gap:.75rem;grid-template-columns:1fr}.timer-controls{align-items:stretch;flex-direction:column;gap:1rem}.timer-buttons{justify-content:center}.form-row{flex-direction:column}.form-actions{justify-content:center}.time-log-details{flex-direction:column;gap:.5rem}.time-log-description{min-width:auto}}.task-sync-status-icon{align-items:center;bottom:5rem;display:flex;font-size:1rem;height:40px;justify-content:center;position:fixed;right:1.5rem;transition:all .3s ease;width:40px;z-index:1000}.task-sync-status-icon.syncing{background:#fffffff2;border-color:#666}.task-sync-status-icon.synced{border-color:#28a745}.task-sync-status-icon.error{background:#dc35451a;border-color:#dc3545}.task-sync-spinner{animation:taskSyncRotate 1s linear infinite;color:#666}.task-sync-check{color:#28a745;font-weight:600}.task-sync-error{color:#dc3545;font-weight:600}@keyframes taskSyncRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.task-notes-editor{background:#fafafa}.task-blocks-section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1rem}.blocks-management{padding:1rem}.blocks-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.blocks-header h4{color:#333;font-size:1rem;font-weight:600;margin:0}.blocks-count{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem}.blocks-list{display:flex;flex-direction:column;gap:.75rem}.block-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.block-id{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.block-id,.block-type{color:#666;font-size:.75rem;font-weight:500}.block-type{background:#e0e0e0;border-radius:.125rem;padding:.125rem .375rem;text-transform:uppercase}.remove-block-btn{background:none;border:none;border-radius:.125rem;color:#dc3545;cursor:pointer;font-size:1rem;padding:.125rem .25rem;transition:all .2s ease}.remove-block-btn:hover{background:#f8d7da;color:#721c24}.block-content{margin-top:.5rem}.block-preview{color:#333;display:block;font-size:.875rem;line-height:1.4}.block-loading{color:#666;font-size:.875rem;font-style:italic}.no-blocks{color:#666;padding:2rem 1rem;text-align:center}.no-blocks p{font-size:.875rem;margin:.5rem 0}.no-blocks p:first-child{color:#333;font-weight:500}.calendar-drawer-overlay{align-items:center;background:#0000004d;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.date-picker-modal{animation:slideIn .2s ease-out;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 4px 12px #00000026;max-width:90vw;overflow:hidden;width:400px}.date-picker-content{padding:1.5rem}.date-picker-task-info{border-bottom:1px solid #f0f0f0;margin-bottom:1.5rem;padding-bottom:1rem}.date-picker-task-title{color:#333;font-size:.875rem;font-weight:500;word-break:break-word}.date-selector-label{color:#333;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.date-selector-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem;transition:all .2s ease;width:100%}.date-selector-input:hover{border-color:#ccc}.date-selector-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.date-picker-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.date-picker-cancel-btn,.date-picker-confirm-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.date-picker-cancel-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.date-picker-confirm-btn{background:#333;border-color:#333;color:#fff}.date-picker-confirm-btn:hover:not(:disabled){background:#000;border-color:#000}.date-picker-confirm-btn:disabled{background:#999;border-color:#999;cursor:not-allowed;opacity:.5}.timer-container{background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.timer-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.timer-header h1{color:#333;font-size:1.5rem;font-weight:600;margin:0}.list-btn,.menu-toggle{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1rem;padding:.5rem;transition:all .2s}.list-btn:hover,.menu-toggle:hover{background:#f5f5f5;border-color:#ccc;color:#333}.timer-content{margin:0 auto;max-width:1200px;padding:1.5rem}.timer-display-container{display:flex;flex-direction:column;gap:1.5rem}.timer-display{background:#fff;border:1px solid #e0e0e0;border-radius:.5rem;padding:2rem;text-align:center}.timer-time{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:3rem;font-weight:400;margin-bottom:.5rem}.timer-status{color:#666;font-size:.875rem;letter-spacing:.05em;text-transform:uppercase}.timer-controls{display:flex;flex-direction:column;gap:1rem}.timer-inputs{gap:.75rem}.timer-inputs input,.timer-inputs select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.875rem;padding:.75rem;transition:all .2s}.timer-inputs input:focus,.timer-inputs select:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.timer-inputs input:disabled,.timer-inputs select:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.start-btn,.stop-btn{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 2rem;transition:all .2s}.start-btn:hover{background:#28a745;border-color:#28a745;color:#fff}.stop-btn:hover{background:#dc3545;border-color:#dc3545;color:#fff}.start-btn:disabled,.stop-btn:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.logs-header{margin-bottom:1rem}.logs-header h3{color:#333;font-size:1rem;font-weight:500;margin:0}@media (max-width:768px){.timer-content{padding:1rem}.timer-time{font-size:2rem}.stats-grid{grid-template-columns:1fr}.logs-header{align-items:flex-start;flex-direction:column;gap:.75rem}.modal-content{margin:1rem;width:95%}.modal-body{padding:1rem}}@media (max-width:480px){.timer-header{padding:1rem}.timer-header h1{font-size:1.25rem}.timer-time{font-size:1.75rem}.section-toggle{padding:.75rem 1rem}.section-content.expanded{padding:1rem}}.finance-assets{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.fa-main-content{flex:1 1;overflow-y:auto;padding-bottom:80px}.fa-tab-content{display:flex;flex-direction:column;height:100%}.fa-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem 1.5rem;position:sticky;top:0;z-index:100}.fa-header h1{color:#333;flex:1 1;font-size:1.5rem;font-weight:600;margin:0;text-align:center}.sidebar-toggle{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1rem;padding:.5rem;transition:all .2s ease}.sidebar-toggle:hover{background:#f5f5f5;border-color:#ccc;color:#333}.fa-add-asset-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1rem;min-width:2.5rem;padding:.5rem;transition:all .2s ease}.fa-add-asset-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.fa-error-message{align-items:center;background:#f8d7da;border-bottom:1px solid #f5c6cb;color:#721c24;display:flex;font-size:.875rem;justify-content:space-between;padding:.75rem 1.5rem}.fa-error-message button{background:none;border:none;color:#721c24;cursor:pointer;font-size:1rem;margin-left:1rem;padding:0}.fa-auth-required{align-items:center;color:#666;display:flex;font-size:1rem;height:50vh;justify-content:center}.fa-add-asset-form{background:#fafafa;border-bottom:1px solid #e0e0e0}.fa-form-row{display:flex;gap:1rem;margin-bottom:1rem}.fa-asset-name-input,.fa-asset-value-input,.fa-category-select,.fa-subcategory-input{border:1px solid #e0e0e0;border-radius:.25rem;font-size:.875rem;padding:.75rem;transition:border-color .2s ease}.fa-asset-name-input{flex:2 1}.fa-asset-value-input,.fa-category-select,.fa-subcategory-input{flex:1 1}.fa-asset-name-input:focus,.fa-asset-value-input:focus,.fa-category-select:focus,.fa-notes-input:focus,.fa-subcategory-input:focus{border-color:#333;outline:none}.fa-notes-input{border:1px solid #e0e0e0;border-radius:.25rem;font-family:inherit;font-size:.875rem;margin-bottom:1rem;padding:.75rem;resize:vertical;transition:border-color .2s ease;width:100%}.fa-form-actions{display:flex;gap:.75rem}.fa-cancel-btn,.fa-save-asset-btn{border-radius:.25rem;cursor:pointer;font-size:.875rem;padding:.75rem 1.5rem;transition:all .2s ease}.fa-save-asset-btn{background:#333;border:1px solid #333;color:#fff}.fa-save-asset-btn:hover:not(:disabled){background:#555;border-color:#555}.fa-save-asset-btn:disabled{background:#ccc;border-color:#ccc;cursor:not-allowed}.fa-cancel-btn{background:none;border:1px solid #e0e0e0;color:#666}.fa-cancel-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.fa-portfolio-overview{border-bottom:1px solid #e0e0e0}.fa-net-worth-summary{margin-bottom:2rem}.fa-summary-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.fa-summary-card{align-items:center;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.fa-summary-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.fa-summary-card.fa-assets{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#2196f3}.fa-summary-card.fa-debts{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#f44336}.fa-summary-card.fa-net-worth.positive{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#4caf50}.fa-summary-card.fa-net-worth.negative{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#f44336}.fa-summary-icon{align-items:center;background:#fffc;border-radius:50%;display:flex;flex-shrink:0;font-size:1.5rem;height:2.5rem;justify-content:center;width:2.5rem}.fa-summary-content{flex:1 1}.fa-summary-label{color:#666;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.fa-summary-value{color:#333;font-size:1.125rem;font-weight:600}.fa-breakdown-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.fa-breakdown-column{display:flex;flex-direction:column}.fa-breakdown-title{border-bottom:1px solid #e0e0e0;color:#333;font-size:1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.fa-breakdown-list{display:flex;flex-direction:column;gap:.75rem}.fa-pie-chart-container{display:flex;justify-content:center;margin-bottom:2rem}.fa-pie-chart{height:200px;position:relative;width:200px}.fa-pie-chart-svg{height:100%;transform:rotate(-90deg);width:100%}.fa-pie-chart-center{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.fa-total-value{color:#333;font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.fa-total-label{color:#666;font-size:.75rem;font-weight:500}.fa-portfolio-legend{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.fa-legend-item{align-items:center;border-radius:.25rem;display:flex;gap:.75rem;padding:.5rem;transition:background-color .2s ease}.fa-legend-item:hover{background:#f9f9f9}.fa-legend-color{border-radius:50%;flex-shrink:0;height:16px;width:16px}.fa-legend-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.fa-legend-category{color:#333;font-size:.875rem;font-weight:500}.fa-legend-value{color:#666;font-size:.875rem}.fa-legend-percentage{color:#999;margin-left:.5rem}.fa-view-type-filters{background:#f9f9f9;border-bottom:1px solid #e0e0e0;display:flex;gap:.5rem;justify-content:center;padding:1rem 1.5rem}.fa-view-type-btn{background:none;border:2px solid #e0e0e0;border-radius:.375rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1rem;transition:all .2s ease;white-space:nowrap}.fa-view-type-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.fa-view-type-btn.active{background:#333;border-color:#333;color:#fff}.fa-filters{background:#f9f9f9;padding:1rem 1.5rem}.fa-filter-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease;white-space:nowrap}.fa-filter-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.fa-filter-btn.active{background:#333;border-color:#333;color:#fff}.fa-asset-list-container{padding:1.5rem}.fa-asset-list{gap:1rem}.fa-asset-list,.fa-loading-state{display:flex;flex-direction:column}.fa-loading-state{align-items:center;color:#666;justify-content:center;padding:3rem}.fa-loading-spinner{animation:fa-spin 1s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:32px;margin-bottom:1rem;width:32px}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-empty-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.fa-add-first-asset-btn{background:#333;border:1px solid #333;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;margin-top:1rem;padding:.75rem 1.5rem;transition:all .2s ease}.fa-add-first-asset-btn:hover{background:#555;border-color:#555}.fa-asset-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;justify-content:space-between;padding:1rem;transition:all .2s ease}.fa-asset-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.fa-asset-item.debt-item{background:linear-gradient(135deg,#fff,#fef9f9);border-left:4px solid #f44336}.fa-asset-item.debt-item:hover{border-color:#f44336;box-shadow:0 1px 3px #f443361a}.fa-asset-item.asset-item{background:linear-gradient(135deg,#fff,#f9fef9);border-left:4px solid #4caf50}.fa-asset-item.asset-item:hover{border-color:#4caf50;box-shadow:0 1px 3px #4caf501a}.fa-asset-main{flex:1 1;gap:1rem}.fa-asset-icon,.fa-asset-main{align-items:center;display:flex}.fa-asset-icon{background:#f9f9f9;border-radius:.375rem;flex-shrink:0;font-size:1.5rem;height:2.5rem;justify-content:center;width:2.5rem}.fa-asset-icon.debt-icon{background:#ffebee;color:#f44336}.fa-asset-icon.asset-icon{background:#e8f5e8;color:#4caf50}.fa-asset-content{flex:1 1}.fa-asset-name{align-items:center;color:#333;display:flex;font-size:1rem;font-weight:500;gap:.5rem;margin:0 0 .25rem}.fa-debt-badge{background:#f44336;border-radius:.25rem;color:#fff;font-size:.6875rem;font-weight:600;letter-spacing:.025em;padding:.125rem .375rem;text-transform:uppercase}.fa-asset-subcategory{color:#666;font-size:.875rem;margin:0 0 .25rem}.fa-asset-notes{color:#666;font-size:.875rem;line-height:1.4;margin:0 0 .5rem}.fa-asset-meta{color:#999;display:flex;font-size:.75rem;gap:1rem}.fa-asset-category{font-weight:500}.fa-asset-value{color:#333;font-size:1.125rem;font-weight:600;margin-right:1rem;text-align:right}.fa-asset-value.debt-value{color:#f44336}.fa-asset-value.asset-value{color:#4caf50}.fa-asset-actions{display:flex;gap:.5rem}.fa-delete-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem;transition:all .2s ease}.fa-delete-btn:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}@media (max-width:768px){.fa-add-asset-form,.fa-header{padding:1rem}.fa-form-row{flex-direction:column;gap:.75rem}.fa-portfolio-overview{padding:1rem}.fa-summary-cards{gap:.75rem;grid-template-columns:1fr}.fa-summary-card{padding:.75rem}.fa-summary-icon{font-size:1.25rem;height:2rem;width:2rem}.fa-breakdown-section{gap:1.5rem;grid-template-columns:1fr}.fa-view-type-filters{flex-wrap:wrap;justify-content:flex-start;padding:.75rem 1rem}.fa-view-type-btn{font-size:.8125rem;padding:.5rem .75rem}.fa-filters{padding:.75rem 1rem}.fa-asset-list-container{padding:1rem}.fa-asset-item{padding:.75rem}.fa-asset-main{gap:.75rem}.fa-asset-icon{font-size:1.25rem;height:2rem;width:2rem}.fa-asset-value{font-size:1rem;margin-right:.5rem}.fa-asset-meta{flex-direction:column;gap:.25rem}.fa-debt-badge{font-size:.625rem;padding:.1875rem .3125rem}}.fa-bottom-tabs{background:#fff;border-top:1px solid #e0e0e0;bottom:0;box-shadow:0 -2px 10px #0000000d;display:flex;height:80px;left:0;position:fixed;right:0;z-index:100}.fa-tab-btn{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:.25rem;justify-content:center;padding:.75rem;transition:all .2s ease}.fa-tab-btn:hover{background:#f9f9f9;color:#333}.fa-tab-btn.active{background:#f5f5f5;border-top:2px solid #333;color:#333}.fa-tab-icon{font-size:1.25rem;margin-bottom:.25rem}.fa-tab-label{font-size:.75rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.fa-add-asset-form{background:#fff;height:100%;overflow-y:auto;padding:1.5rem}.fa-asset-list-container{flex:1 1;overflow-y:auto;padding:0 1.5rem 1.5rem}.fa-filters{background:#fff;border-bottom:1px solid #e0e0e0;display:flex;gap:.5rem;overflow-x:auto;padding:1rem 1.5rem 0}.fa-view-type-filters{display:none}.fa-portfolio-overview{background:#fff;max-height:calc(100vh - 160px);overflow-y:auto;padding:1.5rem}@media (max-width:768px){.fa-add-asset-form,.fa-header{padding:1rem}.fa-form-row{flex-direction:column;gap:.75rem}.fa-portfolio-overview{padding:1rem}.fa-summary-cards{gap:.75rem;grid-template-columns:1fr}.fa-summary-card{padding:.75rem}.fa-summary-icon{font-size:1.25rem;height:2rem;width:2rem}.fa-breakdown-section{gap:1.5rem;grid-template-columns:1fr}.fa-filters{flex-wrap:wrap;justify-content:flex-start;padding:.75rem 1rem}.fa-asset-list-container{padding:0 1rem 1rem}.fa-asset-item{padding:.75rem}.fa-asset-main{gap:.75rem}.fa-asset-icon{font-size:1.25rem;height:2rem;width:2rem}.fa-asset-value{font-size:1rem;margin-right:.5rem}.fa-asset-meta{flex-direction:column;gap:.25rem}.fa-debt-badge{font-size:.625rem;padding:.1875rem .3125rem}.fa-tab-icon{font-size:1.125rem}.fa-tab-label{font-size:.6875rem}}@media (max-width:480px){.fa-header h1{font-size:1.25rem}.fa-asset-main{align-items:flex-start;flex-direction:column;gap:.5rem}.fa-asset-value{align-self:flex-end;margin-right:0}.fa-pie-chart{height:120px;width:120px}.fa-total-value{font-size:.875rem}.fa-total-label{font-size:.6875rem}.fa-tab-icon{font-size:1rem}.fa-tab-label{font-size:.625rem}.fa-main-content{padding-bottom:70px}.fa-bottom-tabs{height:70px}.fa-tab-btn{padding:.5rem}}.asset-detail-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.ad-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem 1.5rem;position:sticky;top:0;z-index:100}.ad-header h1{color:#333;flex:1 1;font-size:1.25rem;font-weight:600;margin:0;padding:0 1rem;text-align:center}.ad-back-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease;white-space:nowrap}.ad-back-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.ad-main-content{flex:1 1;overflow-y:auto;padding:1.5rem}.ad-error-message{align-items:center;background:#f8d7da;border-bottom:1px solid #f5c6cb;color:#721c24;display:flex;font-size:.875rem;justify-content:space-between;padding:.75rem 1.5rem}.ad-error-message button{background:none;border:none;color:#721c24;cursor:pointer;font-size:1rem;margin-left:1rem;padding:0}.ad-loading-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:3rem}.ad-loading-spinner{animation:ad-spin 1s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:32px;margin-bottom:1rem;width:32px}@keyframes ad-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ad-error-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.ad-back-to-list-btn{background:#333;border:1px solid #333;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;margin-top:1rem;padding:.75rem 1.5rem;transition:all .2s ease}.ad-back-to-list-btn:hover{background:#555;border-color:#555}.ad-summary-section{margin-bottom:2rem}.ad-value-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1.5rem;padding:1.5rem;transition:all .2s ease}.ad-value-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.ad-value-card.debt{background:linear-gradient(135deg,#fff,#fef9f9);border-left:4px solid #f44336}.ad-value-card.asset{background:linear-gradient(135deg,#fff,#f9fef9);border-left:4px solid #4caf50}.ad-value-label{color:#666;font-size:.875rem;font-weight:500;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.ad-value-amount{color:#333;font-size:2rem;font-weight:600;margin-bottom:.75rem}.ad-value-card.debt .ad-value-amount{color:#f44336}.ad-value-card.asset .ad-value-amount{color:#4caf50}.ad-value-meta{color:#666;font-size:.875rem;margin-bottom:.5rem}.ad-value-date{color:#999;font-size:.75rem}.ad-notes-section{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1.5rem;padding:1rem}.ad-section-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600;margin:0 0 .75rem}.ad-notes-text{color:#666;font-size:.875rem;line-height:1.5;margin:0;white-space:pre-wrap}.ad-add-valuation-btn{background:#333;border:1px solid #333;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease;width:100%}.ad-add-valuation-btn:hover{background:#555;border-color:#555}.ad-add-valuation-form{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:2rem;padding:1.5rem}.ad-form-title{color:#333;font-size:1rem;font-weight:600;margin:0 0 1rem}.ad-form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.ad-form-group{display:flex;flex-direction:column;gap:.5rem}.ad-form-label{color:#666;font-size:.875rem;font-weight:500}.ad-form-input,.ad-form-textarea{border:1px solid #e0e0e0;border-radius:.25rem;font-family:inherit;font-size:.875rem;padding:.75rem;transition:border-color .2s ease}.ad-form-input:focus,.ad-form-textarea:focus{border-color:#333;outline:none}.ad-form-textarea{min-height:60px;resize:vertical}.ad-form-actions{display:flex;gap:.75rem;margin-top:1rem}.ad-cancel-btn,.ad-save-btn{border-radius:.25rem;cursor:pointer;flex:1 1;font-size:.875rem;padding:.75rem 1.5rem;transition:all .2s ease}.ad-save-btn{background:#333;border:1px solid #333;color:#fff}.ad-save-btn:hover:not(:disabled){background:#555;border-color:#555}.ad-save-btn:disabled{background:#ccc;border-color:#ccc;cursor:not-allowed}.ad-cancel-btn{background:none;border:1px solid #e0e0e0;color:#666}.ad-cancel-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.ad-history-section{margin-top:2rem}.ad-empty-logs{align-items:center;border:1px dashed #e0e0e0;border-radius:.375rem;color:#666;display:flex;justify-content:center;padding:3rem;text-align:center}.ad-logs-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.ad-log-item{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;transition:all .2s ease}.ad-log-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.ad-log-item.initial{border-left:4px solid #2196f3}.ad-log-item.increase{border-left:4px solid #4caf50}.ad-log-item.decrease{border-left:4px solid #f44336}.ad-log-item.deletion{border-left:4px solid #999;opacity:.7}.ad-log-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.ad-log-date{color:#999;font-size:.75rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.ad-log-change{border-radius:.25rem;font-size:.875rem;font-weight:600;padding:.25rem .5rem}.ad-log-change.increase{background:#e8f5e8;color:#4caf50}.ad-log-change.decrease{background:#ffebee;color:#f44336}.ad-log-change.initial{background:#e3f2fd;color:#2196f3}.ad-log-body{display:flex;flex-direction:column;gap:.5rem}.ad-log-value{color:#333;font-size:1.125rem;font-weight:600}.ad-log-notes{background:#f9f9f9;border-radius:.25rem;color:#666;font-size:.875rem;line-height:1.4;padding:.5rem}@media (max-width:768px){.ad-header{padding:1rem}.ad-header h1{font-size:1rem;padding:0 .5rem}.ad-back-btn{font-size:.8125rem;padding:.5rem}.ad-main-content,.ad-value-card{padding:1rem}.ad-value-amount{font-size:1.5rem}.ad-form-row{gap:.75rem;grid-template-columns:1fr}.ad-add-valuation-form{padding:1rem}.ad-form-actions{flex-direction:column}.ad-log-item{padding:.75rem}.ad-log-value{font-size:1rem}}@media (max-width:480px){.ad-header h1{font-size:.875rem}.ad-value-amount{font-size:1.25rem}.ad-section-title{font-size:.875rem}}.company-detail,.stock-portfolio,.transaction-detail{background:#fff;color:#333;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.sp-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;gap:1rem;padding:1rem 1.5rem}.sp-header h1{color:#333;flex:1 1;font-size:1.25rem;font-weight:600;margin:0}.sp-stock-selector{flex:1 1;position:relative}.sp-stock-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.25rem;font-weight:600;padding:.5rem .75rem;transition:all .2s;width:100%}.sp-stock-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333;outline:none}.sp-stock-input:disabled{background:#f5f5f5;color:#666;cursor:not-allowed}.sp-stock-input::placeholder{color:#999;font-weight:400}.sp-stock-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;left:0;margin-top:.25rem;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.sp-stock-option{align-items:center;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:background-color .2s ease}.sp-stock-option:last-child{border-bottom:none}.sp-stock-option:hover{background:#f9f9f9}.sp-stock-option-code{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600}.sp-stock-option-name{color:#666;flex:1 1;font-size:.875rem;margin-left:1rem;text-align:right}.sp-stock-dropdown-empty{color:#999;font-size:.875rem;padding:1rem;text-align:center}.sp-add-btn,.sp-back-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1.125rem;padding:.5rem;transition:all .2s}.sp-add-btn:hover,.sp-back-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.sp-back-btn{font-size:1.25rem;padding:.25rem .75rem}.sp-main-content{flex:1 1;overflow-y:auto;padding:1rem 1rem 80px}.sp-error-message{align-items:center;background:#f8d7da;border-bottom:1px solid #f5c6cb;color:#721c24;display:flex;justify-content:space-between;padding:1rem 1.5rem}.sp-error-message button{background:none;border:none;color:#721c24;cursor:pointer;font-size:1.25rem;padding:0}.sp-auth-required,.sp-empty-state,.sp-loading-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:3rem 1.5rem;text-align:center}.sp-loading-spinner{animation:spin 1s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:40px;margin-bottom:1rem;width:40px}.sp-add-first-btn,.sp-back-button{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.75rem 1.5rem;transition:all .2s}.sp-add-first-btn:hover,.sp-back-button:hover{background:#f5f5f5;border-color:#ccc;color:#333}.sp-summary-cards{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:1rem 0}.sp-summary-card{background:none;border:none;border-bottom:1px solid #f5f5f5;padding:.75rem 1rem}.sp-summary-card.positive{background:#f0f8f0;border-bottom-color:#d0e8d0}.sp-summary-card.negative{background:#fff5f5;border-bottom-color:#ffe0e0}.sp-summary-label{margin-bottom:.35rem}.sp-summary-value{font-size:1.25rem}.sp-summary-percent{color:#666;font-size:.875rem;margin-left:.35rem}.sp-summary-section{margin-bottom:1rem}.sp-summary-toggle{align-items:center;background:none;border:none;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 0;transition:background-color .2s ease;width:100%}.sp-summary-toggle:hover{background:#f9f9f9}.sp-toggle-text{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400}.sp-toggle-arrow{color:#666;font-size:.75rem;transition:transform .2s ease}.sp-summary-content{overflow:hidden;transition:all .3s ease-out}.sp-summary-content.collapsed{max-height:0;opacity:0}.sp-summary-content.expanded{max-height:1000px;opacity:1}.sp-chart-section{margin-bottom:1rem}.sp-chart-toggle{align-items:center;background:none;border:none;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 0;transition:background-color .2s ease;width:100%}.sp-chart-toggle:hover{background:#f9f9f9}.sp-chart-content{overflow:hidden;padding:1rem 0;transition:all .3s ease-out}.sp-chart-content.collapsed{max-height:0;opacity:0;padding:0}.sp-chart-content.expanded{max-height:1000px;opacity:1}.sp-chart-view-toggle{display:flex;gap:.5rem;margin-bottom:1rem;padding:0 .25rem}.sp-view-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;flex:1 1;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.sp-view-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.sp-view-btn.active{background:#333;border-color:#333;color:#fff}.sp-chart-metric-toggle{display:flex;gap:.5rem;margin-bottom:1rem;padding:0 .25rem}.sp-metric-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;flex:1 1;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.sp-metric-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.sp-metric-btn.active{background:#333;border-color:#333;color:#fff}.sp-allocation-list{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr);padding:.5rem 0}.sp-allocation-item{align-items:center;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;justify-content:space-between;padding:.5rem .75rem;transition:background-color .2s ease}.sp-allocation-item:hover{background:#f9f9f9}.sp-allocation-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.sp-allocation-name{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500}.sp-allocation-count,.sp-allocation-stocks{color:#666;font-size:.75rem;font-weight:400}.sp-allocation-stocks{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;margin-top:.125rem}.sp-allocation-percent{color:#666;font-size:.875rem;font-weight:500}.sp-portfolio-search{margin-bottom:.75rem;padding:.75rem 0}.sp-portfolio-search-input{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.875rem;padding:.75rem;transition:all .2s ease;width:100%}.sp-portfolio-search-input:focus{background:#fff;border-color:#333;box-shadow:0 0 0 2px #3333;outline:none}.sp-portfolio-search-input::placeholder{color:#999}.sp-holdings-list{grid-gap:.5rem;display:grid;gap:.5rem}.sp-holding-item{background:#fff;border:none;border-bottom:1px solid #f5f5f5;cursor:pointer;padding:.75rem;transition:all .2s}.sp-holding-item:hover{background:#f9f9f9}.sp-holding-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.sp-holding-code{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.125rem;font-weight:600}.sp-holding-gain{border-radius:.25rem;font-size:.875rem;font-weight:600;padding:.25rem .5rem}.sp-holding-gain.positive{background:#e8f5e9;color:#2e7d32}.sp-holding-gain.negative{background:#ffebee;color:#c62828}.sp-holding-company{color:#666;font-size:.8125rem;margin-bottom:.5rem}.sp-holding-details{grid-gap:.35rem;display:grid;gap:.35rem;grid-template-columns:repeat(3,1fr);margin-bottom:.5rem}.sp-holding-detail{display:flex;flex-direction:column;gap:.25rem}.sp-detail-label{color:#666;font-size:.75rem}.sp-detail-value{color:#333;font-size:.875rem;font-weight:500}.sp-holding-footer{border-top:none;display:flex;justify-content:space-between;padding-top:.5rem}.sp-footer-label{color:#666;font-size:.8125rem}.sp-footer-value{color:#333;font-size:.9375rem;font-weight:600}.sp-transactions-list{display:flex;flex-direction:column}.sp-activity-item{border-bottom:1px solid #f0f0f0;padding:.75rem 0}.sp-activity-item.last{border-bottom:none}.sp-transaction-header{align-items:center;justify-content:space-between;margin-bottom:.5rem}.sp-transaction-code{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.125rem;font-weight:600}.sp-transaction-type{border-radius:.25rem;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.sp-transaction-type.buy{background:#e8f5e9;color:#2e7d32}.sp-transaction-type.sell{background:#ffebee;color:#c62828}.sp-transaction-company{color:#666;font-size:.875rem;margin-bottom:.75rem}.sp-transaction-details{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:.75rem}.sp-transaction-detail{display:flex;flex-direction:column;gap:.25rem}.sp-transaction-footer{align-items:center;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;padding-top:.75rem}.sp-transaction-date{color:#666;font-size:.875rem}.sp-delete-btn{font-size:1rem;padding:.25rem .5rem}.sp-transaction-notes{background:#fafafa;border-radius:.25rem;color:#666;font-size:.875rem;font-style:italic;margin-top:.5rem;padding:.5rem}.sp-companies-list{grid-gap:1rem;display:grid;gap:1rem}.sp-company-item{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;padding:1rem;transition:all .2s}.sp-company-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.sp-company-code{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.sp-company-name{color:#666;font-size:.875rem}.sp-add-content{margin:0 auto;max-width:600px;padding-bottom:2rem}.sp-add-type-selector{display:flex;gap:1rem;margin-bottom:1.5rem}.sp-type-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;flex:1 1;font-size:1rem;padding:.75rem;transition:all .2s}.sp-type-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.sp-type-btn.active{background:#333;border-color:#333;color:#fff}.sp-add-form{display:flex;flex-direction:column;gap:1rem}.sp-form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.sp-code-input,.sp-date-input,.sp-name-input,.sp-notes-input,.sp-price-input,.sp-quantity-input,.sp-stock-select,.sp-type-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:1rem;padding:.75rem;transition:all .2s;width:100%}.sp-code-input,.sp-name-input,.sp-stock-search,.sp-stock-select{grid-column:1/-1}.sp-autocomplete-container{position:relative;width:100%}.sp-stock-search{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:1rem;padding:.75rem;transition:all .2s;width:100%}.sp-stock-search:focus{border-color:#333;outline:none}.sp-autocomplete-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 8px #0000001a;left:0;margin-top:.25rem;max-height:250px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.sp-autocomplete-item{align-items:center;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem;transition:all .2s}.sp-autocomplete-item:last-child{border-bottom:none}.sp-autocomplete-item:hover{background:#f9f9f9}.sp-autocomplete-code{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600}.sp-autocomplete-name{color:#666;font-size:.875rem;text-align:right}.sp-autocomplete-empty{color:#999;font-size:.875rem;padding:1rem;text-align:center}.sp-code-input:focus,.sp-date-input:focus,.sp-name-input:focus,.sp-notes-input:focus,.sp-price-input:focus,.sp-quantity-input:focus,.sp-stock-select:focus,.sp-type-select:focus{border-color:#333;outline:none}.sp-notes-input{min-height:60px;resize:vertical}.sp-form-actions{display:flex;gap:1rem;margin-top:.5rem}.sp-cancel-btn,.sp-save-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;flex:1 1;font-size:1rem;padding:.75rem;transition:all .2s}.sp-save-btn{background:#333;border-color:#333;color:#fff}.sp-save-btn:hover:not(:disabled){background:#000;border-color:#000}.sp-save-btn:disabled{background:#e0e0e0;border-color:#e0e0e0;color:#999;cursor:not-allowed}.sp-cancel-btn{background:none;color:#666}.sp-cancel-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.sp-company-info{margin-bottom:1rem;padding:1rem}.sp-info-section{margin-bottom:.5rem}.sp-info-section:last-child{margin-bottom:0}.sp-info-label{color:#666;font-size:.75rem;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.sp-info-value{color:#333;font-size:1rem}.sp-info-value.sp-code{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.125rem;font-weight:600}.sp-info-value.sp-quantity{color:#333;font-size:1.25rem;font-weight:600}.sp-holdings-summary{margin-bottom:1rem;padding:1rem}.sp-summary-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr);margin-bottom:.5rem}.sp-summary-grid:last-child{margin-bottom:0}.sp-summary-item{display:flex;flex-direction:column;gap:.25rem}.sp-summary-label{align-items:center;color:#666;display:flex;font-size:.75rem;font-weight:500;gap:.25rem;letter-spacing:.05em;text-transform:uppercase}.sp-summary-value{color:#333;font-size:1rem;font-weight:600}.sp-summary-value-large{display:flex;flex-direction:column;gap:.25rem}.sp-gain-amount{font-size:1.25rem;font-weight:600}.sp-gain-percent{font-size:.875rem;font-weight:500}.sp-summary-highlight{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;padding:.75rem}.sp-summary-highlight.positive{background:#e8f5e9;border-color:#c8e6c9}.sp-summary-highlight.positive .sp-gain-amount,.sp-summary-highlight.positive .sp-gain-percent{color:#2e7d32}.sp-summary-highlight.negative{background:#ffebee;border-color:#ffcdd2}.sp-summary-highlight.negative .sp-gain-amount,.sp-summary-highlight.negative .sp-gain-percent{color:#c62828}.sp-tabs{border-bottom:1px solid #e0e0e0;display:flex;gap:.5rem;margin-bottom:1.5rem}.sp-tabs .sp-tab-btn{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:.25rem;padding:.75rem .5rem;transition:all .2s}.sp-tabs .sp-tab-btn:hover{background:#f9f9f9;color:#333}.sp-tabs .sp-tab-btn.active{border-bottom-color:#333;color:#333}.sp-tabs .sp-tab-icon{font-size:1.125rem}.sp-tabs .sp-tab-label{font-size:.8125rem;font-weight:500}.sp-price-form{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1.5rem;padding:1.5rem}.sp-price-form h3,.sp-price-history h3{color:#333;font-size:1rem;font-weight:600;margin:0 0 1rem}.sp-chart-container{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1rem;padding:1rem}.sp-chart{background:#fff;border-radius:.25rem;height:120px;margin-bottom:.5rem;width:100%}.sp-chart-svg{height:100%;width:100%}.sp-chart-labels{color:#666;display:flex;font-size:.75rem;justify-content:space-between}.sp-chart-label{font-weight:500}.sp-price-item,.sp-price-list{display:flex;flex-direction:column}.sp-price-item{border-bottom:1px solid #f0f0f0;padding:.5rem 0;transition:background-color .2s ease}.sp-price-item.last{border-bottom:none}.sp-price-item.expanded{background:#fafafa;margin:0 -.75rem;padding:.75rem}.sp-price-item-header{align-items:center;display:flex;justify-content:space-between}.sp-price-item-right{align-items:center;display:flex;gap:.75rem}.sp-price-date{color:#666;font-size:.875rem}.sp-price-value{color:#333;font-size:.9375rem;font-weight:600}.sp-price-info-icon{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:.875rem;justify-content:center;padding:.25rem .5rem;transition:all .2s}.sp-price-info-icon:hover{background:#f5f5f5;border-color:#ccc;color:#333}.sp-price-info-icon.sp-activity-buy{background:#28a7450d;border-color:#28a745;color:#28a745}.sp-price-info-icon.sp-activity-buy:hover{background:#28a74526;border-color:#218838;color:#218838}.sp-price-info-icon.sp-activity-sell{background:#dc35450d;border-color:#dc3545;color:#dc3545}.sp-price-info-icon.sp-activity-sell:hover{background:#dc354526;border-color:#c82333;color:#c82333}.sp-price-info-icon.sp-activity-both{background:linear-gradient(90deg,#28a7451a 0,#28a7451a 50%,#dc35451a 0,#dc35451a);border-color:#666;color:#333}.sp-price-info-icon.sp-activity-both:hover{background:linear-gradient(90deg,#28a74533 0,#28a74533 50%,#dc354533 0,#dc354533);border-color:#333}.sp-price-info-icon.sp-activity-dividend{background:#007bff0d;border-color:#007bff;color:#007bff}.sp-price-info-icon.sp-activity-dividend:hover{background:#007bff26;border-color:#0056b3;color:#0056b3}.sp-price-activity-details{border-top:1px solid #e0e0e0;display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;padding-top:.75rem}.sp-price-activity-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;display:flex;justify-content:space-between;padding:.5rem;transition:all .2s ease}.sp-price-activity-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.sp-price-activity-item.sp-transaction-buy{border-left:3px solid #28a745}.sp-price-activity-item.sp-transaction-sell{border-left:3px solid #dc3545}.sp-price-activity-item.sp-dividend-item{border-left:3px solid #666}.sp-activity-type{align-items:center;display:flex;gap:.5rem}.sp-activity-icon{font-size:1rem}.sp-activity-label{color:#333;font-size:.8125rem;font-weight:500}.sp-activity-details-text{align-items:flex-end;color:#666;display:flex;flex-direction:column;font-size:.8125rem;gap:.25rem}.sp-activity-total{color:#333;font-weight:600}.sp-transactions-section{margin-top:0}.sp-activity-item{cursor:pointer;transition:all .2s}.sp-activity-item:hover{background:#f9f9f9}.sp-transaction-header{align-items:flex-start;display:flex;gap:.75rem}.sp-transaction-type-icon{font-size:1.125rem;line-height:1}.sp-transaction-content{display:flex;flex:1 1;flex-direction:column;gap:.35rem}.sp-transaction-main{align-items:center;display:flex;justify-content:space-between}.sp-transaction-type-badge{border-radius:.25rem;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.sp-transaction-buy .sp-transaction-type-badge{background:#e8f5e9;color:#2e7d32}.sp-transaction-sell .sp-transaction-type-badge{background:#ffebee;color:#c62828}.sp-transaction-type-badge.dividend-badge.cash{background:#e8f5e9;color:#2e7d32}.sp-transaction-type-badge.dividend-badge.stock{background:#e3f2fd;color:#1565c0}.sp-transaction-info{align-items:center;color:#333;display:flex;font-size:.875rem;gap:.5rem}.sp-transaction-quantity{font-weight:500}.sp-transaction-separator{color:#999}.sp-transaction-price{font-weight:500}.sp-transaction-total{color:#333;font-size:.9375rem;font-weight:600}.sp-transaction-detail-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin:0 auto;max-width:600px;padding:1.5rem}.sp-detail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.sp-detail-code{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.5rem;font-weight:600}.sp-detail-type{border-radius:.25rem;font-size:.875rem;font-weight:600;padding:.5rem 1rem;text-transform:uppercase}.sp-detail-type.buy{background:#e8f5e9;color:#2e7d32}.sp-detail-type.sell{background:#ffebee;color:#c62828}.sp-detail-company{color:#666;font-size:1rem;margin-bottom:1.5rem}.sp-detail-section{border-bottom:1px solid #f0f0f0;margin-bottom:1.5rem;padding-bottom:1.5rem}.sp-detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.sp-detail-row{align-items:center;display:flex;justify-content:space-between;padding:.5rem 0}.sp-detail-row .sp-detail-label{color:#666;font-size:.875rem}.sp-detail-row .sp-detail-value{color:#333;font-size:1rem;font-weight:500;text-align:right}.sp-detail-total{font-size:1.25rem!important;font-weight:600!important}.sp-detail-notes{background:#fafafa;border-radius:.25rem;color:#666;font-size:.875rem;font-style:italic;margin-top:.5rem;padding:.75rem}.sp-bottom-tabs{background:#fff;border-top:1px solid #e0e0e0;bottom:0;display:flex;gap:.5rem;left:0;padding:.5rem;position:fixed;right:0;z-index:100}.sp-tab-btn{align-items:center;background:none;border:1px solid #0000;border-radius:.25rem;color:#666;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:.25rem;padding:.5rem;transition:all .2s}.sp-tab-btn:hover{background:#f5f5f5;color:#333}.sp-tab-btn.active{background:#fafafa;border-color:#e0e0e0;color:#333}.sp-tab-icon{font-size:1.25rem}.sp-tab-label{font-size:.75rem;font-weight:500}.sp-dividends-list{grid-gap:1rem;display:grid;gap:1rem}.sp-dividend-item{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem}.sp-dividend-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.sp-dividend-code{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.125rem;font-weight:600}.sp-dividend-type{border-radius:.25rem;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.sp-dividend-type.cash{background:#e8f5e9;color:#2e7d32}.sp-dividend-type.stock{background:#e3f2fd;color:#1565c0}.sp-dividend-company{color:#666;font-size:.875rem;margin-bottom:.75rem}.sp-dividend-details{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:.75rem}.sp-dividend-detail{display:flex;flex-direction:column;gap:.25rem}.sp-dividend-footer{align-items:center;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;padding-top:.75rem}.sp-dividend-date,.sp-dividend-notes{color:#666;font-size:.875rem}.sp-dividend-notes{background:#fafafa;border-radius:.25rem;font-style:italic;margin-top:.75rem;padding:.75rem}.sp-dividend-type-row{gap:1rem;grid-template-columns:1fr 1fr}.sp-radio-label{align-items:center;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;display:flex;gap:.5rem;padding:.75rem;transition:all .2s}.sp-radio-label:hover{background:#f5f5f5;border-color:#ccc}.sp-radio-label input[type=radio]{cursor:pointer;margin:0}.sp-radio-label span{color:#333;font-size:.875rem}.sp-radio-label input[type=radio]:checked+span{font-weight:600}@media (max-width:768px){.sp-main-content{padding:1rem 1rem 90px}.sp-chart-metric-toggle,.sp-chart-view-toggle{gap:.375rem}.sp-metric-btn,.sp-view-btn{font-size:.8125rem;padding:.5rem .625rem}.sp-allocation-list,.sp-summary-cards,.sp-summary-grid{grid-template-columns:1fr}.sp-summary-grid{gap:1rem}.sp-dividend-details,.sp-dividend-type-row,.sp-form-row,.sp-holding-details,.sp-transaction-details{grid-template-columns:1fr}.sp-tab-label{font-size:.6875rem}.sp-tabs .sp-tab-label{font-size:.8125rem}}@media (max-width:480px){.sp-header h1{font-size:1.25rem}.sp-stock-input{font-size:1rem;padding:.5rem}.sp-stock-option-code{font-size:.9375rem}.sp-stock-option-name{font-size:.8125rem}.sp-company-code,.sp-holding-code,.sp-transaction-code{font-size:1rem}}.sp-financials-section{display:flex;flex-direction:column;gap:1rem}.sp-financials-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.sp-financials-filters{display:flex;gap:.5rem}.sp-filter-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.sp-filter-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.sp-filter-btn.active{background:#333;border-color:#333;color:#fff}.sp-financial-report-form{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1.5rem;padding:1.5rem}.sp-financial-report-form h3{color:#333;font-size:1rem;font-weight:600;margin:0 0 1rem}.sp-form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:1rem}.sp-form-group{display:flex;flex-direction:column;gap:.25rem}.sp-form-group label{color:#666;font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.sp-form-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem .75rem;transition:all .2s;width:100%}.sp-form-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333;outline:none}.sp-form-input textarea{min-height:60px;resize:vertical}.sp-form-section-title{border-top:1px solid #e0e0e0;color:#333;font-size:.875rem;font-weight:600;margin:1rem 0 .5rem;padding-top:1rem}.sp-financial-reports-list,.sp-reports-grouped{display:flex;flex-direction:column}.sp-reports-grouped{gap:1.5rem}.sp-reports-year-group{display:flex;flex-direction:column;gap:.5rem}.sp-reports-year-header{border-bottom:1px solid #e0e0e0;color:#333;font-size:1rem;font-weight:600;margin-bottom:.5rem;padding-bottom:.5rem}.sp-financial-report-item{border-bottom:1px solid #f0f0f0;display:flex;flex-direction:column;transition:background-color .2s ease}.sp-financial-report-item.last{border-bottom:none}.sp-financial-report-item.expanded{background:#fafafa;border-radius:.25rem;margin:0 -.75rem;padding:.75rem}.sp-financial-report-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 0}.sp-financial-report-title{align-items:center;display:flex;gap:.75rem}.sp-report-type-badge{background:#f5f5f5;border-radius:.25rem;color:#333;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.sp-report-period{color:#666;font-size:.875rem}.sp-financial-report-actions{align-items:center;display:flex;gap:.75rem}.sp-report-value{color:#333;font-size:.875rem;font-weight:600}.sp-expand-icon{color:#666;font-size:.75rem;transition:transform .2s ease}.sp-financial-report-item.expanded .sp-expand-icon{transform:rotate(0deg)}.sp-financial-report-details{border-top:1px solid #f0f0f0;margin-top:.75rem;padding-top:.75rem}.sp-financial-metrics-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr);margin-bottom:1rem}.sp-metric-item{background:#fff;border:1px solid #f0f0f0;border-radius:.25rem;display:flex;flex-direction:column;gap:.25rem;padding:.5rem}.sp-metric-label{color:#666;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.sp-metric-value{color:#333;font-size:.875rem;font-weight:600}.sp-report-notes,.sp-report-source{background:#fff;border:1px solid #f0f0f0;border-radius:.25rem;font-size:.875rem;margin-top:.75rem;padding:.75rem}.sp-report-notes-label,.sp-report-source-label{color:#333;font-weight:600;margin-right:.5rem}.sp-report-notes-value,.sp-report-source-value{color:#666}.sp-report-actions{border-top:1px solid #f0f0f0;display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem}.sp-edit-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.sp-edit-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.sp-delete-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.sp-delete-btn:hover{background:#ffebee;border-color:#ffcdd2;color:#c62828}@media (max-width:768px){.sp-financial-metrics-grid,.sp-form-grid{grid-template-columns:1fr}.sp-financials-header{align-items:flex-start;flex-direction:column;gap:1rem}.sp-financials-filters{width:100%}.sp-filter-btn{flex:1 1}}.sp-info-icon{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:50%;color:#666;cursor:pointer;display:inline-flex;font-size:.75rem;font-style:normal;height:1.25rem;justify-content:center;line-height:1;padding:.125rem .375rem;transition:all .2s;width:1.25rem}.sp-info-icon:hover{background:#f5f5f5;border-color:#ccc;color:#333}.sp-formula-popup-container{position:relative}.sp-formula-popup{animation:fadeIn .2s ease;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 4px 12px #00000026;left:calc(100% + .5rem);position:absolute;top:0;width:320px;z-index:1000}.sp-formula-popup:before{border:6px solid #0000;border-right-color:#e0e0e0;margin-right:-1px}.sp-formula-popup:after,.sp-formula-popup:before{content:"";position:absolute;right:100%;top:.75rem}.sp-formula-popup:after{border:5px solid #0000;border-right-color:#fff}@keyframes fadeInMobile{0%{opacity:0;transform:translateX(-50%) translateY(-4px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.sp-formula-popup-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.75rem 1rem}.sp-formula-popup-title{color:#333;font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.sp-formula-popup-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1rem;height:1.5rem;justify-content:center;padding:0;transition:all .2s;width:1.5rem}.sp-formula-popup-close:hover{background:#f5f5f5;color:#333}.sp-formula-popup-content{padding:1rem}.sp-formula-equation{background:#fafafa;border:1px solid #f0f0f0;border-radius:.25rem;margin-bottom:.75rem;padding:.75rem}.sp-formula-equation code{color:#333;display:block;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.8125rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.sp-formula-explanation{color:#666;font-size:.8125rem;line-height:1.6}@media (max-width:768px){.sp-formula-popup{left:auto;right:0;width:280px}.sp-formula-popup:before{border-left-color:#e0e0e0;border-right-color:#0000;left:1rem;right:auto}.sp-formula-popup:after{border-left-color:#fff;border-right-color:#0000;left:1rem;right:auto}}@media (max-width:480px){.sp-formula-popup{animation:fadeInMobile .2s ease;max-width:320px;width:calc(100vw - 2rem)}.sp-formula-popup,.sp-formula-popup:before{left:50%;right:auto;transform:translateX(-50%)}.sp-formula-popup:before{border-color:#0000 #0000 #e0e0e0;top:-6px}.sp-formula-popup:after{border-color:#0000 #0000 #fff;left:50%;right:auto;top:-5px;transform:translateX(-50%)}}.logs-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;overflow:hidden}.logs-header{background:#fff;border-bottom:1px solid #e0e0e0;display:flex;flex-direction:row;flex-shrink:0;justify-content:space-between;padding:1rem 1.5rem}.header-right,.logs-header{align-items:center}.logs-header h1{color:#333;font-size:1.5rem;font-weight:600;margin:0}.close-btn,.menu-toggle,.timer-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1rem;padding:.5rem;transition:all .2s}.close-btn:hover,.menu-toggle:hover,.timer-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.logs-content{flex:1 1;margin:0 auto;max-width:1200px;overflow-x:hidden;overflow-y:auto;padding:1.5rem}.error-message,.loading-message{border-radius:.375rem;padding:.75rem 1rem}.loading-message{background:#d4edda;border:1px solid #c3e6cb;color:#155724;margin-bottom:1rem}.loading-text{color:#666;font-size:.875rem;font-style:italic;padding:.5rem;text-align:center}.section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1rem;transition:all .2s ease}.section:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.section-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:background-color .2s ease;width:100%}.section-toggle:hover{background:#f9f9f9}.toggle-text{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400}.toggle-arrow{color:#666;font-size:.75rem;transition:transform .2s ease}.section-content{background:#fafafa;border-top:1px solid #f5f5f5;overflow:hidden;padding-left:1.5rem;padding-right:1.5rem;transition:all .3s ease-out}.section-content.expanded{max-height:none;overflow-y:auto;padding:1.5rem}.section-content.collapsed{max-height:0;padding:0}.stats-grid{margin-bottom:1.5rem}.stat-item{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;text-align:center}.stat-label{letter-spacing:.05em}.stat-value{font-weight:400}.activity-stats{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem}.activity-stats h4{color:#333;font-size:.875rem;font-weight:500;margin:0 0 1rem}.activity-stats-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.activity-stat-item{background:#f9f9f9;border-radius:.25rem;padding:.75rem;text-align:center}.activity-stat-label{color:#666;font-size:.75rem;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.activity-stat-value{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400}.logs-header-controls{gap:1rem;justify-content:space-between;margin-bottom:1rem}.filters,.logs-header-controls{align-items:center;display:flex}.filters{gap:.75rem}.filters input,.filters select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.875rem;padding:.5rem;transition:all .2s}.filters input:focus,.filters select:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.add-log-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.add-log-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.logs-list{display:flex;flex-direction:column;gap:.75rem}.empty-state{padding:2rem}.log-item{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;transition:all .2s ease}.log-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.log-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.log-activity{color:#333;font-weight:500}.log-duration{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem}.log-details{align-items:center;display:flex;gap:1rem;margin-bottom:.5rem}.log-type{background:#f0f0f0;border-radius:.25rem;letter-spacing:.05em;padding:.25rem .5rem;text-transform:uppercase}.log-date,.log-time,.log-type{color:#666;font-size:.75rem}.log-time{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.log-description{color:#666;font-size:.875rem;font-style:italic}.log-manual-indicator{background:#f0f0f0;border-radius:.25rem;color:#666;display:inline-block;font-size:.75rem;margin-top:.5rem;padding:.25rem .5rem}.modal-content{box-shadow:0 4px 6px #0000001a;width:90%}.modal-header{padding:1rem 1.5rem}.modal-header h3{color:#333;font-size:1rem;font-weight:500;margin:0}.modal-body{padding:1.5rem}.modal-footer{align-items:center;border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.form-group input,.form-group select,.form-group textarea{transition:all .2s}.cancel-btn,.save-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.cancel-btn{background:#fff;color:#666}.cancel-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.save-btn{background:#333;border-color:#333;color:#fff}.save-btn:hover{background:#555;border-color:#555}.save-btn:disabled{background:#f5f5f5;border-color:#e0e0e0;color:#999;cursor:not-allowed}.autocomplete-wrapper{position:relative;width:100%}.autocomplete-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-sizing:border-box;color:#333;font-size:.875rem;padding:.75rem;transition:all .2s;width:100%}.autocomplete-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.autocomplete-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 8px #0000001a;left:0;margin-top:.25rem;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.autocomplete-option{color:#333;cursor:pointer;font-size:.875rem;padding:.75rem;transition:background-color .2s}.autocomplete-option.highlighted,.autocomplete-option:hover{background:#f5f5f5}.autocomplete-no-results{color:#666;font-size:.875rem;font-style:italic;padding:.75rem;text-align:center}@media (max-width:768px){.logs-content{padding:1rem}.stats-grid{grid-template-columns:1fr}.activity-stats-grid{grid-template-columns:repeat(2,1fr)}.logs-header-controls{align-items:flex-start;flex-direction:column;gap:.75rem}.filters{justify-content:space-between;width:100%}.filters input,.filters select{flex:1 1}.modal-content{margin:1rem;width:95%}.modal-body{padding:1rem}}@media (max-width:480px){.logs-header{padding:1rem}.logs-header h1{font-size:1.25rem}.section-toggle{padding:.75rem 1rem}.section-content.expanded{padding:1rem}.activity-stats-grid{grid-template-columns:1fr}.log-details{align-items:flex-start;flex-direction:column;gap:.5rem}}.notes-container{background:#fff;color:#333;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;min-height:100vh;overflow-y:auto}.weeks-saving-indicator{align-items:center;color:#666;display:flex;font-size:.875rem;gap:.5rem}.weeks-saving-indicator .saving-spinner{animation:spin 1s linear infinite;border:2px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:12px;width:12px}.week-navigation{flex-direction:row;gap:.5rem}.nav-btn,.week-navigation{align-items:center;display:flex;justify-content:center}.nav-btn{height:32px;min-width:32px;padding:.375rem}.nav-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.week-info{padding:0 .5rem;text-align:center}.week-info h2{color:#333;font-size:1.125rem;font-weight:600;margin:0}.week-dates{color:#666;font-size:.75rem;margin:0}.current-week-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.75rem;margin-left:.5rem;padding:.375rem .5rem;transition:all .2s ease;white-space:nowrap}.current-week-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.weeks-content{gap:1.5rem;overflow-y:auto;padding:1.5rem}.weekly-note-section,.weeks-content{display:flex;flex:1 1;flex-direction:column}.weekly-note-section{margin-bottom:0;min-height:0}.weekly-note-editor{background:#fff;flex:1 1;min-height:300px;overflow:hidden;transition:border-color .2s ease}.weekly-note-editor:focus-within{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.note-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.note-loading .loading-spinner{margin-bottom:1rem}.week-description{background:#fff;color:#333;font-size:1rem;line-height:1.6}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.retry-btn{font-size:.875rem}@media (max-width:768px){.week-navigation{gap:.5rem}.week-info{flex:1 1;min-width:auto;text-align:center}.week-dates{font-size:.8125rem}.current-week-btn{font-size:.6875rem;padding:.25rem .5rem}.weeks-content{gap:1rem;padding:1rem}.week-description{font-size:.875rem}}@media (max-width:480px){.week-description{font-size:.8125rem}}.chat-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;font-size:1.2rem;padding:.5rem;transition:all .2s}.chat-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.weeks-sync-status-icon{align-items:center;border-radius:50%;bottom:2rem;box-shadow:0 2px 8px #00000026;display:flex;font-size:1rem;height:40px;justify-content:center;position:fixed;right:2rem;transition:all .3s ease;width:40px;z-index:1000}.weeks-sync-status-icon.synced{background:#28a745;color:#fff}.weeks-sync-status-icon.syncing{background:#ffc107;color:#333}.weeks-sync-status-icon.error{background:#dc3545;color:#fff}.weeks-sync-spinner{animation:spin 1s linear infinite}.weeks-sync-check,.weeks-sync-error{font-weight:700}.timeline-container{background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:1.5rem}.timeline-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.timeline-header-left{align-items:center;display:flex;gap:1rem}.timeline-header h1{color:#333;font-size:1.5rem;font-weight:600;margin:0}.menu-btn{padding:.5rem}.timeline-controls{align-items:center;display:flex;gap:1rem}.view-toggle{border:1px solid #e0e0e0;border-radius:.25rem;display:flex;margin-left:.5rem;overflow:hidden}.view-btn{background:none;border:none;border-right:1px solid #e0e0e0;color:#666;cursor:pointer;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.8125rem;padding:.375rem .75rem;transition:all .2s ease}.view-btn:last-child{border-right:none}.view-btn:hover{background:#f5f5f5;color:#333}.view-btn.active{background:#333;color:#fff}.view-btn.active:hover{background:#444}.current-period-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.current-period-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.goal-count{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem}.timeline-error,.timeline-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.timeline-error p,.timeline-loading p{color:#666;margin:0}.retry-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;margin-top:1rem;padding:.5rem 1rem;transition:all .2s ease}.retry-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.gantt-container{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;flex-direction:column;overflow:hidden}.gantt-header{background:#f9f9f9;border-bottom:1px solid #e0e0e0;overflow-x:auto;scrollbar-color:#ccc #f5f5f5;scrollbar-width:thin}.gantt-header::-webkit-scrollbar{height:8px}.gantt-header::-webkit-scrollbar-track{background:#f5f5f5}.gantt-header::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.gantt-header::-webkit-scrollbar-thumb:hover{background:#999}.timeline-months{display:flex;min-width:2280px}.timeline-years{display:flex;min-width:1920px}.month-header{border-right:1px solid #f0f0f0;color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;min-width:120px;padding:1rem;text-align:center}.month-header.current-month{background:#fafafa;color:#333;font-weight:500}.year-header{border-right:1px solid #f0f0f0;display:flex;flex-direction:column;min-width:240px}.year-header.current-year{background:#fafafa}.year-label{border-bottom:1px solid #f0f0f0;color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:500;padding:.75rem 1rem;text-align:center}.quarter-labels{display:flex;flex:1 1}.quarter-label{border-right:1px solid #f5f5f5;color:#666;flex:1 1;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;padding:.5rem;text-align:center}.quarter-label:last-child{border-right:none}.gantt-content{flex:1 1;max-height:60vh;overflow-x:auto;overflow-y:auto;scrollbar-color:#ccc #f5f5f5;scrollbar-width:thin}.gantt-content::-webkit-scrollbar{height:8px;width:8px}.gantt-content::-webkit-scrollbar-track{background:#f5f5f5}.gantt-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.gantt-content::-webkit-scrollbar-thumb:hover{background:#999}.no-goals{padding:2rem;text-align:center}.no-goals p{color:#666;margin:.5rem 0}.no-goals-subtitle{color:#999;font-size:.875rem}.timeline-grid{min-height:600px;position:relative}.timeline-grid.monthly{min-width:2280px}.timeline-grid.yearly{min-width:1920px}.month-grid{display:flex;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.month-column{border-right:1px solid #f0f0f0;height:100%;min-width:120px}.year-grid{left:0;position:absolute;top:0;width:100%;z-index:1}.year-column,.year-grid{display:flex;height:100%}.year-column{border-right:1px solid #f0f0f0;min-width:240px}.quarter-column{border-right:1px solid #f5f5f5;flex:1 1;height:100%}.quarter-column:last-child{border-right:none}.goal-bars{height:100%;position:relative;width:100%;z-index:2}.goal-bar{align-items:center;border-radius:.25rem;cursor:pointer;display:flex;height:40px;margin:5px 0;overflow:hidden;position:absolute;transition:all .2s ease;-webkit-user-select:none;user-select:none}.goal-bar:hover{box-shadow:0 4px 12px #00000026;filter:brightness(1.1);opacity:1!important;transform:translateY(-2px)}.goal-bar:active{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.goal-bar-progress{background:#ffffff4d;border-radius:.25rem;height:100%;left:0;position:absolute;top:0;transition:width .3s ease}.goal-bar-label{color:#fff;font-size:.875rem;font-weight:500;overflow:hidden;padding:0 .75rem;position:relative;text-overflow:ellipsis;text-shadow:0 1px 2px #0000004d;white-space:nowrap;z-index:3}@media (max-width:768px){.timeline-container{padding:1rem}.timeline-header{align-items:flex-start;flex-direction:column;gap:1rem}.timeline-header-left{flex-wrap:wrap;width:100%}.view-toggle{flex-basis:100%;margin-left:0;margin-top:.5rem}.timeline-controls{align-items:flex-start;flex-direction:column;gap:.75rem;width:100%}.current-period-btn{align-self:stretch;text-align:center}.goal-count{align-self:flex-end}.menu-btn{font-size:1.125rem;height:36px;width:36px}.goal-labels{min-width:250px;width:250px}.goal-label{min-height:70px;padding:.75rem}.goal-title{font-size:.8125rem}.goal-meta{font-size:.6875rem}.month-header{font-size:.8125rem;min-width:120px;padding:.75rem}.timeline-grid.monthly{min-width:1900px}.timeline-grid.yearly{min-width:1600px}.year-header{min-width:200px}.year-label{font-size:.875rem;padding:.5rem}.quarter-label{font-size:.6875rem;padding:.375rem}.year-column{min-width:200px}.goal-bar{height:35px;margin:5px 0}}.settings-container{background:#fff;margin:0 auto;max-width:800px;min-height:100vh;padding:1.5rem}.settings-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:1rem;margin-bottom:2rem;padding-bottom:1rem}.menu-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;font-size:1.125rem;transition:all .2s}.menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.settings-title{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.5rem;font-weight:600;margin:0}.settings-tabs{border-bottom:1px solid #e0e0e0;display:flex;gap:.5rem;margin-bottom:1.5rem}.settings-tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1rem;transition:all .2s}.settings-tab:hover{background:#f9f9f9;color:#333}.settings-tab.active{border-bottom-color:#333;color:#333}.settings-content{display:flex;flex-direction:column;gap:2rem}.settings-section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1.5rem}.settings-section-title{border-bottom:1px solid #f5f5f5;color:#333;font-size:1rem;font-weight:500;margin:0 0 1.5rem;padding-bottom:.75rem}.settings-item{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.settings-item:last-child{margin-bottom:0}.settings-label{color:#666;font-size:.875rem;font-weight:500;margin:0}.settings-value{background:#fafafa;color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;padding:.75rem}.settings-signout-btn,.settings-value{border:1px solid #e0e0e0;border-radius:.25rem}.settings-signout-btn{align-items:center;align-self:flex-start;background:none;color:#666;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;transition:all .2s}.settings-signout-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.settings-description{color:#666;font-size:.875rem;margin:0 0 1.5rem}.settings-loading{color:#666;font-size:.875rem;padding:1rem;text-align:center}.settings-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24}.settings-error,.settings-success{font-size:.875rem;margin-bottom:1rem;padding:.75rem}.settings-success{background:#d4edda;border:1px solid #c3e6cb;border-radius:.25rem;color:#155724}.module-section{margin-bottom:1.5rem}.module-section:last-child{margin-bottom:0}.module-section-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500;margin:0 0 .75rem}.module-items{display:flex;flex-direction:column;gap:.5rem;padding-left:.5rem}.module-item-wrapper{align-items:center;border-radius:.25rem;display:flex;gap:.5rem;justify-content:space-between;padding:.5rem;transition:background-color .2s ease}.module-item-wrapper:hover{background:#f9f9f9}.module-item{flex:1 1;gap:.5rem}.module-item,.module-open-btn{align-items:center;cursor:pointer;display:flex}.module-open-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;flex-shrink:0;font-size:.875rem;height:28px;justify-content:center;transition:all .2s;width:28px}.module-open-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.module-checkbox{accent-color:#333;cursor:pointer;height:18px;width:18px}.module-label{color:#333;font-size:.875rem;-webkit-user-select:none;user-select:none}.settings-save-section{border-top:1px solid #f5f5f5;margin-top:1.5rem;padding-top:1.5rem}.settings-save-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.settings-save-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.settings-save-btn:disabled{cursor:not-allowed;opacity:.6}.settings-value-group{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.settings-edit-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.settings-edit-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.settings-edit-group{display:flex;flex-direction:column;gap:.75rem}.settings-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;padding:.75rem;transition:border-color .2s}.settings-input:focus{border-color:#333;outline:none}.settings-edit-actions{align-items:center;display:flex;gap:.5rem}.settings-cancel-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.settings-cancel-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.settings-cancel-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.settings-container,.settings-section{padding:1rem}.settings-title{font-size:1.25rem}.settings-tabs{gap:.25rem}.settings-tab{font-size:.8125rem;padding:.5rem .75rem}}@media (max-width:480px){.settings-container,.settings-section{padding:.75rem}.settings-title{font-size:1.125rem}.settings-tabs{gap:.25rem}.settings-tab{font-size:.75rem;padding:.5rem .625rem}.settings-value{font-size:.875rem}.module-label,.module-section-title{font-size:.8125rem}.module-open-btn{font-size:.75rem;height:24px;width:24px}}.learn-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.learn-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.learn-header-left{align-items:center;display:flex;gap:1rem}.learn-header-right{align-items:center;display:flex;gap:.75rem}.learn-menu-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1rem;padding:.5rem;transition:all .2s ease}.learn-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.learn-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.5rem;font-weight:600;margin:0}.learn-close-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1.25rem;line-height:1;padding:.5rem .75rem;transition:all .2s ease}.learn-close-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.learn-view-toggle-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.learn-view-toggle-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.learn-view-toggle-btn.active{background:#333;border-color:#333;color:#fff}.learn-view-toggle-btn.active:hover{background:#555;border-color:#555}.learn-content{flex:1 1;overflow-y:auto;padding:1.5rem}.learn-intro{margin-bottom:2rem}.learn-description{color:#666;font-size:1rem;line-height:1.6;margin:0;max-width:600px}.learn-section{margin-bottom:3rem}.learn-section-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:1rem;margin-bottom:1.5rem;padding-bottom:.75rem}.learn-section-title{color:#666;font-size:1.25rem;font-weight:400;margin:0}.learn-section-count,.learn-section-title{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.learn-section-count{background:#f5f5f5;border-radius:.25rem;color:#999;font-size:.875rem;font-weight:500;padding:.25rem .5rem}.learn-modules-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.learn-module-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;padding:1.5rem;transition:all .2s ease}.learn-module-card:hover{border-color:#ccc;box-shadow:0 2px 4px #0000000d}.learn-module-card.completed{background:#f8fff9;border-color:#28a745}.learn-module-card.in_progress{background:#fafafa;border-color:#333}.learn-module-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1rem}.learn-module-icon{font-size:2rem;line-height:1}.learn-module-info{flex:1 1}.learn-module-title{color:#333;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.learn-level-badge{border-radius:.25rem;display:inline-block;font-size:.75rem;font-weight:500;letter-spacing:.025em;padding:.25rem .5rem;text-transform:uppercase}.learn-level-badge.beginner{background:#d4edda;color:#155724}.learn-level-badge.elementary{background:#cce5ff;color:#004085}.learn-level-badge.intermediate{background:#fff3cd;color:#856404}.learn-level-badge.advanced{background:#f8d7da;color:#721c24}.learn-level-badge.default{background:#f0f0f0;color:#666}.learn-status-badge{border-radius:.25rem;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem;white-space:nowrap}.learn-status-badge.completed{background:#d4edda;color:#155724}.learn-status-badge.in-progress{background:#fafafa;border:1px solid #e0e0e0;color:#333}.learn-status-badge.available{background:#f0f0f0;color:#666}.learn-subscribed-badge{background:#d4edda;border-radius:.25rem;color:#155724;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem;white-space:nowrap}.learn-module-description{color:#666;font-size:.875rem;line-height:1.5;margin:0 0 1.5rem}.learn-progress-section{margin-bottom:1.5rem}.learn-progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.learn-progress-label{color:#666;font-size:.875rem;font-weight:500}.learn-progress-percentage{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:600}.learn-progress-bar{background:#f0f0f0;border-radius:2px;height:4px;overflow:hidden;width:100%}.learn-progress-fill{background:#333;border-radius:2px;height:100%;transition:width .3s ease}.learn-module-card.completed .learn-progress-fill{background:#28a745}.learn-module-actions{display:flex;gap:.75rem}.learn-action-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.learn-action-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.learn-action-btn.continue{background:#333;border-color:#333;color:#fff}.learn-action-btn.continue:hover{background:#555;border-color:#555}.learn-action-btn.review{background:#28a745;border-color:#28a745;color:#fff}.learn-action-btn.review:hover{background:#218838;border-color:#218838}.learn-action-btn.start{border-color:#333;color:#333}.learn-action-btn.start:hover{background:#333;color:#fff}.learn-action-btn.subscribe{background:#333;border-color:#333;color:#fff}.learn-action-btn.subscribe:hover{background:#555;border-color:#555}.learn-action-btn.unsubscribe{background:none;border-color:#e0e0e0;color:#666}.learn-action-btn.unsubscribe:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.learn-error,.learn-loading{align-items:center;display:flex;justify-content:center;padding:3rem 1.5rem;text-align:center}.learn-loading p{color:#666;font-size:1rem}.learn-error p{background:#f8d7da;border:1px solid #f5c6cb;border-radius:.375rem;color:#721c24;padding:1rem 1.5rem}.learn-empty-state{align-items:center;display:flex;flex-direction:column;gap:1.5rem;justify-content:center;padding:3rem 1.5rem;text-align:center}.learn-empty-state p{color:#666;font-size:1rem;margin:0}@media (max-width:768px){.learn-content{padding:1rem}.learn-modules-grid{gap:1rem;grid-template-columns:1fr}.learn-header,.learn-module-card{padding:1rem}.learn-title{font-size:1.25rem}.learn-section-header{margin-bottom:1rem}.learn-section-title{font-size:1.125rem}}@media (max-width:480px){.learn-header-left{gap:.75rem}.learn-header-right{gap:.5rem}.learn-title{font-size:1.125rem}.learn-view-toggle-btn{font-size:.8125rem;padding:.5rem .75rem}.learn-module-header{align-items:flex-start;flex-direction:column;gap:.75rem}.learn-module-info{width:100%}.learn-status-badge,.learn-subscribed-badge{align-self:flex-start}}.learning-module-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;width:100%}.learning-module-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;min-height:70px;padding:1rem 1.5rem}.learning-module-header-left{align-items:center;display:flex;gap:1rem}.learning-module-back-btn,.learning-module-menu-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;transition:all .2s ease;width:40px}.learning-module-back-btn:hover,.learning-module-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.learning-module-title-section{align-items:center;display:flex;gap:.75rem}.learning-module-icon{font-size:2rem}.learning-module-title{color:#333;font-size:1.5rem;font-weight:600;margin:0}.learning-module-subtitle{color:#666;font-size:.875rem;font-weight:400;margin:0}.learning-module-content{background:#fafafa;flex:1 1;overflow-y:auto;padding:1.5rem}.learning-module-overview{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1.5rem;padding:1.5rem}.learning-module-description{margin-bottom:1.5rem}.learning-module-description p{color:#333;font-size:1rem;line-height:1.5;margin:0}.learning-module-stats{display:flex;gap:2rem;margin-bottom:1.5rem}.stat-item{align-items:center;display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.learning-module-progress{width:100%}.progress-bar-container{border-radius:4px;height:8px}.progress-bar-fill{border-radius:4px}.exercises-section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;overflow:hidden}.exercises-header{align-items:center;border-bottom:1px solid #f5f5f5;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.5rem}.exercises-title{color:#333;font-size:1.25rem;font-weight:600;margin:0}.exercises-filters{display:flex;gap:.5rem}.filter-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.filter-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.filter-btn.active{background:#333;border-color:#333;color:#fff}.exercises-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.exercise-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;padding:1rem;position:relative;transition:all .2s ease}.exercise-card:hover{border-color:#ccc;box-shadow:0 2px 4px #0000000d;transform:translateY(-1px)}.exercise-card.completed{background:#f8fff9;border-color:#28a745}.exercise-card.locked{cursor:not-allowed;opacity:.5;pointer-events:none}.exercise-card.locked:hover{border-color:#e0e0e0;box-shadow:none;transform:none}.exercise-header{align-items:flex-start;display:flex;gap:.75rem;margin-bottom:.75rem}.exercise-type-icon{flex-shrink:0;font-size:1.5rem}.exercise-info{flex:1 1;min-width:0}.exercise-title{color:#333;font-size:1rem;font-weight:500;line-height:1.3;margin:0 0 .5rem}.exercise-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.difficulty-badge{border-radius:.25rem;font-size:.75rem;font-weight:500;letter-spacing:.5px;padding:.25rem .5rem;text-transform:uppercase}.difficulty-badge.easy{background:#d4edda;color:#155724}.difficulty-badge.medium{background:#fff3cd;color:#856404}.difficulty-badge.hard{background:#f8d7da;color:#721c24}.time-estimate{color:#666;font-size:.75rem}.completion-status,.time-estimate{align-items:center;display:flex;gap:.25rem}.completion-status{flex-direction:column;flex-shrink:0}.completion-checkmark{align-items:center;background:#28a745;border-radius:50%;color:#fff;display:flex;font-size:.875rem;font-weight:600;height:24px;justify-content:center;width:24px}.exercise-score{color:#28a745;font-size:.75rem;font-weight:600}.exercise-description{color:#666;font-size:.875rem;line-height:1.4;margin:0 0 1rem}.exercise-action-btn,.exercise-actions{display:flex;gap:.5rem}.exercise-action-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.exercise-action-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.exercise-action-btn.start{border-color:#333;color:#333}.exercise-action-btn.start:hover{background:#333;color:#fff}.exercise-action-btn.review{border-color:#28a745;color:#28a745}.exercise-action-btn.review:hover{background:#28a745;color:#fff}.exercise-action-btn.locked{border-color:#e0e0e0;color:#999;cursor:not-allowed;opacity:.6}.exercise-action-btn.locked:hover{background:none;border-color:#e0e0e0;color:#999}.lock-status{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:.25rem}.lock-icon{color:#999;font-size:1.25rem}.no-exercises{color:#666;padding:2rem;text-align:center}.learning-module-error,.learning-module-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;height:100vh;justify-content:center}.back-btn{background:#333;border:none;color:#fff}.back-btn:hover{background:#555}@media (max-width:768px){.learning-module-content,.learning-module-overview{padding:1rem}.learning-module-stats{gap:1rem}.exercises-header{align-items:stretch;flex-direction:column;padding:1rem}.exercises-filters{justify-content:center}.exercises-grid{gap:.75rem;grid-template-columns:1fr}.exercise-header{flex-wrap:wrap}.completion-status{align-items:center;flex-direction:row}}@media (max-width:480px){.learning-module-header{padding:.75rem 1rem}.learning-module-title{font-size:1.25rem}.learning-module-title-section{gap:.5rem}.learning-module-icon{font-size:1.5rem}.exercises-filters{flex-wrap:wrap;gap:.25rem}.filter-btn{font-size:.8125rem;padding:.5rem .75rem}}.critical-thinking-activity{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:900px;padding:2rem 1.5rem}.activity-header-ct{border-bottom:1px solid #e0e0e0;margin-bottom:2rem;padding-bottom:1.5rem}.activity-title-ct{color:#333;font-size:1.75rem;font-weight:600;margin:0 0 .75rem}.activity-description-ct{color:#666;font-size:1rem;line-height:1.6;margin:0}.article-section-ct{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:2rem;padding:1.5rem}.article-meta-ct{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:1rem}.article-meta-left-ct{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.article-date-ct,.article-source-ct,.reading-time-ct{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem}.article-source-ct{font-weight:500}.article-date-ct:before,.reading-time-ct:before{content:"•";margin-right:.5rem}.toggle-custom-article-ct{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.toggle-custom-article-ct:hover{background:#f5f5f5;border-color:#ccc;color:#333}.article-display-ct{background:#fff;border-radius:.25rem;padding:1.5rem}.article-title-ct{color:#333;font-size:1.5rem;font-weight:600;line-height:1.3;margin:0 0 .75rem}.article-link-ct{color:#666;display:inline-block;font-size:.875rem;margin-bottom:1.25rem;text-decoration:none;transition:color .2s}.article-link-ct:hover{color:#333}.article-content-ct{color:#333;line-height:1.8}.article-paragraph-ct{font-size:1rem;margin:0 0 1rem}.article-paragraph-ct:last-child{margin-bottom:0}.custom-article-form-ct{background:#fff;border-radius:.25rem;padding:1.5rem}.form-group-ct{margin-bottom:1.25rem}.form-group-ct:last-child{margin-bottom:0}.form-label-ct{color:#333;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-input-ct{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9375rem;padding:.625rem .875rem;transition:border-color .2s;width:100%}.form-input-ct:focus{border-color:#333;outline:none}.form-textarea-ct{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9375rem;line-height:1.6;padding:.75rem .875rem;resize:vertical;transition:border-color .2s;width:100%}.form-textarea-ct:focus{border-color:#333;outline:none}.article-content-input-ct{min-height:300px}.tab-navigation-ct{border-bottom:1px solid #e0e0e0;display:flex;gap:.5rem;margin-bottom:2rem}.tab-button-ct{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.875rem 1.5rem;position:relative;transition:all .2s}.tab-button-ct:hover{background:#f9f9f9;color:#333}.tab-button-ct.active{border-bottom-color:#333;color:#333}.tab-badge-ct{background:#e0e0e0;border-radius:1rem;color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;padding:.125rem .5rem}.tab-button-ct.active .tab-badge-ct{background:#333;color:#fff}.tab-action-ct{display:flex;justify-content:center;margin-top:1.5rem}.next-tab-btn-ct{background:#333;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.875rem 2rem;transition:all .2s}.next-tab-btn-ct:hover{background:#000;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.prompts-section-ct{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1.5rem;overflow:hidden}.prompts-toggle-ct{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:background-color .2s ease;width:100%}.prompts-toggle-ct:hover{background:#f5f5f5}.prompts-toggle-text-ct{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.125rem;font-weight:600}.prompts-toggle-arrow-ct{color:#666;font-size:.875rem;transition:transform .2s ease}.prompts-content-ct{background:#fafafa;padding:0 1.5rem 1.5rem}.prompts-subtitle-ct{color:#666;font-size:.9375rem;margin:0 0 1rem}.prompts-list-ct{list-style:none;margin:0;padding:0}.prompt-item-ct{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.9375rem;margin-bottom:.75rem;padding:.75rem 1rem}.prompt-item-ct:last-child{margin-bottom:0}.prompt-item-ct:before{color:#666;content:"→";margin-right:.75rem}.response-section-ct{margin-bottom:2rem}.response-header-ct{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.response-title-ct{color:#333;font-size:1.25rem;font-weight:600;margin:0}.view-previous-btn-ct{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.view-previous-btn-ct:hover{background:#f5f5f5;border-color:#ccc;color:#333}.response-textarea-ct{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.7;min-height:300px;padding:1rem;resize:vertical;transition:border-color .2s;width:100%}.response-textarea-ct:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.response-meta-ct{display:flex;justify-content:flex-end;margin-bottom:1rem;margin-top:.5rem}.character-count-ct{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem}.submit-btn-ct{background:#333;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.875rem 1.5rem;transition:all .2s;width:100%}.submit-btn-ct:hover:not(:disabled){background:#000;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.submit-btn-ct:disabled{background:#e0e0e0;color:#999;cursor:not-allowed}.error-message-ct{background:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;font-size:.9375rem;margin-bottom:1rem;padding:.875rem 1rem}.feedback-section-ct{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;padding:2rem}.feedback-header-ct{align-items:flex-start;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.5rem}.feedback-title-ct{color:#333;font-size:1.5rem;font-weight:600;margin:0}.score-display-ct{align-items:flex-end;display:flex;flex-direction:column}.score-number-ct{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:3rem;font-weight:700;line-height:1}.score-label-ct{font-size:.875rem;font-weight:500;letter-spacing:.5px;margin-top:.25rem;text-transform:uppercase}.feedback-summary-ct{background:#fff;border-left:4px solid #333;border-radius:.25rem;margin-bottom:1.5rem;padding:1.25rem}.feedback-summary-ct p{color:#333;font-size:1rem;line-height:1.6;margin:0}.feedback-improvements-ct,.feedback-strengths-ct{margin-bottom:1.5rem}.feedback-subtitle-ct{color:#333;font-size:1.125rem;font-weight:600;margin:0 0 .875rem}.feedback-list-ct{list-style:none;margin:0;padding:0}.feedback-item-ct{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.9375rem;line-height:1.6;margin-bottom:.625rem;padding:.875rem 1rem}.feedback-item-ct:last-child{margin-bottom:0}.strength-item-ct{border-left:3px solid #28a745}.improvement-item-ct{border-left:3px solid #f0ad4e}.feedback-detailed-ct{margin-bottom:1.5rem}.feedback-detailed-content-ct{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;padding:1.25rem}.feedback-detailed-content-ct p{color:#333;font-size:.9375rem;line-height:1.7;margin:0 0 1rem}.feedback-detailed-content-ct p:last-child{margin-bottom:0}.feedback-actions-ct{display:flex;justify-content:center;margin-top:1.5rem}.try-again-btn-ct{background:#fff;border:1px solid #333;border-radius:.375rem;color:#333;cursor:pointer;font-size:1rem;font-weight:500;padding:.875rem 2rem;transition:all .2s}.try-again-btn-ct:hover{background:#333;color:#fff}.loading{color:#666;font-size:1rem;padding:3rem;text-align:center}@media (max-width:768px){.critical-thinking-activity{padding:1rem}.activity-title-ct{font-size:1.5rem}.tab-navigation-ct{gap:.25rem}.tab-button-ct{flex:1 1;font-size:.9375rem;justify-content:center;padding:.75rem}.tab-badge-ct{font-size:.6875rem;padding:.0625rem .375rem}.next-tab-btn-ct{width:100%}.article-section-ct,.feedback-section-ct{padding:1rem}.prompts-toggle-ct{padding:.875rem 1rem}.prompts-toggle-text-ct{font-size:1rem}.prompts-content-ct{padding:0 1rem 1rem}.article-meta-ct{align-items:flex-start;flex-direction:column;gap:.75rem}.toggle-custom-article-ct{width:100%}.article-display-ct,.custom-article-form-ct{padding:1rem}.article-title-ct{font-size:1.25rem}.response-header-ct{align-items:flex-start;flex-direction:column;gap:.75rem}.view-previous-btn-ct{width:100%}.feedback-header-ct{flex-direction:column;gap:1rem}.score-display-ct{align-items:flex-start}.score-number-ct{font-size:2.5rem}}@media (max-width:480px){.activity-title-ct{font-size:1.25rem}.tab-button-ct{font-size:.875rem;padding:.625rem .5rem}.prompts-toggle-text-ct{font-size:.9375rem}.article-meta-left-ct{align-items:flex-start;flex-direction:column;gap:.25rem}.article-date-ct:before,.reading-time-ct:before{content:"";margin-right:0}}.lesson-study-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100%;min-height:100vh}.lesson-study-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.5rem}.lesson-study-header-left{align-items:center;display:flex;gap:1rem}.lesson-study-back-btn,.lesson-study-menu-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1rem;height:2.5rem;justify-content:center;padding:.5rem;transition:all .2s ease;width:2.5rem}.lesson-study-back-btn:hover,.lesson-study-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.lesson-study-title-section{display:flex;flex-direction:column;gap:.25rem}.lesson-study-title{color:#333;font-size:1.5rem;font-weight:600;margin:0}.lesson-study-subtitle{color:#666;font-size:.875rem;margin:0}.lesson-study-progress-bar{background:#fafafa;border-bottom:1px solid #f0f0f0;flex-shrink:0;padding:1rem 1.5rem}.progress-bar-container{border-radius:3px;height:6px}.progress-bar-fill{border-radius:3px}.progress-text{color:#666;font-size:.875rem;text-align:center}.lesson-study-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow-y:auto;padding:1.5rem}.activity-header{align-items:center;display:flex;gap:1rem;margin-bottom:2rem}.activity-icon{align-items:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.5rem;display:flex;font-size:2rem;height:3rem;justify-content:center;width:3rem}.activity-title{color:#333;font-size:1.25rem;font-weight:600;margin:0}.activity-content{flex:1 1;margin-bottom:1rem;min-height:0;overflow-y:auto;padding:0 0 1rem}.lesson-study-navigation{align-items:center;background:#fff;border-top:1px solid #f0f0f0;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.5rem 1.5rem}.nav-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;min-height:44px;padding:.75rem 1.5rem;transition:all .2s ease}.nav-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.nav-btn:disabled{cursor:not-allowed;opacity:.5}.next-btn{background:#333;border-color:#333;color:#fff}.next-btn:hover:not(:disabled){background:#555;border-color:#555}.activity-indicators{display:flex;gap:.5rem}.activity-indicator{background:#e0e0e0;border-radius:50%;height:8px;transition:all .2s ease;width:8px}.activity-indicator.current{background:#333;transform:scale(1.2)}.activity-indicator.completed{background:#28a745}.read-activity{display:flex;flex-direction:column;gap:2rem}.read-content{color:#333;line-height:1.6}.read-content p{font-size:1rem;margin-bottom:1.5rem}.vocabulary-list{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.375rem;padding:1.5rem}.vocabulary-list h3{color:#333;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.vocabulary-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.75rem 0}.vocabulary-item:last-child{border-bottom:none}.vocabulary-word{display:flex;flex-direction:column;gap:.25rem}.vocabulary-word .chinese{color:#333;font-size:1.125rem;font-weight:500}.vocabulary-word .pinyin{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.vocabulary-meaning,.vocabulary-word .pinyin{color:#666;font-size:.875rem}.examples-list,.key-terms-list,.strategies-list{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.375rem;margin-top:1.5rem;padding:1.5rem}.examples-list h3,.key-terms-list h3,.strategies-list h3{color:#333;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.example-item,.key-term-item,.strategy-item{border-bottom:1px solid #f0f0f0;padding:.75rem 0}.example-item:last-child,.key-term-item:last-child,.strategy-item:last-child{border-bottom:none}.example-title,.key-term-word,.strategy-title{color:#333;font-size:1rem;font-weight:600;margin-bottom:.5rem}.example-description,.key-term-definition,.strategy-description{color:#666;font-size:.875rem;line-height:1.5}.read-activity-actions{display:flex;justify-content:center}.complete-btn{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 2rem;transition:all .2s ease}.complete-btn:hover:not(:disabled){background:#555}.complete-btn.completed{background:#28a745}.complete-btn:disabled{cursor:not-allowed;opacity:.7}.mcq-activity{display:flex;flex-direction:column;gap:2rem}.question-progress{color:#666;font-size:.875rem;margin-bottom:1rem;text-align:center}.question-content{flex:1 1}.question-text{color:#333;font-size:1.125rem;font-weight:500;margin-bottom:1.5rem}.answer-options{display:flex;flex-direction:column;gap:.75rem}.answer-option{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;color:#333;cursor:pointer;font-size:.875rem;padding:1rem;text-align:left;transition:all .2s ease}.answer-option:hover{background:#f9f9f9;border-color:#ccc}.answer-option.selected{background:#f9f9f9;border-color:#333;font-weight:500}.mcq-actions{display:flex;justify-content:center}.next-question-btn{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 2rem;transition:all .2s ease}.next-question-btn:hover:not(:disabled){background:#555}.next-question-btn:disabled{cursor:not-allowed;opacity:.5}.mcq-results{padding:2rem;text-align:center}.mcq-results h3{color:#333;font-size:1.25rem;font-weight:600;margin-bottom:2rem}.score-display{align-items:center;display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.score-value{color:#333;font-size:3rem;font-weight:600}.score-label{color:#666;font-size:.875rem}.game-activity{display:flex;flex-direction:column;gap:2rem}.game-content h3{color:#333;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.game-content p{color:#666;font-size:.875rem;margin-bottom:1.5rem}.game-placeholder{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.375rem;padding:2rem;text-align:center}.game-placeholder p{color:#666;margin-bottom:1rem}.write-activity{display:flex;flex-direction:column;gap:2rem}.write-activity h3{color:#333;font-size:1.125rem;font-weight:600;margin-bottom:1.5rem}.writing-exercises{display:flex;flex-direction:column;gap:1.5rem}.writing-exercise{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1.5rem}.exercise-prompt{color:#333;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.exercise-example{color:#666;font-size:.875rem;margin-bottom:1rem}.writing-input{border:1px solid #e0e0e0;border-radius:.25rem;font-family:inherit;font-size:.875rem;min-height:4rem;padding:.75rem;resize:vertical;transition:border-color .2s ease;width:100%}.writing-input:focus{border-color:#333;outline:none}.writing-input:disabled{background:#f5f5f5;color:#666}.write-activity-actions{display:flex;justify-content:center}.submit-btn{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 2rem;transition:all .2s ease}.submit-btn:hover:not(:disabled){background:#555}.submit-btn:disabled{cursor:not-allowed;opacity:.5}.quiz-activity{display:flex;flex-direction:column;gap:2rem}.quiz-actions{align-items:center;display:flex;gap:1rem;justify-content:center}.explanation-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.explanation-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.question-explanation{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.375rem;margin-top:1.5rem;padding:1rem}.question-explanation h4{color:#333;font-size:.875rem;font-weight:600;margin:0 0 .5rem}.question-explanation p{color:#666;font-size:.875rem;line-height:1.5;margin:0}.quiz-results{padding:1rem;text-align:center}.quiz-results h3{color:#333;font-size:1.25rem;font-weight:600;margin-bottom:2rem}.quiz-review{margin:2rem 0;text-align:left}.quiz-review h4{color:#333;font-size:1rem;font-weight:600;margin-bottom:1rem}.review-question{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1rem;padding:1rem}.review-question.correct{background:#f8fff8;border-color:#28a745}.review-question.incorrect{background:#fff8f8;border-color:#dc3545}.review-question-text{color:#333;font-size:.875rem;font-weight:500;margin-bottom:.75rem}.review-answer{align-items:flex-start;color:#666;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:.5rem}.review-status{font-size:1rem;font-weight:600}.review-status.correct{color:#28a745}.review-status.incorrect{color:#dc3545}.correct-answer{color:#28a745;font-weight:500}.review-explanation{background:#fafafa;border-radius:.25rem;color:#666;font-size:.8125rem;line-height:1.4;margin-top:.5rem;padding:.75rem}.quiz-error{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.375rem;padding:2rem;text-align:center}.quiz-error p{color:#666;margin:0}.reflection-activity{display:flex;flex-direction:column;gap:2rem}.reflection-content{display:flex;flex-direction:column;gap:1.5rem}.reflection-prompt h3{color:#333;font-size:1.125rem;font-weight:600;margin-bottom:.75rem}.reflection-prompt p{color:#666;font-size:.875rem;line-height:1.6;margin:0}.reflection-guidelines{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.375rem;padding:1.5rem}.reflection-guidelines h4{color:#333;font-size:1rem;font-weight:600;margin:0 0 .75rem}.reflection-guidelines ul{list-style-type:disc;margin:0;padding-left:1.5rem}.reflection-guidelines li{color:#666;font-size:.875rem;line-height:1.5;margin-bottom:.5rem}.reflection-guidelines li:last-child{margin-bottom:0}.reflection-input-section{display:flex;flex-direction:column;gap:.75rem}.reflection-input-section label{color:#333;font-size:.875rem;font-weight:500}.reflection-input{border:1px solid #e0e0e0;border-radius:.375rem;font-family:inherit;font-size:.875rem;line-height:1.5;min-height:8rem;padding:.75rem;resize:vertical;transition:border-color .2s ease;width:100%}.reflection-input:focus{border-color:#333;outline:none}.reflection-input:disabled{background:#f5f5f5;color:#666}.reflection-actions{display:flex;justify-content:center}.activity-placeholder{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.375rem;padding:2rem;text-align:center}.activity-placeholder p{color:#666;margin-bottom:1rem}.lesson-study-error,.lesson-study-loading{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center;padding:2rem;text-align:center}.lesson-study-loading .loading-spinner{margin-bottom:1rem}.lesson-study-error p,.lesson-study-loading p{color:#666;margin-bottom:1rem}.lesson-study-error h2{color:#333;margin-bottom:1rem}.back-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.back-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}@media (max-width:768px){.lesson-study-header{padding:.75rem 1rem}.lesson-study-header-left{gap:.75rem}.lesson-study-title{font-size:1.25rem}.lesson-study-subtitle{font-size:.8125rem}.lesson-study-content{padding:1rem}.activity-header{gap:.75rem;margin-bottom:1.5rem}.activity-icon{font-size:1.5rem;height:2.5rem;width:2.5rem}.activity-title{font-size:1.125rem}.lesson-study-navigation{align-items:stretch;flex-direction:column;gap:1rem;padding:1rem 1rem 1.5rem}.nav-btn{text-align:center;width:100%}.activity-indicators{justify-content:center}}@media (max-width:480px){.lesson-study-header{padding:.5rem}.lesson-study-progress-bar{padding:.75rem 1rem}.lesson-study-content{padding:.75rem .75rem 0}.lesson-study-navigation{padding:.75rem .75rem 1rem}.examples-list,.key-terms-list,.strategies-list,.vocabulary-list{padding:1rem}.vocabulary-item{align-items:flex-start;flex-direction:column;gap:.5rem}.quiz-actions{flex-direction:column;gap:.75rem}.reflection-guidelines{padding:1rem}.reflection-input{min-height:6rem}.review-answer{align-items:flex-start;flex-direction:column;gap:.25rem}}.filter-drawer-overlay{background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:999}.filter-drawer{background:#fff;border-left:1px solid #e1e5e9;box-shadow:-2px 0 10px #0000001a;display:flex;flex-direction:column;height:100vh;overflow-y:auto;position:fixed;right:-400px;top:0;transition:right .3s ease;width:400px;z-index:1000}.filter-drawer.open{right:0}.filter-drawer-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e1e5e9;display:flex;flex-shrink:0;justify-content:space-between;padding:20px}.filter-drawer-header h3{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.close-btn{border-radius:4px;color:#333;font-size:20px;padding:5px;transition:background-color .2s ease}.close-btn:hover{background-color:#e9ecef}.filter-drawer-content{flex:1 1;overflow-y:auto;padding:20px}.filter-section{margin-bottom:24px}.filter-section label{color:#1a252f;display:block;font-size:14px;font-weight:600;line-height:1.4;margin-bottom:8px}.filter-input,.filter-select{background:#fff;border:1px solid #ccc;border-radius:6px;color:#2c3e50;font-size:14px;padding:12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.filter-input:focus,.filter-select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.filter-input::placeholder{color:#6c757d;opacity:1}.filter-select:disabled{background-color:#f8f9fa;color:#495057;cursor:not-allowed}.loading-text{color:#495057}.error-text,.loading-text{display:block;font-size:12px;margin-top:4px}.error-text{color:#e74c3c}.filter-drawer-actions{background:#f8f9fa;border-top:1px solid #e1e5e9;display:flex;flex-shrink:0;gap:12px;padding:20px}.apply-btn,.clear-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 16px;transition:all .2s ease}.clear-btn{background:#f8f9fa;border:1px solid #ccc;color:#495057}.clear-btn:hover{background:#e9ecef;color:#333}.apply-btn{background:#3498db;color:#fff}.apply-btn:hover{background:#2980b9;box-shadow:0 2px 8px #3498db4d;transform:translateY(-1px)}@media (max-width:768px){.filter-drawer{height:100vh;height:100dvh;right:-100vw;width:100vw}.filter-drawer.open{right:0}.filter-drawer-content{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow-y:auto}.filter-drawer-actions{bottom:0;box-shadow:0 -2px 8px #0000001a;margin-top:auto;position:sticky}.filter-drawer{padding-bottom:env(safe-area-inset-bottom)}.filter-drawer-actions{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}.filter-drawer-tabs{background:#f8f9fa;border-bottom:1px solid #e1e5e9;display:flex;flex-shrink:0}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:15px 20px;transition:all .2s ease}.tab-btn:hover{background:#e9ecef;color:#495057}.tab-btn.active{background:#fff;border-bottom-color:#667eea;color:#667eea}.subjects-tab-content{display:flex;flex:1 1;flex-direction:column}.subjects-controls{background:#f8f9fa;border-bottom:1px solid #e1e5e9;display:flex;flex-direction:column;gap:15px;padding:20px}.subjects-search-box{flex:1 1}.subjects-search-input{border:1px solid #e1e5e9;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 15px;transition:all .2s ease;width:100%}.subjects-search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.subjects-sort-controls{align-items:center;color:#495057;display:flex;font-size:14px;font-weight:500;gap:8px}.subjects-sort-select{border:1px solid #e1e5e9;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s ease}.subjects-sort-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.subjects-error-state,.subjects-loading-state{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.subjects-error-state button{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;margin-top:10px;padding:8px 16px;transition:all .2s ease}.subjects-error-state button:hover{background:#c82333}.subjects-grid{grid-gap:12px;display:grid;flex:1 1;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));overflow-y:auto;padding:20px}.subject-card{background:#fff;border:1px solid #e1e5e9;border-radius:8px;cursor:pointer;padding:15px;text-align:center;transition:all .2s ease}.subject-card:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea26;transform:translateY(-2px)}.subject-name{color:#2c3e50;font-size:13px;font-weight:600;line-height:1.3;margin-bottom:6px;word-break:break-word}.subject-count{color:#6c757d;font-size:11px;font-weight:500}.subjects-load-more-section{display:flex;justify-content:center;padding:20px}.subjects-load-more-button{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;min-width:160px;padding:10px 20px;transition:all .2s ease}.subjects-load-more-button:hover:not(:disabled){background:#5a67d8;box-shadow:0 2px 8px #667eea4d;transform:translateY(-1px)}.subjects-load-more-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.subjects-results-count{background:#f8f9fa;border-top:1px solid #e1e5e9;color:#6c757d;flex-shrink:0;font-size:12px;padding:15px 20px;text-align:center}.subjects-total-available{color:#868e96;display:block;font-size:11px;font-style:italic;margin-top:3px}.close-btn-action{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.close-btn-action:hover{background:#5a6268}@media (max-width:480px){.subjects-grid{grid-template-columns:1fr;padding:15px}.subjects-controls{padding:15px}.subjects-load-more-button{font-size:13px;min-width:140px;padding:10px 16px}}.online-reader-container{background:#fff;bottom:0;flex-direction:column;height:100vh;left:0;overflow:hidden;position:fixed;right:0;top:0;width:100vw;z-index:2000}.online-reader-container,.reader-header{box-sizing:border-box;display:flex;max-width:100%}.reader-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d;gap:1rem;padding:.75rem 1rem;position:relative;width:100%}.menu-btn,.reader-header{align-items:center;flex-shrink:0}.menu-btn{background:#64748b;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1.25rem;font-weight:500;height:40px;justify-content:center;transition:all .2s ease;width:40px}.menu-btn:hover{background:#475569;transform:scale(1.05)}.book-info-header{flex:1 1;min-width:0}.book-info-header h1{color:#1e293b;font-size:1.125rem;font-weight:600;line-height:1.3;margin:0}.book-info-header h1,.book-info-header p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-info-header p{color:#64748b;font-size:.8rem;font-style:italic;margin:.25rem 0 0}.chat-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;height:40px;justify-content:center;transition:all .2s ease;width:40px}.chat-btn:hover{background:#2563eb;transform:scale(1.05)}.drawer-overlay{animation:fadeIn .2s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:2999}.drawer-menu{animation:slideInLeft .3s ease;background:#fff;box-shadow:2px 0 10px #0000001a;display:flex;flex-direction:column;height:100%;left:0;position:fixed;top:0;width:300px;z-index:3000}.drawer-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.drawer-header h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin:0}.close-drawer-btn{align-items:center;background:none;border:none;border-radius:4px;color:#64748b;cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.close-drawer-btn:hover{background:#e2e8f0;color:#475569}.drawer-content{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.drawer-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.drawer-item.back-btn{color:#64748b}.drawer-item.back-btn:hover{background:#e2e8f0;border-color:#cbd5e1;color:#475569}.drawer-item.open-external-btn{color:#3b82f6}.drawer-item.open-external-btn:hover{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.reader-content{flex:1 1;overflow:hidden;position:relative}.book-iframe,.reader-content{background:#fff;box-sizing:border-box;max-width:100%;width:100%}.book-iframe{border:none;height:100%;opacity:0;transition:opacity .3s ease}.book-iframe.loaded{opacity:1}.iframe-loading,.reader-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:1rem;height:100%;justify-content:center}.iframe-loading{background:#fff;bottom:0;left:0;position:absolute;right:0;top:0;z-index:10}.iframe-loading .loading-spinner-large,.reader-loading .loading-spinner-large{height:48px;width:48px}.iframe-loading p,.reader-loading p{font-size:1rem;font-weight:500;margin:0}.reader-error{align-items:center;color:#64748b;display:flex;flex-direction:column;height:100%;justify-content:center;padding:2rem;text-align:center}.reader-error h2{color:#dc2626;font-size:1.5rem;margin-bottom:1rem}.reader-error p{font-size:1rem;line-height:1.5;margin-bottom:2rem}.error-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.back-btn-secondary,.retry-btn{border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.retry-btn{background:#3b82f6;color:#fff}.retry-btn:hover{background:#2563eb}.back-btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b}.back-btn-secondary:hover{background:#e2e8f0;color:#475569}.iframe-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;box-shadow:0 4px 12px #00000026;color:#dc2626;left:50%;max-width:90%;padding:2rem;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:20}.iframe-error h3{font-size:1.125rem;margin:0 0 1rem}.iframe-error p{line-height:1.5;margin:.5rem 0}.iframe-error a{color:#3b82f6;text-decoration:underline}.iframe-error a:hover{color:#2563eb}.close-error-btn{background:#64748b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;margin-top:1rem;padding:.5rem 1rem;transition:all .2s ease}.close-error-btn:hover{background:#475569}.online-reader-container *{box-sizing:border-box}.online-reader-container{overflow-x:hidden}.online-reader-container,.online-reader-container *{max-width:100vw}@media (max-width:768px){.reader-header{max-width:100vw;padding:.75rem 1rem;width:100%}.drawer-menu{max-width:80vw;width:min(280px,80vw)}.book-info-header h1{font-size:1rem}.book-info-header p{font-size:.75rem}.error-actions{flex-direction:column;width:100%}.back-btn-secondary,.retry-btn{width:100%}.online-reader-container{max-width:100vw;width:100vw}.book-iframe,.reader-content{max-width:100vw;width:100%}}@media (max-width:480px){.reader-header{max-width:100vw;padding:.5rem .75rem;width:100%}.drawer-menu{max-width:75vw;width:min(260px,75vw)}.menu-btn{font-size:1.125rem;height:36px;width:36px}.book-info-header h1{font-size:.9rem}.book-info-header p{font-size:.7rem}.drawer-header{padding:.75rem 1rem}.drawer-content,.drawer-item{padding:.75rem}.drawer-item{font-size:.8rem}.online-reader-container{max-width:100vw;width:100vw}.book-iframe,.reader-content{max-width:100vw;width:100%}.book-iframe{min-width:0}}@media (max-width:1200px){.online-reader-container{max-width:100vw;width:100vw}.book-iframe,.reader-content{max-width:100vw;width:100%}.book-iframe{min-width:0}}.favourite-books-container{background:#f8fafc;display:flex;flex-direction:column;height:100%;padding:1rem;width:100%}.favourite-books-header{margin-bottom:2rem;text-align:center}.favourite-books-tabs{display:flex;gap:1rem;justify-content:center;margin-bottom:1rem}.favourite-books-tab{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:25px;color:#64748b;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.favourite-books-tab:hover{background:#f8fafc;border-color:#667eea}.favourite-books-tab.active{background:#667eea;border-color:#667eea;color:#fff}.favourite-books-tab.active:hover{background:#5a67d8;border-color:#5a67d8}.favourite-books-header h2{color:#1e293b;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.favourite-books-header p{color:#64748b;font-size:1rem}.favourite-books-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem;text-align:center}.favourite-books-loading .loading-spinner{margin-bottom:1rem}.favourite-books-loading p{color:#64748b;font-size:1rem;margin:0}.favourite-books-error{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem;text-align:center}.favourite-books-error p{color:#ef4444;font-size:1rem;margin-bottom:1rem}.favourite-books-error button{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.favourite-books-error button:hover{background:#5a67d8;transform:translateY(-1px)}.available-books-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin:0 auto;max-width:1200px;width:100%}.available-book-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 10px #00000014;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:200px;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.available-book-card.favorite-book{background:linear-gradient(135deg,#fef2f2,#fff);border:2px solid #f87171}.available-book-card.favorite-book:before{background:linear-gradient(90deg,#f87171,#ef4444)}.favorite-indicator{font-size:1.2rem;position:absolute;right:1rem;top:1rem;z-index:1}.favorite-notes{background:#f871711a;border-left:3px solid #f87171;border-radius:6px}.favorite-notes small{color:#7c2d12;font-style:italic}.available-book-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.available-book-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.available-book-card:hover:before{transform:scaleX(1)}.available-book-card:active{transform:translateY(-2px);transition:transform .1s ease}.available-book-info{flex:1 1;margin-bottom:1rem}.available-book-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1e293b;display:-webkit-box;font-size:1.25rem;font-weight:600;line-height:1.3;margin-bottom:.75rem;overflow:hidden}.available-book-author{color:#64748b;font-size:.95rem;font-style:italic;margin-bottom:.5rem}.available-book-genre{background:#667eea1a;border-radius:20px;color:#667eea;display:inline-block;font-size:.875rem;font-weight:500;margin-top:.5rem;padding:.25rem .75rem}.available-book-card.has-progress:before{background:linear-gradient(90deg,#10b981,#059669)}.reading-progress-info{border-top:1px solid #f1f5f9;margin-top:1rem;padding-top:1rem}.progress-text{align-items:center;display:flex;margin-bottom:.5rem}.completed-badge,.progress-percentage{color:#10b981;font-size:.875rem;font-weight:600}.completed-badge{align-items:center;display:flex;gap:.25rem}.progress-bar{background:#f1f5f9;border-radius:3px;height:6px;margin-bottom:.5rem;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#10b981,#059669);border-radius:3px}.last-chapter{color:#64748b;font-size:.75rem;font-style:italic}.available-book-action{align-items:center;display:flex;justify-content:flex-end;margin-top:auto}.read-now-btn{align-items:center;color:#667eea;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.5rem 0;transition:all .2s ease}.available-book-card:hover .read-now-btn{color:#5a67d8;transform:translateX(4px)}.no-books-message{color:#64748b;font-size:1.1rem;padding:3rem 1rem;text-align:center}.no-books-message p{margin:0}@media (max-width:768px){.favourite-books-container{padding:.75rem}.available-books-grid{gap:1rem;grid-template-columns:1fr;max-width:100%}.available-book-card{min-height:160px;padding:1.25rem}.available-book-title{font-size:1.125rem}.favourite-books-header h2{font-size:1.375rem}}@media (max-width:480px){.favourite-books-container{padding:.5rem}.available-books-grid{gap:.75rem}.available-book-card{min-height:140px;padding:1rem}.available-book-title{font-size:1rem;margin-bottom:.5rem}.available-book-author{font-size:.875rem}.available-book-genre{font-size:.75rem;padding:.2rem .6rem}.read-now-btn{font-size:.875rem}.favourite-books-header{margin-bottom:1.5rem}.favourite-books-header h2{font-size:1.25rem}.favourite-books-header p{font-size:.9rem}}@media (hover:hover) and (pointer:fine){.available-book-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.available-book-card:hover{box-shadow:0 12px 30px #00000026;transform:translateY(-6px) scale(1.02)}.available-book-card:hover .available-book-title{color:#667eea}}.available-book-card:focus{outline:2px solid #667eea;outline-offset:2px}.available-book-card:focus:not(:hover){box-shadow:0 2px 10px #00000014;transform:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.available-book-card{animation:fadeInUp .4s ease forwards}.available-book-card:first-child{animation-delay:.1s}.available-book-card:nth-child(2){animation-delay:.2s}.available-book-card:nth-child(3){animation-delay:.3s}.available-book-card:nth-child(4){animation-delay:.4s}.available-book-card:nth-child(5){animation-delay:.5s}.available-book-card:nth-child(6){animation-delay:.6s}.modal-content{border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;max-width:600px}.modal-header{border-bottom:1px solid #e0e0e0;flex-shrink:0;padding:1.5rem}.modal-header h2{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.close-btn{align-items:center;border-radius:.25rem;display:flex;height:2rem;justify-content:center;padding:.25rem .5rem;transition:all .2s;width:2rem}.close-btn:hover{background:#f5f5f5}.book-form{flex:1 1;overflow-y:auto;padding:1.5rem;position:relative}.form-group input,.form-group select,.form-group textarea{font-size:1rem;transition:border-color .2s}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{opacity:.6}.form-group textarea{font-family:inherit}.form-group select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23333' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;cursor:pointer;padding-right:2.5rem}.form-row{grid-gap:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1rem}.form-row .form-group{margin-bottom:0}.form-actions{border-top:1px solid #f0f0f0}.btn-cancel,.btn-submit{font-size:1rem}.btn-cancel{background:#fff;color:#666}.btn-submit:hover:not(:disabled){background:#000;border-color:#000}.button-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-top-color:#fff;height:1rem;vertical-align:middle;width:1rem}.loading-spinner{height:2rem;width:2rem}.cover-upload-section{display:flex;flex-direction:column;gap:1rem}.cover-preview{display:inline-block;max-width:200px;position:relative}.cover-preview-image{border:1px solid #e0e0e0;border-radius:.25rem;height:auto;max-width:100%}.remove-image-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:50%;box-shadow:0 2px 4px #0000001a;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:2rem;justify-content:center;position:absolute;right:-.5rem;top:-.5rem;transition:all .2s;width:2rem}.remove-image-btn:hover{background:#f5f5f5;color:#333}.cover-upload-options{display:flex;flex-direction:column;gap:1rem}.upload-option{display:flex;flex-direction:column;gap:.5rem}.file-upload-label{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;display:inline-block;font-size:.875rem;padding:.75rem 1rem;text-align:center;transition:all .2s}.file-upload-label:hover:not(.disabled){background:#e9ecef;border-color:#ccc}.file-upload-label.disabled{cursor:not-allowed;opacity:.5}.file-upload-input{display:none}.upload-divider{color:#666;font-size:.875rem;position:relative;text-align:center}.upload-divider:after,.upload-divider:before{background:#e0e0e0;content:"";height:1px;position:absolute;top:50%;width:40%}.upload-divider:before{left:0}.upload-divider:after{right:0}@media (max-width:768px){.modal-overlay{padding:.5rem}.modal-content{max-height:95vh}.modal-header{padding:1rem}.modal-header h2{font-size:1.125rem}.book-form{padding:1rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.library-page{flex-direction:column;height:100vh}.library-page,.library-tabs{background-color:#fff;display:flex}.library-tabs{border-bottom:1px solid #e0e0e0;padding:0 1.5rem}.library-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.5rem;transition:all .2s ease}.library-tab:hover{background-color:#f9f9f9;color:#333}.library-tab.active{background-color:#fafafa;border-bottom-color:#333;color:#333;font-weight:500}.tab-label{font-weight:500}.library-content{background-color:#fafafa;flex:1 1;overflow-y:auto}.book-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;flex-direction:column;height:100%;padding:1rem;position:relative;transition:all .2s ease}.book-card:hover{border-color:#ccc;box-shadow:0 2px 8px #00000014}.book-content{display:flex;flex:1 1;gap:1rem}.book-cover-container{background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:.25rem;flex-shrink:0;height:140px;overflow:hidden;width:100px}.book-cover{height:100%;object-fit:cover;width:100%}.book-details{display:flex;flex:1 1;flex-direction:column;gap:.75rem;min-width:0;padding-right:0;position:relative}.book-info{flex:1 1}.book-title-row{align-items:flex-start;display:flex;gap:.5rem;margin-bottom:.5rem;padding-right:2.75rem}.book-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#333;display:-webkit-box;flex:1 1;font-size:1rem;font-weight:600;line-height:1.4;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis}.book-author{color:#666;font-size:.875rem;font-style:italic;margin:0 0 .25rem}.book-publication-date{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.75rem;margin:0 0 .25rem}.book-genre{background-color:#f9f9f9;border-radius:.25rem;color:#666;display:inline-block;font-size:.75rem;margin:.25rem 0;max-width:fit-content;padding:.25rem .5rem}.favorite-notes{background-color:#fffbf0;border-left:2px solid #ffc107;border-radius:.25rem;margin-top:.5rem;padding:.5rem}.favorite-notes small{color:#666;font-size:.75rem;line-height:1.4}.book-meta{display:flex;flex-direction:column;gap:.5rem}.book-page-count{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.75rem;margin:0}.book-position-slot{background-color:#f5f5f5;border-radius:.25rem;display:inline-block;max-width:fit-content;padding:.25rem .5rem}.book-position-slot,.favorited-at small{color:#666;font-size:.75rem}.favorite-btn{background:none;border:none;cursor:pointer;flex-shrink:0;font-size:1.25rem;line-height:1;margin-left:auto;padding:.25rem;transition:transform .2s ease}.favorite-btn:hover{transform:scale(1.1)}.favorite-btn.toggling{cursor:wait;opacity:.6}.book-actions{position:absolute;right:1rem;top:1rem;z-index:5}.action-menu-trigger{border:1px solid #e0e0e0;height:32px;transition:all .2s ease;width:32px}.action-menu-trigger:hover{background-color:#f5f5f5;border-color:#ccc}.action-menu{border-radius:.375rem;box-shadow:0 4px 12px #00000026;margin-top:.5rem;min-width:150px}.action-menu-item{border-bottom:1px solid #f5f5f5;color:#333;transition:background-color .2s ease}.action-menu-item:last-child{border-bottom:none}.action-menu-item:hover{background-color:#f9f9f9}.action-menu-item-danger{color:#dc3545}.action-menu-item-danger:hover{background-color:#fff5f5}.book-reading-progress{border-top:1px solid #f0f0f0;margin-top:.75rem;padding-top:.75rem}.progress-info{align-items:center;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:.5rem}.progress-text{color:#333;font-weight:500}.progress-percentage{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.progress-bar-container{background:#f0f0f0;border-radius:2px;height:4px;margin-bottom:.5rem;overflow:hidden;width:100%}.progress-bar-fill{background:#333;border-radius:2px;height:100%;transition:width .3s ease}.reading-status-badge{background:#f5f5f5;border-radius:.25rem;color:#666;display:inline-block;font-size:.75rem;margin-top:.25rem;padding:.25rem .5rem}@media (max-width:768px){.library-tabs{padding:0 1rem}.library-tab{padding:.75rem 1rem}.tab-label{font-size:.75rem}.book-card{padding:.75rem}.book-content{gap:.75rem}.book-cover-container{height:112px;width:80px}.book-title{font-size:.9375rem}.action-menu-trigger{font-size:1.125rem;height:28px;width:28px}}@media (max-width:480px){.book-card{padding:.75rem}.book-cover-container{height:98px;width:70px}.book-title{font-size:.875rem}}.book-page{flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.book-page,.book-page-tabs{background-color:#fff;display:flex}.book-page-tabs{border-bottom:1px solid #e0e0e0;gap:.5rem;overflow-x:auto;padding:0 1.5rem}.book-page-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;display:flex;flex-direction:column;font-size:.875rem;font-weight:400;gap:.25rem;justify-content:center;padding:1rem 1.5rem;transition:all .2s ease;white-space:nowrap}.book-page-tab:hover{background-color:#f9f9f9;color:#333}.book-page-tab.active{background-color:#fafafa;border-bottom-color:#333;color:#333;font-weight:500}.tab-icon{font-size:1.2rem;line-height:1}.tab-label{font-size:.875rem;line-height:1}.book-page-content{background-color:#fafafa;flex:1 1;overflow-y:auto}.book-list-container{display:flex;flex-direction:column;height:100%;width:100%}.book-list-main{flex:1 1;overflow-y:auto;padding:1.5rem}.books-header-condensed{margin-bottom:1.5rem}.book-count{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.header-controls{gap:.75rem}.sort-controls-inline{gap:.5rem}.sort-select-compact{background-color:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:all .2s ease}.sort-select-compact:hover{background-color:#f9f9f9;border-color:#ccc}.sort-select-compact:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a}.filter-actions-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.clear-btn-compact{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.75rem;padding:.375rem .75rem;transition:all .2s ease;white-space:nowrap}.clear-btn-compact:hover{background-color:#f5f5f5;border-color:#ccc;color:#333}.active-filters-condensed{background-color:#f9f9f9;border:1px solid #f0f0f0;border-radius:.375rem;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding:.75rem}.filter-tag-compact{background-color:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;display:inline-block;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.75rem;padding:.25rem .5rem}.books-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:1rem}.empty-state,.error-state,.loading-state{padding:3rem 1.5rem}.error-state h2,.loading-state h2{font-weight:500}.error-state p{background-color:#f8d7da;border-radius:.375rem;color:#721c24;margin-bottom:1rem;padding:1rem}.error-state button{transition:all .2s ease}.error-state button:hover{background-color:#f5f5f5}.empty-state p{line-height:1.6;max-width:500px}.search-loading{align-items:center;background-color:#f9f9f9;border-radius:.375rem;display:flex;gap:.75rem;justify-content:center;margin-bottom:1rem;padding:1rem}.loading-spinner-small{animation:spin .8s linear infinite;border:2px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:20px;width:20px}.search-loading p{color:#666;font-size:.875rem;margin:0}.search-error{align-items:center;background-color:#f8d7da;border-radius:.375rem;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.search-error p{color:#721c24;font-size:.875rem;margin:0}.search-error button{background:none;border:1px solid #721c24;border-radius:.25rem;color:#721c24;cursor:pointer;font-size:.75rem;padding:.375rem .75rem;transition:all .2s ease}.search-error button:hover{background-color:#721c241a}@media (max-width:768px){.book-page-tabs{padding:0 1rem}.book-page-tab{padding:.75rem 1rem}.tab-icon{font-size:1rem}.tab-label{font-size:.75rem}.book-list-main{padding:1rem}.header-row{align-items:flex-start;flex-direction:column;gap:.75rem}.header-info{flex-direction:column;gap:.25rem}.header-info h2{font-size:1.25rem}.books-grid{gap:1rem;grid-template-columns:1fr}}@media (max-width:480px){.book-list-main{padding:.75rem}.header-info h2{font-size:1.125rem}.sort-select-compact{font-size:.8125rem}}.book-detail-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;width:100%}.book-detail-content{background:#fafafa;flex:1 1;overflow-y:auto;padding:1.5rem 1.5rem 5rem}.book-detail-tab-content{min-height:calc(100vh - 300px)}.book-detail-info-section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;gap:1.5rem;margin-bottom:2rem;padding:1.5rem}.book-detail-cover-container{flex-shrink:0}.book-detail-cover{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:.25rem;height:225px;object-fit:cover;width:150px}.book-detail-info{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.book-detail-title{color:#333;font-size:1.5rem;font-weight:600;line-height:1.2;margin:0}.book-detail-author{color:#666;font-size:1rem;margin:0}.book-detail-genre{font-style:italic}.book-detail-genre,.book-detail-page-count,.book-detail-publication{color:#666;font-size:.875rem;margin:0}.book-detail-progress-section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:2rem;padding:1.5rem}.book-detail-section-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.book-detail-status-group{margin-bottom:1.5rem}.book-detail-label{color:#666;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.book-detail-status-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;max-width:300px;padding:.5rem .75rem;transition:all .2s ease;width:100%}.book-detail-status-select:hover{background:#f9f9f9;border-color:#ccc}.book-detail-status-select:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.book-detail-status-select:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.book-detail-page-inputs{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem}.book-detail-page-input-group{flex:1 1;min-width:200px}.book-detail-page-controls{align-items:center;display:flex;gap:.5rem}.book-detail-page-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;flex:1 1;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.book-detail-page-input:hover{border-color:#ccc}.book-detail-page-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.book-detail-page-input:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.book-detail-page-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;min-width:50px;padding:.5rem .75rem;transition:all .2s ease}.book-detail-page-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.book-detail-page-btn:disabled{background:#f5f5f5;color:#ccc;cursor:not-allowed}.book-detail-progress-display{margin-bottom:1.5rem}.book-detail-progress-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.book-detail-progress-text{color:#666}.book-detail-progress-percentage,.book-detail-progress-text{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem}.book-detail-progress-percentage{color:#333;font-weight:500}.book-detail-progress-bar-container{background:#f0f0f0;border-radius:2px;height:4px;overflow:hidden;width:100%}.book-detail-progress-bar-fill{background:#333;border-radius:2px;height:100%;transition:width .3s ease}.book-detail-save-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.book-detail-save-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.book-detail-save-btn:disabled{background:#f5f5f5;color:#ccc;cursor:not-allowed}.book-detail-notes-section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:2rem;padding:1.5rem}.book-detail-notes-description{color:#666;font-size:.875rem;line-height:1.6;margin:0 0 1rem}.book-detail-notes-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.75rem 1.5rem;transition:all .2s ease}.book-detail-notes-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.book-detail-notes-btn:disabled{background:#f5f5f5;color:#ccc;cursor:not-allowed}.book-detail-saving-indicator{align-items:center;color:#666;display:flex;font-size:.875rem;gap:.5rem}.saving-spinner{animation:spin .8s linear infinite;border:2px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:14px;width:14px}.book-detail-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem 1.5rem}.book-detail-loading p{color:#666;font-size:.875rem;margin:0}.book-detail-auth-message,.book-detail-error{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:3rem 1.5rem;text-align:center}.book-detail-error p{font-size:.875rem;margin-bottom:1rem}.book-detail-retry-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.book-detail-retry-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.book-detail-error-message{align-items:center;background:#f8d7da;border:1px solid #f5c6cb;border-radius:.375rem;color:#721c24;display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:1rem;padding:1rem}.book-detail-error-dismiss{background:none;border:none;color:#721c24;cursor:pointer;font-size:1rem;line-height:1;margin-left:1rem;padding:0;transition:opacity .2s ease}.book-detail-error-dismiss:hover{opacity:.7}@media (max-width:768px){.book-detail-content{padding:1rem}.book-detail-info-section{flex-direction:column;padding:1rem}.book-detail-cover{height:180px;margin:0 auto;width:120px}.book-detail-notes-section,.book-detail-progress-section{padding:1rem}.book-detail-page-inputs{flex-direction:column;gap:1rem}.book-detail-page-input-group{min-width:100%}}.book-detail-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.book-detail-view-mode-toggle{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;display:flex;gap:.25rem;padding:.25rem}.book-detail-view-mode-btn{background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;padding:.375rem .75rem;transition:all .2s ease}.book-detail-view-mode-btn:hover{background:#f5f5f5;color:#333}.book-detail-view-mode-btn.active{background:#333;color:#fff}.book-detail-record-form{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-top:1rem;padding:1rem}.book-detail-record-form-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.book-detail-record-form-actions,.book-detail-records-list{display:flex;gap:.75rem;margin-top:1rem}.book-detail-records-list{flex-direction:column}.book-detail-record-item{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;transition:all .2s ease}.book-detail-record-item:hover{background:#f5f5f5;border-color:#ccc}.book-detail-record-item-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.5rem}.book-detail-record-date{color:#333;font-weight:500}.book-detail-record-date,.book-detail-record-pages{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem}.book-detail-record-pages{color:#666}.book-detail-record-delete{background:none;border:none;border-radius:.25rem;color:#999;cursor:pointer;font-size:.875rem;line-height:1;padding:.25rem .5rem;transition:all .2s ease}.book-detail-record-delete:hover{background:#f0f0f0;color:#333}.book-detail-record-details{border-top:1px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem;padding-top:.5rem}.book-detail-record-detail{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem}.book-detail-record-notes{color:#666;font-size:.875rem;font-style:italic;line-height:1.5;margin:.5rem 0 0}.book-detail-records-by-date{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem}.book-detail-record-date-group{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem}.book-detail-record-date-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.book-detail-record-date-title{color:#333;font-size:1rem;font-weight:600}.book-detail-record-date-stats,.book-detail-record-date-title{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.book-detail-record-date-stats{color:#666;font-size:.875rem}.book-detail-empty-message{color:#999;font-size:.875rem;font-style:italic;margin:1rem 0;padding:2rem 1rem;text-align:center}@media (max-width:480px){.book-detail-content{padding:.75rem}.book-detail-title{font-size:1.25rem}.book-detail-section-title{font-size:1rem}.book-detail-section-header{align-items:flex-start;flex-direction:column;gap:.75rem}.book-detail-record-form-row{flex-direction:column}.book-detail-record-item-header{flex-wrap:wrap}.book-detail-record-date-header{align-items:flex-start;flex-direction:column;gap:.5rem}}.book-detail-bottom-tabs{background:#fff;border-top:1px solid #e0e0e0;bottom:0;box-shadow:0 -2px 4px #0000000d;display:flex;left:0;padding:.5rem 0;position:fixed;right:0;z-index:100}.book-detail-bottom-tab{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;gap:.25rem;justify-content:center;padding:.5rem;transition:all .2s ease}.book-detail-bottom-tab:hover{background:#f9f9f9;color:#333}.book-detail-bottom-tab.active{background:#f5f5f5;color:#333}.book-detail-tab-icon{font-size:1.25rem;line-height:1}.book-detail-tab-label{font-size:.75rem;font-weight:500;line-height:1}@media (max-width:768px){.book-detail-content{padding-bottom:5rem}.book-detail-tab-icon{font-size:1.125rem}.book-detail-tab-label{font-size:.6875rem}}@media (max-width:480px){.book-detail-content{padding-bottom:4.5rem}.book-detail-bottom-tabs{padding:.375rem 0}.book-detail-bottom-tab{gap:.125rem;padding:.375rem}.book-detail-tab-icon{font-size:1rem}.book-detail-tab-label{font-size:.625rem}}.movie-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;position:relative;transition:all .2s ease}.movie-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.movie-content{display:flex;gap:1rem;position:relative}.movie-poster-container{flex-shrink:0;height:120px;width:80px}.movie-poster{object-fit:cover}.movie-poster,.movie-poster-placeholder{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:.25rem;height:100%;width:100%}.movie-poster-placeholder{align-items:center;color:#ccc;display:flex;font-size:2rem;justify-content:center}.movie-details{display:flex;flex:1 1;flex-direction:column;gap:.5rem;min-width:0}.movie-info{flex:1 1}.movie-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#333;display:-webkit-box;font-size:1rem;font-weight:600;line-height:1.3;margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis}.movie-director,.movie-duration,.movie-genre,.movie-rating,.movie-year{color:#666;font-size:.875rem;line-height:1.4;margin:.25rem 0}.movie-status-badge{background:#f5f5f5;border-radius:.25rem;color:#666;display:inline-block;font-size:.75rem;margin-top:.5rem;padding:.25rem .5rem}.movie-actions{position:absolute;right:.5rem;top:.5rem}.action-menu-trigger{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:2rem;justify-content:center;line-height:1;padding:.25rem .5rem;transition:all .2s;width:2rem}.action-menu-trigger:hover{background:#f5f5f5;color:#333}.action-menu{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 8px #0000001a;margin-top:.25rem;min-width:180px;overflow:hidden;position:absolute;right:0;top:100%;z-index:10}.action-menu-item{background:none;border:none;color:#666;cursor:pointer;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s;width:100%}.action-menu-item:hover:not(:disabled){background:#f5f5f5;color:#333}.action-menu-item:disabled{cursor:not-allowed;opacity:.5}.action-menu-item-danger{color:#721c24}.action-menu-item-danger:hover:not(:disabled){background:#f8d7da;color:#721c24}.movie-list-container{display:flex;flex-direction:column;height:100%;width:100%}.movie-list-main{flex:1 1;overflow-y:auto;padding:1.5rem}.movies-header-condensed{margin-bottom:1.5rem}.header-row{margin-bottom:1rem}.header-info{align-items:baseline}.header-info h2{color:#333;font-size:1.5rem}.movie-count{color:#666;font-size:.875rem;font-weight:400}.movies-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.empty-state,.error-state,.loading-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.error-state h2,.loading-state h2{color:#333;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.loading-spinner{animation:spin 1s linear infinite;margin-bottom:1rem}.error-state button{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;margin-top:1rem;padding:.5rem 1rem;transition:all .2s}.error-state button:hover{background:#f5f5f5;border-color:#ccc;color:#333}.movie-form{flex:1 1;overflow-y:auto;padding:1.5rem;position:relative}.form-group{margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group label,.form-group select,.form-group textarea{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-sizing:border-box;padding:.75rem;transition:all .2s ease;width:100%}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#ccc}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.form-group textarea{min-height:80px;resize:vertical}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1 1}.form-actions{border-top:1px solid #e0e0e0;padding-top:1.5rem}.btn-cancel,.btn-submit{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.btn-cancel:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.btn-submit{background:#333;border-color:#333;color:#fff}.btn-submit:hover:not(:disabled){background:#1a1a1a;border-color:#1a1a1a}.btn-cancel:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.5}.loading-overlay{align-items:center;background:#ffffffe6;border-radius:.375rem;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.loading-message{font-size:.875rem;margin-top:1rem}.button-spinner{animation:spin .6s linear infinite;border:2px solid #fff;border-top-color:#0000;display:inline-block;height:12px;margin-right:.5rem;width:12px}.movie-page{background-color:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.movie-page-content{background-color:#fafafa;flex:1 1;overflow-y:auto}.movie-detail-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;width:100%}.movie-detail-content{background:#fafafa;flex:1 1;overflow-y:auto;padding:1.5rem}.movie-detail-info-section{align-items:flex-start;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;gap:1.5rem;margin-bottom:2rem;padding:1.5rem}.movie-detail-poster-container{flex-shrink:0}.movie-detail-poster{display:block;object-fit:cover}.movie-detail-poster,.movie-detail-poster-placeholder{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:.25rem;height:300px;width:200px}.movie-detail-poster-placeholder{align-items:center;color:#ccc;display:flex;font-size:4rem;justify-content:center}.movie-detail-info{display:flex;flex:1 1;flex-direction:column;gap:.75rem;min-width:0}.movie-detail-name{color:#333;font-size:1.5rem;font-weight:600;line-height:1.3;margin:0}.movie-detail-director{color:#666;font-size:1rem;font-weight:400;margin:0}.movie-detail-duration,.movie-detail-genre,.movie-detail-rating,.movie-detail-year{color:#666;font-size:.875rem;line-height:1.5;margin:0}.movie-detail-status{border-top:1px solid #f0f0f0;color:#666;font-size:.875rem;margin:.25rem 0 0;padding-top:.5rem}.movie-detail-notes-section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:2rem;padding:1.5rem}.movie-detail-section-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.movie-detail-notes-description{color:#666;font-size:.875rem;line-height:1.5;margin:0 0 1rem}.movie-detail-notes-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.movie-detail-notes-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.movie-detail-notes-btn:disabled{cursor:not-allowed;opacity:.5}.movie-detail-auth-message,.movie-detail-error,.movie-detail-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;min-height:50vh;padding:3rem;text-align:center}.movie-detail-auth-message,.movie-detail-error p,.movie-detail-loading p,.movie-detail-retry-btn{font-size:.875rem;margin-top:1rem}.movie-detail-retry-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;padding:.5rem 1rem;transition:all .2s}.movie-detail-retry-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.movie-detail-error-message{align-items:center;background:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:1rem;padding:1rem}.movie-detail-error-dismiss{align-items:center;background:none;border:none;border-radius:.25rem;color:#721c24;cursor:pointer;display:flex;font-size:1.25rem;height:1.5rem;justify-content:center;padding:0;transition:background-color .2s;width:1.5rem}.movie-detail-error-dismiss:hover{background:#721c241a}@media (max-width:768px){.movie-detail-content{padding:1rem}.movie-detail-info-section{flex-direction:column;gap:1rem;padding:1rem}.movie-detail-poster-container{display:flex;justify-content:center;width:100%}.movie-detail-poster,.movie-detail-poster-placeholder{height:225px;width:150px}.movie-detail-poster-placeholder{font-size:3rem}.movie-detail-name{font-size:1.25rem}.movie-detail-notes-section{padding:1rem}}.chat-session-list-empty,.chat-session-list-loading{color:#666;font-size:.875rem;padding:2rem 1rem;text-align:center}.chat-session-list{display:flex;flex-direction:column;gap:.5rem}.chat-session-item{align-items:flex-start;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;display:flex;gap:.5rem;padding:.75rem;transition:all .2s}.chat-session-item:hover{background:#f9f9f9;border-color:#ccc}.chat-session-item.active{background:#f5f5f5;border-color:#333}.chat-session-item-content{flex:1 1;min-width:0}.chat-session-item-title{word-wrap:break-word;color:#333;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.chat-session-item-preview{word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:.75rem;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis}.chat-session-item-vendor-model{color:#666;margin-bottom:.25rem}.chat-session-item-time,.chat-session-item-vendor-model{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem}.chat-session-item-time{color:#999}.chat-session-item-actions{align-items:center;display:flex;flex-shrink:0;gap:.25rem;opacity:1;transition:opacity .2s}.chat-session-delete-btn,.chat-session-edit-btn{background:none;border:none;color:#666;cursor:pointer;font-size:.875rem;line-height:1;padding:.25rem;transition:color .2s}.chat-session-delete-btn:hover,.chat-session-edit-btn:hover{color:#333}.chat-session-delete-confirm{align-items:center;display:flex;gap:.25rem}.chat-session-delete-cancel-btn,.chat-session-delete-confirm-btn{background:none;border:none;cursor:pointer;font-size:.875rem;line-height:1;padding:.25rem;transition:color .2s}.chat-session-delete-confirm-btn{color:#28a745}.chat-session-delete-confirm-btn:hover{color:#1e7e34}.chat-session-delete-cancel-btn{color:#666}.chat-session-delete-cancel-btn:hover{color:#333}.chat-session-rename{flex:1 1}.chat-session-rename-input{background:#fff;border:1px solid #333;border-radius:.25rem;color:#333;font-family:inherit;font-size:.875rem;padding:.5rem;width:100%}.chat-session-rename-input:focus{box-shadow:0 0 0 2px #3333331a;outline:none}.generic-chat-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.generic-chat-fullscreen{height:100%;width:100%}.generic-chat-auth-prompt{align-items:center;background:#fff;display:flex;height:100vh;justify-content:center}.auth-prompt-content{max-width:500px;padding:2rem;text-align:center}.auth-prompt-content h2{color:#333;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.auth-prompt-content p{color:#666;font-size:1rem;line-height:1.5}.generic-chat-menu-container{position:relative}.generic-chat-menu-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;font-weight:500;height:40px;justify-content:center;line-height:1;padding:.5rem;transition:all .2s;width:40px}.generic-chat-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.generic-chat-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;min-width:180px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}.generic-chat-menu-item{align-items:center;background:none;border:none;border-bottom:1px solid #f5f5f5;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s;width:100%}.generic-chat-menu-item:last-child{border-bottom:none}.generic-chat-menu-item:hover{background:#f9f9f9;color:#333}.generic-chat-menu-icon{align-items:center;display:flex;font-size:1rem;justify-content:center;width:20px}.generic-chat-menu-text{flex:1 1;font-weight:400}.generic-chat-selector{align-items:center;background:#fafafa;border-bottom:1px solid #f0f0f0;display:flex;gap:.75rem;padding:1rem 1.5rem}.generic-chat-selector-label{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500}.generic-chat-selector-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;flex:1 1;font-size:.875rem;max-width:300px;padding:.5rem .75rem;transition:all .2s}.generic-chat-selector-dropdown:hover{border-color:#ccc}.generic-chat-selector-dropdown:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.generic-chat-selector-dropdown:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.generic-chat-edit-character-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:.875rem;height:36px;justify-content:center;min-width:36px;padding:.5rem .75rem;transition:all .2s}.generic-chat-edit-character-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.generic-chat-edit-character-btn:disabled{background:#f5f5f5;color:#999;cursor:not-allowed;opacity:.6}.generic-chat-context-panel{background:#fafafa;border-bottom:1px solid #f0f0f0;max-height:300px;overflow-y:auto;transition:all .3s ease-out}.generic-chat-context-panel-header{border-bottom:1px solid #f5f5f5;padding:1rem 1.5rem}.generic-chat-context-panel-header h4{color:#333;font-size:1rem;font-weight:600;margin:0 0 .25rem}.generic-chat-context-panel-subtitle{color:#666;font-size:.75rem}.generic-chat-context-panel-content{padding:1rem 1.5rem}.generic-chat-context-section{margin-bottom:1rem}.generic-chat-context-section:last-child{margin-bottom:0}.generic-chat-context-section h5{color:#333;font-size:.875rem;font-weight:600;margin:0 0 .75rem}.generic-chat-context-item{display:flex;font-size:.875rem;gap:.75rem;margin-bottom:.5rem}.generic-chat-context-label{color:#666;font-weight:500;min-width:80px}.generic-chat-context-persona,.generic-chat-context-value{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.generic-chat-context-persona{background:#f9f9f9;border-radius:.25rem;font-size:.75rem;max-height:150px;overflow-y:auto;padding:.75rem;white-space:pre-wrap;word-break:break-word}.generic-chat-messages{display:flex;flex:1 1;flex-direction:column;gap:1rem;overflow-y:auto;padding:1.5rem}.generic-chat-message{animation:messageSlideIn .2s ease-out;display:flex;flex-direction:column;max-width:80%}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.generic-chat-message.user{align-self:flex-end}.generic-chat-message.assistant{align-self:flex-start}.generic-chat-message-content{word-wrap:break-word;border-radius:.375rem;padding:.75rem 1rem}.generic-chat-message.user .generic-chat-message-content{background:#333;color:#fff}.generic-chat-message.assistant .generic-chat-message-content{background:#f9f9f9;border:1px solid #e0e0e0;color:#333}.generic-chat-message-text{font-size:.875rem;line-height:1.6}.generic-chat-message-text p{margin:0 0 .5rem}.generic-chat-message-text p:last-child{margin-bottom:0}.generic-chat-message-text h1,.generic-chat-message-text h2,.generic-chat-message-text h3{font-weight:600;margin-bottom:.5rem;margin-top:.75rem}.generic-chat-message-text h1{font-size:1.25rem}.generic-chat-message-text h2{font-size:1.125rem}.generic-chat-message-text h3{font-size:1rem}.generic-chat-message-text code{background:#0000001a;border-radius:.25rem;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.8125rem;padding:.125rem .25rem}.generic-chat-message.user .generic-chat-message-text code{background:#fff3}.generic-chat-message-text pre{background:#0000000d;border-radius:.25rem;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.8125rem;margin:.5rem 0;overflow-x:auto;padding:.75rem}.generic-chat-message.user .generic-chat-message-text pre{background:#ffffff26}.generic-chat-message-text ol,.generic-chat-message-text ul{margin:.5rem 0;padding-left:1.5rem}.generic-chat-message-text li{margin:.25rem 0}.generic-chat-message-text blockquote{border-left:3px solid #e0e0e0;color:#666;font-style:italic;margin:.5rem 0;padding-left:.75rem}.generic-chat-message-images{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.generic-chat-image-container{border-radius:.375rem;max-width:100%;overflow:hidden}.generic-chat-image{display:block;height:auto;max-width:100%}.generic-chat-image-caption{color:#666;font-size:.75rem;font-style:italic;margin-top:.25rem}.generic-chat-message-time{color:#999;font-size:.75rem;margin-top:.25rem;padding:0 .25rem}.generic-chat-message.user .generic-chat-message-time{text-align:right}.generic-chat-message.assistant .generic-chat-message-time{text-align:left}.generic-chat-message.typing .generic-chat-message-content{background:#f9f9f9;border:1px solid #e0e0e0}.generic-chat-typing-indicator{display:flex;gap:.25rem;padding:.5rem 0}.generic-chat-typing-indicator span{animation:typingBounce 1.4s ease-in-out infinite;background:#999;border-radius:50%;height:8px;width:8px}.generic-chat-typing-indicator span:first-child{animation-delay:-.32s}.generic-chat-typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.generic-chat-input-area{background:#fff;border-top:1px solid #e0e0e0;padding:1rem 1.5rem}.generic-chat-input-container{align-items:center;display:flex;gap:.75rem}.generic-chat-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;flex:1 1;font-size:.875rem;padding:.75rem 1rem;transition:all .2s}.generic-chat-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.generic-chat-input:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.generic-chat-input::placeholder{color:#999}.generic-chat-send-btn{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:1rem;min-width:50px;padding:.75rem 1.25rem;transition:all .2s}.generic-chat-send-btn:hover:not(:disabled){background:#000}.generic-chat-send-btn:disabled{background:#e0e0e0;color:#999;cursor:not-allowed}.generic-chat-reset-confirm-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.generic-chat-reset-confirm-dialog{background:#fff;border-radius:.5rem;box-shadow:0 4px 12px #00000026;max-width:400px;padding:1.5rem;width:90%}.generic-chat-reset-confirm-dialog h4{color:#333;font-size:1.125rem;font-weight:600;margin:0 0 .75rem}.generic-chat-reset-confirm-dialog p{color:#666;font-size:.875rem;line-height:1.5;margin:0 0 1.5rem}.generic-chat-reset-confirm-buttons{display:flex;gap:.75rem;justify-content:flex-end}.generic-chat-reset-cancel-btn,.generic-chat-reset-confirm-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.generic-chat-reset-cancel-btn{background:#fff;color:#666}.generic-chat-reset-cancel-btn:hover{background:#f5f5f5;border-color:#ccc}.generic-chat-reset-confirm-btn{background:#333;border-color:#333;color:#fff}.generic-chat-reset-confirm-btn:hover{background:#000}.generic-chat-history-sidebar{background:#fff;border-right:1px solid #e0e0e0;bottom:0;box-shadow:2px 0 4px #0000000d;display:flex;flex-direction:column;left:0;position:fixed;top:0;width:300px;z-index:1002}.generic-chat-history-sidebar-header{align-items:center;background:#fafafa;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.generic-chat-history-sidebar-header h4{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600;margin:0}.generic-chat-history-close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1.25rem;line-height:1;padding:.25rem;transition:color .2s}.generic-chat-history-close-btn:hover{color:#333}.generic-chat-history-sidebar-content{flex:1 1;overflow-y:auto;padding:1rem}.generic-chat-new-chat-btn{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;margin-bottom:1rem;padding:.75rem;transition:all .2s;width:100%}.generic-chat-new-chat-btn:hover:not(:disabled){background:#000}.generic-chat-new-chat-btn:disabled{background:#e0e0e0;color:#999;cursor:not-allowed}@media (max-width:768px){.generic-chat-history-sidebar{max-width:300px;width:100%}.generic-chat-history-sidebar-header{padding:.75rem 1rem}.generic-chat-history-sidebar-content{padding:.75rem}.generic-chat-selector{padding:.75rem 1rem}.generic-chat-messages{padding:1rem}.generic-chat-message{max-width:90%}.generic-chat-context-panel-content,.generic-chat-input-area{padding:.75rem 1rem}}.tool-calls-section{border-top:1px solid #0000000d;display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;padding-top:.75rem}.tool-call-summary-button{align-items:center;background:#00000008;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;display:flex;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.8125rem;gap:.5rem;padding:.5rem .75rem;text-align:left;transition:all .2s;width:100%}.tool-call-summary-button:hover{background:#0000000f;border-color:#ccc}.tool-call-icon{font-size:.875rem}.tool-call-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1001}.tool-call-modal-content{background:#fff;border-radius:.5rem;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;max-height:80vh;max-width:600px;padding:1.5rem;width:90%}.tool-call-modal-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.tool-call-modal-header h4{align-items:center;color:#333;display:flex;font-size:1.125rem;font-weight:600;gap:.5rem;margin:0}.tool-call-modal-close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1.25rem;line-height:1;padding:.25rem;transition:color .2s}.tool-call-modal-close-btn:hover{color:#333}.tool-call-modal-body{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;overflow-y:auto}.tool-call-section{margin-bottom:1rem}.tool-call-section:last-child{margin-bottom:0}.tool-call-toggle{background:none;border:none;color:#333;font-size:.875rem;font-weight:600;margin-bottom:.5rem;padding:0}.tool-call-toggle.error{color:#721c24}.tool-call-json{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.25rem;font-size:.8125rem;padding:.75rem;white-space:pre-wrap;word-break:break-all}.tool-call-json.error{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.postcard-container{width:100%}.postcard-back-link{background:none;border:none;color:#666;cursor:pointer;display:inline-block;font-size:.875rem;margin-bottom:1rem;padding:.5rem 0;transition:color .2s ease}.postcard-back-link:hover{color:#333}.postcard-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;transition:all .2s ease}.postcard-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.postcard-author{align-items:center;display:flex;gap:.75rem}.postcard-avatar{border-radius:50%;height:40px;object-fit:cover;width:40px}.postcard-avatar-placeholder{align-items:center;background:#f0f0f0;border-radius:50%;color:#666;display:flex;font-size:1rem;font-weight:600;height:40px;justify-content:center;width:40px}.postcard-author-info{display:flex;flex-direction:column;gap:.125rem}.postcard-author-name{color:#333;font-size:.875rem;font-weight:600}.postcard-time{color:#666;font-size:.75rem}.postcard-menu{display:flex;gap:.5rem}.postcard-menu-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.75rem;padding:.25rem .75rem;transition:all .2s ease}.postcard-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.postcard-save-btn{border-color:#333;color:#333}.postcard-save-btn:hover{background:#333;color:#fff}.postcard-cancel-btn:hover{background:#f5f5f5}.postcard-delete-btn{border-color:#dc3545;color:#dc3545}.postcard-delete-btn:hover{background:#dc3545;color:#fff}.postcard-content{margin-bottom:1rem}.postcard-content p{margin:0}.postcard-content p,.postcard-content-text{word-wrap:break-word;color:#333;font-size:.875rem;line-height:1.5;white-space:pre-wrap}.postcard-mention-badge{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;display:inline-block;font-size:.8125rem;font-weight:500;margin:0 .125rem;padding:.125rem .5rem;transition:all .2s ease}.postcard-mention-badge:hover{background:#e0e0e0;border-color:#ccc}.postcard-edit-input{border:1px solid #e0e0e0;border-radius:.25rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;min-height:80px;padding:.75rem;resize:vertical;transition:border-color .2s ease;width:100%}.postcard-edit-input:focus{border-color:#333;outline:none}.postcard-url-preview-loading{color:#666;font-size:.75rem;font-style:italic;margin-top:.75rem;padding:.5rem}.postcard-url-previews{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.postcard-url-preview{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;overflow:hidden;text-decoration:none;transition:all .2s ease}.postcard-url-preview:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.postcard-url-preview-image{background:#f0f0f0;flex-shrink:0;height:120px;overflow:hidden;width:120px}.postcard-url-preview-image img{height:100%;object-fit:cover;width:100%}.postcard-url-preview-content{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0;padding:.75rem}.postcard-url-preview-title{color:#333;font-size:.875rem;font-weight:600;line-height:1.3}.postcard-url-preview-description,.postcard-url-preview-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.postcard-url-preview-description{color:#666;font-size:.75rem;line-height:1.4}.postcard-url-preview-domain{color:#999;font-size:.6875rem;margin-top:auto}.postcard-footer{border-top:1px solid #f0f0f0;display:flex;gap:1rem;padding-top:.75rem}.postcard-comment-btn,.postcard-like-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.25rem .5rem;transition:all .2s ease}.postcard-comment-btn:hover,.postcard-like-btn:hover{background:#f9f9f9;color:#333}.postcard-comment-icon,.postcard-like-icon{font-size:1rem}.postcard-liked{color:#e0245e}.postcard-liked:hover{color:#c01d4d}.postcard-comment-count,.postcard-like-count{font-size:.875rem;font-weight:500}.postcard-comment-display{align-items:center;color:#666;display:flex;font-size:.875rem;gap:.5rem;padding:.25rem .5rem}.postcard-ai-loading-indicator{align-items:center;display:inline-flex;margin-left:.25rem}.postcard-ai-loading-spinner{animation:postcard-ai-spin .8s linear infinite;border:2px solid #e0e0e0;border-radius:50%;border-top-color:#666;height:12px;width:12px}@keyframes postcard-ai-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.postcard-card{padding:.75rem}.postcard-avatar,.postcard-avatar-placeholder{font-size:.875rem;height:36px;width:36px}.postcard-author-name{font-size:.8125rem}.postcard-time{font-size:.6875rem}.postcard-menu-btn{font-size:.6875rem;padding:.25rem .5rem}.postcard-content p{font-size:.8125rem}.postcard-footer{gap:.75rem}.postcard-url-preview{flex-direction:column}.postcard-url-preview-image{height:180px;width:100%}.postcard-url-preview-content{padding:.5rem}.postcard-url-preview-title{font-size:.8125rem}.postcard-url-preview-description{font-size:.6875rem}}.social-page{background:#fff;color:#333;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;overflow:hidden}.social-title{color:#333;font-size:1.5rem;font-weight:600;margin:0}.social-close-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;transition:all .2s ease;width:40px}.social-close-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.social-container{background:#fafafa;flex:1 1;overflow-y:auto}.social-create-post{background:#fff;border-bottom:1px solid #e0e0e0;padding:1.5rem}.social-post-input-container{margin-bottom:.75rem}.social-post-input{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5;max-height:200px;min-height:60px;overflow-y:auto;padding:1rem;resize:none;transition:all .2s ease;width:100%}.social-post-input::placeholder{color:#666}.social-post-input:focus{background:#fff;border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.social-post-input:disabled{cursor:not-allowed;opacity:.5}.social-post-actions{align-items:center;display:flex;justify-content:space-between}.social-char-count{color:#666;font-size:.75rem}.social-char-count-exceeded{color:#dc3545;font-weight:500}.social-post-btn{background:#333;border:1px solid #333;border-radius:.25rem;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.social-post-btn:hover:not(:disabled){background:#000;border-color:#000}.social-post-btn:disabled{background:#666;border-color:#666;cursor:not-allowed;opacity:.5}.social-error-message{background:#f8d7da;border-bottom:1px solid #f5c6cb;font-size:.875rem;justify-content:space-between;padding:1rem 1.5rem}.social-error-dismiss,.social-error-message{align-items:center;color:#721c24;display:flex}.social-error-dismiss{background:none;border:none;border-radius:.25rem;cursor:pointer;font-size:1.2rem;height:24px;justify-content:center;padding:0;transition:background .2s ease;width:24px}.social-error-dismiss:hover{background:#721c241a}.social-feed{margin:0 auto;max-width:800px;padding:1.5rem}.social-loading-container{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.social-loading-spinner{animation:social-spin 1s linear infinite;border:2px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:32px;margin-bottom:1rem;width:32px}@keyframes social-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.social-no-posts{color:#666;padding:3rem;text-align:center}.social-feed .postcard-container{margin-bottom:1rem}.social-comments-section{border-top:1px solid #f0f0f0;margin-top:1rem;padding-top:1rem}.social-comments-loading{color:#666;font-size:.875rem;padding:1rem;text-align:center}.social-comment-input-container{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.social-comment-input{background:#fafafa;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.5;min-height:60px;padding:.75rem;resize:vertical;transition:all .2s ease;width:100%}.social-comment-input::placeholder{color:#666}.social-comment-input:focus{background:#fff;border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.social-comment-submit-btn{align-self:flex-end;background:#333;border:1px solid #333;border-radius:.25rem;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.social-comment-submit-btn:hover:not(:disabled){background:#000;border-color:#000}.social-comment-submit-btn:disabled{background:#666;border-color:#666;cursor:not-allowed;opacity:.5}.social-comments-list{display:flex;flex-direction:column;gap:1rem}.social-comment{background:#fafafa;border:1px solid #f0f0f0;border-radius:.25rem;padding:.75rem}.social-comment-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.social-comment-author{align-items:center;display:flex;gap:.5rem}.social-comment-avatar{object-fit:cover}.social-comment-avatar,.social-comment-avatar-placeholder{border:1px solid #e0e0e0;border-radius:50%;height:28px;width:28px}.social-comment-avatar-placeholder{align-items:center;background:#f5f5f5;color:#666;display:flex;font-size:.75rem;font-weight:600;justify-content:center}.social-comment-author-info{display:flex;flex-direction:column;gap:.125rem}.social-comment-author-name{color:#333;font-size:.8125rem;font-weight:600}.social-comment-time{color:#666;font-size:.6875rem}.social-comment-menu{display:flex;gap:.375rem}.social-comment-menu-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.6875rem;font-weight:500;padding:.25rem .5rem;transition:all .2s ease}.social-comment-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.social-comment-menu-btn.social-save-btn{background:#333;border-color:#333;color:#fff}.social-comment-menu-btn.social-save-btn:hover{background:#000;border-color:#000}.social-comment-menu-btn.social-delete-btn:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.social-comment-content{line-height:1.5}.social-comment-content p{word-wrap:break-word;color:#333;font-size:.875rem;margin:0;white-space:pre-wrap}.social-comment-edit-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.5;min-height:60px;padding:.5rem;resize:vertical;width:100%}.social-comment-edit-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.social-no-comments{color:#666;font-size:.875rem;padding:1.5rem;text-align:center}.social-container::-webkit-scrollbar{width:8px}.social-container::-webkit-scrollbar-track{background:#f0f0f0}.social-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.social-container::-webkit-scrollbar-thumb:hover{background:#999}.social-post-input::-webkit-scrollbar{width:6px}.social-post-input::-webkit-scrollbar-track{background:#f0f0f0}.social-post-input::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}@media (max-width:768px){.social-create-post,.social-feed{padding:1rem}.social-post-input{font-size:.9375rem}}@media (max-width:480px){.social-create-post,.social-feed{padding:.75rem}.social-title{font-size:1.25rem}.social-post-input{font-size:.875rem;padding:.75rem}.social-post-btn{font-size:.8125rem;padding:.5rem 1rem}}.social-mention-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;max-height:200px;min-width:200px;overflow-y:auto;z-index:1000}.social-mention-item{align-items:center;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:background-color .2s ease}.social-mention-item:last-child{border-bottom:none}.social-mention-item:hover{background:#f9f9f9}.social-mention-name{color:#333;font-size:.875rem;font-weight:500}.social-mention-provider{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;text-transform:capitalize}.social-mention-no-results{color:#666;font-size:.875rem;padding:.75rem 1rem;text-align:center}.social-mention-dropdown::-webkit-scrollbar{width:6px}.social-mention-dropdown::-webkit-scrollbar-track{background:#f0f0f0}.social-mention-dropdown::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.postdetail-page{background:#fff;color:#333;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;overflow:hidden}.postdetail-title{color:#333;font-size:1.5rem;font-weight:600;margin:0}.postdetail-close-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;transition:all .2s ease;width:40px}.postdetail-close-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.postdetail-container{background:#fafafa;flex:1 1;overflow-y:auto}.postdetail-content{margin:0 auto;max-width:800px;padding:1.5rem}.postdetail-loading-container{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.postdetail-loading-spinner{animation:postdetail-spin 1s linear infinite;border:2px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:32px;margin-bottom:1rem;width:32px}@keyframes postdetail-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.postdetail-error-container{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.postdetail-error-message{align-items:center;background:#f8d7da;border-bottom:1px solid #f5c6cb;color:#721c24;display:flex;font-size:.875rem;justify-content:space-between;padding:1rem 1.5rem}.postdetail-error-dismiss{align-items:center;background:none;border:none;border-radius:.25rem;color:#721c24;cursor:pointer;display:flex;font-size:1.2rem;height:24px;justify-content:center;padding:0;transition:background .2s ease;width:24px}.postdetail-error-dismiss:hover{background:#721c241a}.postdetail-back-btn{background:#333;border:1px solid #333;border-radius:.25rem;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;margin-top:1rem;padding:.75rem 1.5rem;transition:all .2s ease}.postdetail-back-btn:hover{background:#000;border-color:#000}.postdetail-content .postcard-container{margin-bottom:1.5rem}.postdetail-comments-section{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1.5rem}.postdetail-comments-title{color:#333;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.postdetail-comment-form{border-bottom:1px solid #f0f0f0;margin-bottom:1.5rem;padding-bottom:1.5rem}.postdetail-comment-input{background:#fafafa;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.5;margin-bottom:.5rem;min-height:80px;padding:.75rem;resize:vertical;transition:all .2s ease;width:100%}.postdetail-comment-input::placeholder{color:#666}.postdetail-comment-input:focus{background:#fff;border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.postdetail-comment-form-actions{align-items:center;display:flex;justify-content:space-between}.postdetail-char-count{color:#666;font-size:.75rem}.postdetail-comment-submit-btn{background:#333;border:1px solid #333;border-radius:.25rem;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.postdetail-comment-submit-btn:hover:not(:disabled){background:#000;border-color:#000}.postdetail-comment-submit-btn:disabled{background:#666;border-color:#666;cursor:not-allowed;opacity:.5}.postdetail-comments-list{display:flex;flex-direction:column;gap:1rem}.postdetail-no-comments{color:#666;font-size:.875rem;padding:2rem;text-align:center}.postdetail-comment{background:#fafafa;border:1px solid #f0f0f0;border-radius:.25rem;padding:1rem}.postdetail-comment-reply{margin-left:2rem;margin-top:.75rem}.postdetail-comment-ai{background:#f9f9f9;border-left:3px solid #666}.postdetail-comment-ai-avatar{background:#e0e0e0;border-color:#ccc}.postdetail-comment-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.postdetail-comment-author{align-items:center;display:flex;gap:.5rem}.postdetail-comment-avatar{border:1px solid #e0e0e0;border-radius:50%;height:32px;object-fit:cover;width:32px}.postdetail-comment-avatar-placeholder{align-items:center;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:50%;color:#666;display:flex;font-size:.875rem;font-weight:600;height:32px;justify-content:center;width:32px}.postdetail-comment-author-info{display:flex;flex-direction:column;gap:.125rem}.postdetail-comment-author-name{color:#333;font-size:.875rem;font-weight:600}.postdetail-comment-time{color:#666;font-size:.6875rem}.postdetail-comment-menu{display:flex;gap:.375rem}.postdetail-comment-menu-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.6875rem;font-weight:500;padding:.25rem .5rem;transition:all .2s ease}.postdetail-comment-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.postdetail-save-btn{background:#333;border-color:#333;color:#fff}.postdetail-save-btn:hover{background:#000;border-color:#000}.postdetail-cancel-btn:hover{background:#f5f5f5;border-color:#ccc}.postdetail-delete-btn:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.postdetail-comment-content{line-height:1.5;margin-bottom:.5rem}.postdetail-comment-content p{word-wrap:break-word;color:#333;font-size:.875rem;margin:0;white-space:pre-wrap}.postdetail-comment-edit-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.5;min-height:60px;padding:.5rem;resize:vertical;width:100%}.postdetail-comment-edit-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.postdetail-comment-actions{align-items:center;display:flex;gap:.75rem}.postdetail-reply-btn,.postdetail-view-replies-btn{background:none;border:none;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;font-weight:500;padding:0;transition:color .2s ease}.postdetail-reply-btn:hover,.postdetail-view-replies-btn:hover{color:#333}.postdetail-reply-input-container{border-top:1px solid #f0f0f0;margin-top:.75rem;padding-top:.75rem}.postdetail-reply-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.5;margin-bottom:.5rem;min-height:60px;padding:.5rem;resize:vertical;width:100%}.postdetail-reply-input::placeholder{color:#666}.postdetail-reply-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.postdetail-reply-actions{display:flex;gap:.5rem;justify-content:flex-end}.postdetail-reply-submit-btn{background:#333;border:1px solid #333;border-radius:.25rem;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;font-weight:500;padding:.375rem .75rem;transition:all .2s ease}.postdetail-reply-submit-btn:hover:not(:disabled){background:#000;border-color:#000}.postdetail-reply-submit-btn:disabled{background:#666;border-color:#666;cursor:not-allowed;opacity:.5}.postdetail-reply-cancel-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;font-weight:500;padding:.375rem .75rem;transition:all .2s ease}.postdetail-reply-cancel-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.postdetail-replies-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.postdetail-no-replies,.postdetail-replies-loading{color:#666;font-size:.75rem;padding:1rem;text-align:center}.postdetail-container::-webkit-scrollbar{width:8px}.postdetail-container::-webkit-scrollbar-track{background:#f0f0f0}.postdetail-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.postdetail-container::-webkit-scrollbar-thumb:hover{background:#999}@media (max-width:768px){.postdetail-comments-section,.postdetail-content{padding:1rem}}@media (max-width:480px){.postdetail-comments-section,.postdetail-content{padding:.75rem}.postdetail-title{font-size:1.25rem}.postdetail-comment-avatar,.postdetail-comment-avatar-placeholder{height:28px;width:28px}.postdetail-comment-reply{margin-left:1rem}}.novels-page-container{background:#fff;display:flex;flex-direction:column;height:100vh}.novels-content{flex:1 1;overflow-y:auto;padding:1.5rem}.novels-header{margin-bottom:1.5rem}.novels-tabs{border-bottom:1px solid #e0e0e0;display:flex;gap:.5rem;margin-bottom:1rem}.novels-tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.novels-tab:hover{color:#333}.novels-tab.active{border-bottom-color:#333;color:#333}.novels-controls{align-items:center;display:flex;gap:1rem;justify-content:space-between}.novels-search{flex:1 1;max-width:400px}.novels-search-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.875rem;padding:.75rem;transition:border-color .2s ease;width:100%}.novels-search-input:focus{border-color:#333;outline:none}.novels-search-input::placeholder{color:#999}.novels-create-button{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:background .2s ease;white-space:nowrap}.novels-create-button:hover{background:#000}.novels-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;font-size:.875rem;margin-bottom:1rem;padding:1rem}.novels-create-form-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.novels-create-form{background:#fff;border-radius:.375rem;box-shadow:0 4px 12px #00000026;max-width:500px;padding:2rem;width:90%}.novels-create-form h3{color:#333;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.novels-title-input{border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:1rem;margin-bottom:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.novels-title-input:focus{border-color:#333;outline:none}.novels-form-actions{display:flex;gap:.75rem;justify-content:flex-end}.novels-form-cancel,.novels-form-submit{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.novels-form-submit{background:#333;border-color:#333;color:#fff}.novels-form-submit:hover{background:#000;border-color:#000}.novels-form-cancel{background:#fff;color:#666}.novels-form-cancel:hover{background:#f5f5f5;border-color:#ccc;color:#333}.novels-loading{color:#666}.novels-empty,.novels-loading{font-size:.875rem;padding:3rem;text-align:center}.novels-empty{color:#999}.novels-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.novel-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;padding:1.5rem;transition:all .2s ease}.novel-card:hover{border-color:#ccc;box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.novel-card-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.75rem}.novel-card-title-area{flex:1 1;min-width:0}.novel-card-title{color:#333;font-size:1.125rem;font-weight:600;line-height:1.4;margin:0 0 .5rem}.novel-card-tags{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.novel-card-genre{background:#f5f5f5;color:#666}.novel-card-genre,.novel-status-badge{border-radius:.25rem;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.novel-status-badge{text-transform:capitalize}.novel-status-badge.novel-status-on-going{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.novel-status-badge.novel-status-pending{background:#f5f5f5;border:1px solid #e0e0e0;color:#666}.novel-status-badge.novel-status-completed{background:#e0e0e0;border:1px solid #ccc;color:#333}.novel-status-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;font-size:.75rem;min-width:90px;padding:.25rem .5rem;transition:all .2s ease}.novel-status-select:hover{background:#f9f9f9;border-color:#ccc}.novel-status-select:focus{background:#fff;border-color:#333;outline:none}.novel-card-actions{display:flex;flex-shrink:0;gap:.25rem}.novel-visibility-button{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.125rem;height:28px;justify-content:center;line-height:1;padding:.25rem;transition:all .2s ease;width:28px}.novel-visibility-button:hover{background:#f5f5f5}.novel-visibility-button.public{color:#28a745}.novel-visibility-button.private{color:#999}.novel-delete-button{align-items:center;background:none;border:none;border-radius:.25rem;color:#999;cursor:pointer;display:flex;font-size:1.5rem;height:28px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:28px}.novel-delete-button:hover{background:#f5f5f5;color:#333}.novel-card-meta{align-items:center;color:#666;display:flex;flex-wrap:wrap;font-size:.75rem;gap:.5rem}.novel-card-author{color:#666;font-weight:500}.novel-card-chapters,.novel-card-date,.novel-card-words{white-space:nowrap}.novel-card-separator{color:#ccc}@media (max-width:768px){.novels-content{padding:1rem}.novels-controls{align-items:stretch;flex-direction:column}.novels-search{max-width:100%}.novels-list{grid-template-columns:1fr}.novels-create-form{padding:1.5rem}}@media (max-width:480px){.novel-card-meta{font-size:.6875rem}}.novel-editor-container{background:#fff;display:flex;flex-direction:column;height:100vh}.novel-back-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:.875rem;gap:.25rem;padding:.5rem .75rem;transition:all .2s ease}.novel-back-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.novel-editor-header{align-items:center;display:flex;gap:1rem}.novel-title-display{border-radius:.25rem;cursor:pointer;padding:.25rem .5rem;transition:background .2s ease}.novel-title-display:hover{background:#0000000d}.novel-title-edit-input{background:#fff;border:1px solid #333;border-radius:.25rem;color:#333;font-size:1rem;font-weight:600;min-width:300px;padding:.25rem .5rem}.novel-title-edit-input:focus{border-color:#000;outline:none}.novel-word-count{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400}.novel-editor-error,.novel-editor-loading{align-items:center;color:#666;display:flex;flex:1 1;font-size:.875rem;justify-content:center}.novel-editor-error{color:#721c24}.novel-chapters-sidebar,.novel-editor-content{display:flex;flex:1 1;overflow:hidden}.novel-chapters-sidebar{background:#fafafa;flex-direction:column}.chapters-sidebar-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem}.chapters-sidebar-header h3{color:#333;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin:0;text-transform:uppercase}.add-chapter-button{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:28px;justify-content:center;line-height:1;transition:all .2s ease;width:28px}.add-chapter-button:hover{background:#f5f5f5;border-color:#ccc;color:#333}.add-chapter-form{background:#fff;border-bottom:1px solid #e0e0e0;padding:1rem}.add-chapter-input{border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.875rem;margin-bottom:.5rem;padding:.5rem;transition:border-color .2s ease;width:100%}.add-chapter-input:focus{border-color:#333;outline:none}.add-chapter-actions{display:flex;gap:.5rem}.add-chapter-cancel,.add-chapter-submit{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;flex:1 1;font-size:.75rem;font-weight:500;padding:.5rem;transition:all .2s ease}.add-chapter-submit{background:#333;border-color:#333;color:#fff}.add-chapter-submit:hover{background:#000;border-color:#000}.add-chapter-cancel{background:#fff;color:#666}.add-chapter-cancel:hover{background:#f5f5f5;border-color:#ccc;color:#333}.chapters-list{flex:1 1;overflow-y:auto;padding:.5rem 0}.chapters-empty{color:#999;font-size:.75rem;padding:2rem 1rem;text-align:center}.chapter-item{align-items:center;display:flex;justify-content:space-between;padding:.75rem 1rem;position:relative;transition:background .2s ease}.chapter-item:hover{background:#f5f5f5}.chapter-item-content{align-items:center;cursor:pointer;display:flex;flex:1 1;gap:.5rem;min-width:0}.chapter-number{color:#666;flex-shrink:0;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;font-weight:600}.chapter-title{color:#333;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-menu-container{flex-shrink:0;position:relative}.chapter-menu-button{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;border-radius:.25rem;color:#999;cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;line-height:1;min-height:32px;min-width:32px;padding:.25rem;transition:all .2s ease}.chapter-menu-button:active,.chapter-menu-button:hover{background:#f5f5f5;color:#666}.chapter-menu-dropdown{border-radius:.25rem;margin-top:.25rem;min-width:120px;top:100%;z-index:10}.chapter-menu-item{-webkit-tap-highlight-color:transparent;display:block;min-height:44px}.chapter-menu-item:active,.chapter-menu-item:hover{background:#f5f5f5}.chapter-menu-item:first-child{border-radius:.25rem .25rem 0 0}.chapter-menu-item:last-child{border-radius:0 0 .25rem .25rem}.chapter-menu-item-delete{color:#721c24}.chapter-menu-item-delete:active,.chapter-menu-item-delete:hover{background:#f8d7da}.chapter-edit-form{background:#fff;border:1px solid #333;border-radius:.25rem;padding:.75rem;width:100%}.chapter-edit-input{-webkit-tap-highlight-color:transparent;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:1rem;margin-bottom:.75rem;padding:.75rem;transition:border-color .2s ease;width:100%}.chapter-edit-input:focus{border-color:#333;outline:none}.chapter-edit-actions{display:flex;gap:.75rem}.chapter-edit-cancel,.chapter-edit-save{-webkit-tap-highlight-color:transparent;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;min-height:44px;padding:.75rem;transition:all .2s ease}.chapter-edit-save{background:#333;border-color:#333;color:#fff}.chapter-edit-save:active,.chapter-edit-save:hover{background:#000;border-color:#000}.chapter-edit-cancel{background:#fff;color:#666}.chapter-edit-cancel:active,.chapter-edit-cancel:hover{background:#f5f5f5;border-color:#ccc;color:#333}@media (max-width:768px){.novel-chapters-sidebar{max-height:100%}.novel-title-edit-input{min-width:200px}.novel-word-count{font-size:.75rem}.chapter-menu-dropdown{min-width:140px}.chapter-edit-form{padding:.75rem .5rem}.chapter-edit-input{font-size:1rem;padding:.75rem}.chapter-edit-cancel,.chapter-edit-save{font-size:.875rem;min-height:44px;padding:.75rem}}@media (max-width:480px){.add-chapter-form,.chapter-item,.chapters-sidebar-header{padding:.75rem}.novel-title-edit-input{font-size:.875rem;min-width:150px}.chapter-menu-button{min-height:36px;min-width:36px}.chapter-menu-dropdown{box-shadow:0 4px 12px #00000026;min-width:140px}.chapter-menu-item{font-size:1rem;min-height:48px;padding:.875rem 1rem}.chapter-edit-form{padding:.75rem}.chapter-edit-input{font-size:1rem;padding:.875rem}.chapter-edit-actions{gap:.75rem}.chapter-edit-cancel,.chapter-edit-save{font-size:1rem;min-height:48px;padding:.875rem}}.novel-editor-actions{align-items:center;display:flex;gap:.5rem}.novel-ai-assistant-btn,.novel-metadata-toggle{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.novel-ai-assistant-btn:hover,.novel-metadata-toggle:hover{background:#f5f5f5;border-color:#ccc;color:#333}@media (max-width:768px){.novel-editor-actions{gap:.375rem}.novel-ai-assistant-btn,.novel-metadata-toggle{font-size:.8125rem;padding:.375rem .625rem}}.metadata-gen-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.metadata-gen-modal{background:#fff;border-radius:.5rem;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;max-height:85vh;max-width:900px;width:100%}.metadata-gen-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.metadata-gen-modal-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.25rem;font-weight:600;margin:0}.metadata-gen-modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;padding:.25rem .5rem;transition:color .2s}.metadata-gen-modal-close:hover{color:#333}.metadata-gen-modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.metadata-gen-modal-section{margin-bottom:1.5rem}.metadata-gen-modal-section:last-child{margin-bottom:0}.metadata-gen-modal-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.metadata-gen-modal-label{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500}.metadata-gen-modal-select-all{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.8125rem;padding:.375rem .75rem;transition:all .2s}.metadata-gen-modal-select-all:hover{background:#f5f5f5;border-color:#ccc;color:#333}.metadata-gen-modal-chapters{background:#fafafa;border-radius:.25rem;display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;padding:.5rem}.metadata-gen-modal-chapter-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .2s}.metadata-gen-modal-chapter-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.metadata-gen-modal-chapter-item input[type=checkbox]{cursor:pointer}.metadata-gen-modal-chapter-title{color:#333;flex:1 1;font-size:.875rem}.metadata-gen-modal-info{background:#f9f9f9;border-radius:.25rem;color:#666;font-size:.75rem;margin-top:.75rem;padding:.5rem}.metadata-gen-modal-warning{color:#ff9800}.metadata-gen-modal-error{background:#f8d7da;border-radius:.25rem;color:#721c24;font-size:.875rem;margin-bottom:1rem;padding:.75rem}.metadata-gen-modal-empty{color:#999;font-size:.875rem;font-style:italic;padding:2rem;text-align:center}.metadata-gen-modal-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem}.metadata-gen-modal-spinner{animation:metadata-gen-modal-spin .8s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top-color:#333;height:40px;width:40px}@keyframes metadata-gen-modal-spin{to{transform:rotate(1turn)}}.metadata-gen-modal-loading p{color:#666;font-size:.875rem}.metadata-gen-modal-merge-info{background:#f9f9f9;border-radius:.25rem;display:flex;justify-content:center;margin-bottom:1rem;padding:.75rem}.metadata-gen-modal-merge-count{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500}.metadata-gen-modal-comparison{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr auto 1fr;min-height:300px}.metadata-gen-modal-column{display:flex;flex-direction:column}.metadata-gen-modal-column-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.metadata-gen-modal-column-title{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:600;margin:0}.metadata-gen-modal-toggle-all{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.75rem;padding:.25rem .5rem;transition:all .2s}.metadata-gen-modal-toggle-all:hover{background:#f5f5f5;border-color:#ccc;color:#333}.metadata-gen-modal-divider{background:#e0e0e0;width:1px}.metadata-gen-modal-list{display:flex;flex:1 1;flex-direction:column;gap:.75rem;overflow-y:auto}.metadata-gen-modal-item{border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;transition:all .2s}.metadata-gen-modal-item.selected{border-color:#333;box-shadow:0 2px 4px #0000001a}.metadata-gen-modal-item-current{background:#fafafa}.metadata-gen-modal-item-generated{background:#f0f9f4;border-color:#d4edda}.metadata-gen-modal-item-checkbox-wrapper{align-items:flex-start;display:flex;gap:.75rem}.metadata-gen-modal-checkbox{cursor:pointer;flex-shrink:0;height:1rem;margin-top:.25rem;width:1rem}.metadata-gen-modal-item-content,.metadata-gen-modal-item-content-editable{flex:1 1;min-width:0}.metadata-gen-modal-item-header{display:flex;gap:.5rem;margin-bottom:.5rem}.metadata-gen-modal-item-editable-wrapper{align-items:flex-start;display:flex;gap:.5rem;width:100%}.metadata-gen-modal-editable{word-wrap:break-word;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.5;max-height:300px;min-height:80px;outline:none;overflow-y:auto;padding:.75rem;transition:all .2s;white-space:pre-wrap}.metadata-gen-modal-editable:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a}.metadata-gen-modal-editable:hover{border-color:#ccc}.metadata-gen-modal-editable.empty:before{color:#999;content:attr(data-placeholder);font-style:italic;pointer-events:none}.metadata-gen-modal-editable:focus.empty:before{content:""}.metadata-gen-modal-char-name{color:#333;font-weight:600;margin-bottom:.25rem}.metadata-gen-modal-char-role{color:#666;font-size:.75rem;margin-bottom:.5rem;text-transform:capitalize}.metadata-gen-modal-char-desc{color:#666;font-size:.875rem;line-height:1.5}.metadata-gen-modal-text{color:#333;font-size:.875rem;line-height:1.5}.metadata-gen-modal-input,.metadata-gen-modal-select,.metadata-gen-modal-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem;transition:all .2s;width:100%}.metadata-gen-modal-input:focus,.metadata-gen-modal-select:focus,.metadata-gen-modal-textarea:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.metadata-gen-modal-textarea{min-height:60px;resize:vertical}.metadata-gen-modal-select{margin-bottom:.5rem}.metadata-gen-modal-remove-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;height:2rem;justify-content:center;transition:all .2s;width:2rem}.metadata-gen-modal-remove-btn:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.metadata-gen-modal-footer{align-items:center;border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.metadata-gen-modal-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-size:.875rem;font-weight:500;padding:.625rem 1.5rem;transition:all .2s}.metadata-gen-modal-btn:disabled{cursor:not-allowed;opacity:.5}.metadata-gen-modal-btn-secondary{background:#fff;color:#666}.metadata-gen-modal-btn-secondary:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.metadata-gen-modal-btn-primary{background:#333;border-color:#333;color:#fff}.metadata-gen-modal-btn-primary:hover:not(:disabled){background:#000;border-color:#000}@media (max-width:768px){.metadata-gen-modal{border-radius:.375rem;max-height:95vh;max-width:100%}.metadata-gen-modal-body,.metadata-gen-modal-footer,.metadata-gen-modal-header{padding:1rem}.metadata-gen-modal-title{font-size:1rem}.metadata-gen-modal-merge-info{font-size:.8125rem}.metadata-gen-modal-comparison{gap:1rem;grid-template-columns:1fr;grid-template-rows:auto auto}.metadata-gen-modal-divider{display:none}.metadata-gen-modal-column-header{align-items:flex-start;flex-direction:column;gap:.5rem}.metadata-gen-modal-toggle-all{width:100%}.metadata-gen-modal-editable{min-height:60px}.metadata-gen-modal-footer{flex-direction:column-reverse}.metadata-gen-modal-btn{width:100%}}@media (max-width:480px){.metadata-gen-modal-overlay{padding:0}.metadata-gen-modal{border-radius:0;max-height:100vh}.metadata-gen-modal-section-header{align-items:flex-start;flex-direction:column;gap:.5rem}.metadata-gen-modal-select-all{width:100%}}.novel-metadata-editor-container{background:#fff;display:flex;flex-direction:column;height:100vh}.novel-metadata-editor-error,.novel-metadata-editor-loading{align-items:center;color:#666;display:flex;font-size:1rem;justify-content:center;padding:2rem}.novel-metadata-editor-error{color:#721c24}.metadata-editor-header-center{align-items:center;display:flex;gap:1rem}.metadata-sync-status{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem}.metadata-sync-status.saving{color:#666}.metadata-sync-status.saved{color:#28a745}.metadata-sync-status.error{color:#721c24}.metadata-back-btn,.metadata-editor-close-btn,.metadata-save-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.metadata-back-btn:hover,.metadata-editor-close-btn:hover,.metadata-save-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.novel-metadata-editor-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.metadata-tabs-nav{background:#fafafa;border-bottom:1px solid #e0e0e0;display:flex;gap:0;padding:0 1.5rem}.metadata-tab-btn{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500;padding:1rem 1.5rem;transition:all .2s}.metadata-tab-btn:hover{background:#f5f5f5;color:#333}.metadata-tab-btn.active{background:#fff;border-bottom-color:#333;color:#333}.metadata-tab-content{background:#fff;flex:1 1;overflow-y:auto}.metadata-tab-panel{margin:0 auto;max-width:900px;padding:1.5rem}.metadata-section{margin-bottom:2rem}.metadata-section:last-child{margin-bottom:0}.metadata-visibility-toggle{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.metadata-visibility-toggle:hover{background:#f5f5f5;border-color:#ccc}.metadata-visibility-toggle.public{background:#f0f9f4;border-color:#28a745;color:#28a745}.metadata-visibility-toggle.public:hover{background:#d4edda}.metadata-visibility-toggle.private{background:#fafafa;border-color:#e0e0e0;color:#666}.metadata-visibility-toggle.private:hover{background:#f5f5f5}.metadata-helper-text{color:#999;font-size:.75rem;line-height:1.4;margin-top:.5rem}.metadata-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.metadata-section-actions{align-items:center;display:flex;gap:.5rem}.metadata-label{color:#666;display:block;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.metadata-input,.metadata-select,.metadata-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem;transition:all .2s;width:100%}.metadata-input:focus,.metadata-select:focus,.metadata-textarea:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.metadata-textarea{min-height:80px;resize:vertical}.metadata-select-small{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;margin-bottom:.5rem;padding:.5rem;transition:all .2s;width:100%}.metadata-select-small:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.metadata-add-button{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:2rem;justify-content:center;transition:all .2s;width:2rem}.metadata-add-button:hover{background:#f5f5f5;border-color:#ccc;color:#333}.metadata-generate-btn{align-items:center;background:none;border:1px solid #28a745;border-radius:.25rem;color:#28a745;cursor:pointer;display:flex;font-size:.8125rem;font-weight:500;gap:.25rem;padding:.375rem .75rem;transition:all .2s}.metadata-generate-btn:hover:not(:disabled){background:#28a745;color:#fff}.metadata-generate-btn:disabled{border-color:#e0e0e0;color:#999;cursor:not-allowed;opacity:.4}.metadata-enhance-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:2rem;justify-content:center;transition:all .2s;width:2rem}.metadata-enhance-btn:hover:not(:disabled){background:#f0f9f4;border-color:#28a745;color:#28a745}.metadata-enhance-btn:disabled{cursor:not-allowed;opacity:.4}.metadata-item{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.metadata-item:last-child{margin-bottom:0}.metadata-item>input,.metadata-item>textarea{flex:1 1}.metadata-item-actions{align-self:flex-end;display:flex;gap:.5rem}.metadata-remove-button{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;height:2rem;justify-content:center;transition:all .2s;width:2rem}.metadata-remove-button:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.metadata-character{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1rem;padding:1rem}.metadata-character:last-child{margin-bottom:0}.metadata-character-header{display:flex;gap:.5rem;margin-bottom:.5rem}.metadata-character-header input{flex:1 1}.metadata-character .metadata-item-actions{margin-left:auto}.metadata-empty-text{background:#fafafa;border-radius:.25rem;color:#999;font-size:.875rem;margin-bottom:.75rem;padding:1rem;text-align:center}.metadata-preview-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.metadata-preview-item{background:#fafafa;border:1px solid #e0e0e0;border-radius:.25rem;padding:.75rem}.metadata-preview-label{color:#333;display:block;font-size:.875rem;font-weight:600;margin-bottom:.375rem}.metadata-preview-character{align-items:center;display:flex;gap:.5rem;margin-bottom:.375rem}.metadata-preview-role{border-radius:.2rem;display:inline-block;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.7rem;padding:.2rem .4rem}.metadata-preview-role.role-protagonist{background:#d4edda;color:#155724}.metadata-preview-role.role-antagonist{background:#f8d7da;color:#721c24}.metadata-preview-role.role-supporting{background:#d1ecf1;color:#0c5460}.metadata-preview-role.role-other{background:#f0f0f0;color:#666}.metadata-preview-text{word-wrap:break-word;color:#666;font-size:.875rem;line-height:1.5;margin:0;white-space:pre-wrap}.metadata-preview-more{color:#999;font-size:.8125rem;font-style:italic;margin:0;text-align:center}.metadata-view-all-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1rem;text-align:center;transition:all .2s;width:100%}.metadata-view-all-btn:hover{background:#f5f5f5;border-color:#333;color:#333}@media (max-width:768px){.metadata-tabs-nav{overflow-x:auto;padding:0 1rem}.metadata-tab-btn{font-size:.8125rem;padding:.75rem 1rem;white-space:nowrap}.metadata-tab-panel{padding:1rem}.metadata-section{margin-bottom:1.5rem}.metadata-label{font-size:.8125rem}.metadata-input,.metadata-select,.metadata-textarea{font-size:.8125rem;padding:.625rem}}@media (max-width:480px){.metadata-editor-header-center{align-items:flex-start;flex-direction:column;gap:.25rem}.metadata-sync-status{font-size:.75rem}.metadata-tabs-nav{padding:0 .75rem}.metadata-tab-btn,.metadata-tab-panel{padding:.75rem}}.plots-list-editor-container{background:#fff;display:flex;flex-direction:column;height:100vh}.plots-list-editor-error,.plots-list-editor-loading{align-items:center;color:#666;display:flex;font-size:1rem;justify-content:center;padding:2rem}.plots-list-editor-error{color:#721c24}.plots-list-back-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.plots-list-back-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.plots-list-header-actions{display:flex;gap:.5rem}.plots-list-generate-btn{align-items:center;background:none;border:1px solid #28a745;border-radius:.25rem;color:#28a745;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.25rem;padding:.5rem .75rem;transition:all .2s}.plots-list-generate-btn:hover:not(:disabled){background:#28a745;color:#fff}.plots-list-generate-btn:disabled{border-color:#e0e0e0;color:#999;cursor:not-allowed;opacity:.4}.plots-list-add-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.plots-list-add-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.plots-list-editor-content{background:#fff;flex:1 1;overflow-y:auto;padding:1.5rem}.plots-list-empty{align-items:center;color:#999;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.plots-list-empty p{font-size:1rem;margin-bottom:1.5rem}.plots-list-add-btn-large{background:none;border:2px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.plots-list-add-btn-large:hover{background:#f5f5f5;border-color:#333;color:#333}.plots-list{display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:900px}.plot-list-item{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;transition:all .2s ease}.plot-list-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.plot-list-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.plot-list-item-number{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500}.plot-list-item-actions{display:flex;gap:.5rem}.plot-list-delete-btn,.plot-list-move-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1rem;height:2rem;justify-content:center;transition:all .2s;width:2rem}.plot-list-move-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.plot-list-move-btn:disabled{cursor:not-allowed;opacity:.3}.plot-list-delete-btn:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.plot-list-item-preview{word-wrap:break-word;color:#333;font-size:.875rem;line-height:1.6;margin:0 0 1rem;white-space:pre-wrap}.plot-list-edit-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s;width:100%}.plot-list-edit-btn:hover{background:#f5f5f5;border-color:#333;color:#333}@media (max-width:768px){.plots-list-editor-content{padding:1rem}.plots-list-header-actions{flex-direction:column;width:100%}.plots-list-add-btn,.plots-list-generate-btn{width:100%}}.plot-editor-container{background:#fff;display:flex;flex-direction:column;height:100vh}.plot-editor-error,.plot-editor-loading{align-items:center;color:#666;display:flex;font-size:1rem;justify-content:center;padding:2rem}.plot-editor-error{color:#721c24}.plot-editor-header-center{align-items:center;display:flex;gap:1rem}.plot-sync-status{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem}.plot-sync-status.saving{color:#666}.plot-sync-status.saved{color:#28a745}.plot-sync-status.error{color:#721c24}.plot-editor-back-btn,.plot-editor-enhance-btn,.plot-editor-save-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.plot-editor-back-btn:hover,.plot-editor-enhance-btn:hover:not(:disabled),.plot-editor-save-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.plot-editor-enhance-btn{border-color:#28a745;color:#28a745}.plot-editor-enhance-btn:hover:not(:disabled){background:#28a745;color:#fff}.plot-editor-enhance-btn:disabled{border-color:#e0e0e0;color:#999;cursor:not-allowed;opacity:.4}.plot-editor-header-actions{display:flex;gap:.5rem}.plot-editor-content{background:#fff;overflow:hidden;padding:1.5rem}.plot-editor-content,.plot-editor-main{display:flex;flex:1 1;flex-direction:column}.plot-editor-main{margin:0 auto;max-width:900px;width:100%}.plot-editor-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;color:#333;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.6;min-height:400px;padding:1rem;resize:none;transition:all .2s;width:100%}.plot-editor-textarea:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.plot-editor-textarea::placeholder{color:#999}.plot-editor-error-message{background:#f8d7da;border-radius:.25rem;color:#721c24;font-size:.875rem;margin-left:auto;margin-right:auto;margin-top:1rem;max-width:900px;padding:.75rem 1rem;width:100%}.plot-editor-footer{display:flex;justify-content:flex-start;margin:0 auto;max-width:900px;padding-top:1rem;width:100%}.plot-editor-delete-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#721c24;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.plot-editor-delete-btn:hover{background:#f8d7da;border-color:#f5c6cb}@media (max-width:768px){.plot-editor-content{padding:1rem}.plot-editor-header-center{align-items:flex-start;flex-direction:column;gap:.25rem}.plot-sync-status{font-size:.75rem}.plot-editor-header-actions{flex-direction:column;width:100%}.plot-editor-enhance-btn,.plot-editor-save-btn{width:100%}.plot-editor-textarea{min-height:300px}}.characters-list-editor-container{background:#fff;display:flex;flex-direction:column;height:100vh}.characters-list-editor-error,.characters-list-editor-loading{align-items:center;color:#666;display:flex;font-size:1rem;justify-content:center;padding:2rem}.characters-list-editor-error{color:#721c24}.characters-list-back-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.characters-list-back-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.characters-list-header-actions{display:flex;gap:.5rem}.characters-list-generate-btn{align-items:center;background:none;border:1px solid #28a745;border-radius:.25rem;color:#28a745;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.25rem;padding:.5rem .75rem;transition:all .2s}.characters-list-generate-btn:hover:not(:disabled){background:#28a745;color:#fff}.characters-list-generate-btn:disabled{border-color:#e0e0e0;color:#999;cursor:not-allowed;opacity:.4}.characters-list-add-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.characters-list-add-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.characters-list-editor-content{background:#fff;flex:1 1;overflow-y:auto;padding:1.5rem}.characters-list-empty{align-items:center;color:#999;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.characters-list-empty p{font-size:1rem;margin-bottom:1.5rem}.characters-list-add-btn-large{background:none;border:2px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.characters-list-add-btn-large:hover{background:#f5f5f5;border-color:#333;color:#333}.characters-list{display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:900px}.character-list-item{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;transition:all .2s ease}.character-list-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.character-list-item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.character-list-item-info{display:flex;flex-direction:column;gap:.375rem}.character-list-item-name{color:#333;font-size:1rem;font-weight:600}.character-list-item-role{border-radius:.25rem;display:inline-block;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;padding:.25rem .5rem;width:fit-content}.character-list-item-role.role-protagonist{background:#d4edda;color:#155724}.character-list-item-role.role-antagonist{background:#f8d7da;color:#721c24}.character-list-item-role.role-supporting{background:#d1ecf1;color:#0c5460}.character-list-item-role.role-other{background:#f0f0f0;color:#666}.character-list-delete-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;height:2rem;justify-content:center;transition:all .2s;width:2rem}.character-list-delete-btn:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.character-list-item-description{word-wrap:break-word;color:#666;font-size:.875rem;line-height:1.6;margin:0 0 1rem;white-space:pre-wrap}.character-list-edit-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s;width:100%}.character-list-edit-btn:hover{background:#f5f5f5;border-color:#333;color:#333}@media (max-width:768px){.characters-list-editor-content{padding:1rem}.characters-list-header-actions{flex-direction:column;width:100%}.characters-list-add-btn,.characters-list-generate-btn{width:100%}}.character-editor-container{background:#fff;display:flex;flex-direction:column;height:100vh}.character-editor-error,.character-editor-loading{align-items:center;color:#666;display:flex;font-size:1rem;justify-content:center;padding:2rem}.character-editor-error{color:#721c24}.character-editor-header-center{align-items:center;display:flex;gap:1rem}.character-sync-status{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem}.character-sync-status.saving{color:#666}.character-sync-status.saved{color:#28a745}.character-sync-status.error{color:#721c24}.character-editor-back-btn,.character-editor-enhance-btn,.character-editor-save-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.character-editor-back-btn:hover,.character-editor-enhance-btn:hover:not(:disabled),.character-editor-save-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.character-editor-enhance-btn{border-color:#28a745;color:#28a745}.character-editor-enhance-btn:hover:not(:disabled){background:#28a745;color:#fff}.character-editor-enhance-btn:disabled{border-color:#e0e0e0;color:#999;cursor:not-allowed;opacity:.4}.character-editor-header-actions{display:flex;gap:.5rem}.character-editor-content{background:#fff;display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:1.5rem}.character-editor-main{flex:1 1;margin:0 auto;max-width:900px;width:100%}.character-editor-form{display:flex;flex-direction:column;gap:1.5rem}.character-editor-field{display:flex;flex-direction:column;gap:.5rem}.character-editor-label{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500}.character-editor-input,.character-editor-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem;transition:all .2s;width:100%}.character-editor-input:focus,.character-editor-select:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.character-editor-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.6;min-height:350px;padding:1rem;resize:vertical;transition:all .2s;width:100%}.character-editor-textarea:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.character-editor-textarea::placeholder{color:#999}.character-editor-error-message{background:#f8d7da;border-radius:.25rem;color:#721c24;font-size:.875rem;margin-left:auto;margin-right:auto;margin-top:1rem;max-width:900px;padding:.75rem 1rem;width:100%}.character-editor-footer{display:flex;justify-content:flex-start;margin:0 auto;max-width:900px;padding-top:1rem;width:100%}.character-editor-delete-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#721c24;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.character-editor-delete-btn:hover{background:#f8d7da;border-color:#f5c6cb}@media (max-width:768px){.character-editor-content{padding:1rem}.character-editor-header-center{align-items:flex-start;flex-direction:column;gap:.25rem}.character-sync-status{font-size:.75rem}.character-editor-header-actions{flex-direction:column;width:100%}.character-editor-enhance-btn,.character-editor-save-btn{width:100%}.character-editor-textarea{min-height:250px}}.chapter-editor{background:#fff;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.chapter-editor-content-wrapper{display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:2rem 1.5rem}.chapter-editor-content{background:#fff;border:none;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;height:100%;line-height:1.8;max-width:800px;outline:none;resize:none;width:100%}.chapter-editor-content::placeholder{color:#999;font-style:italic}@media (max-width:768px){.chapter-editor-content-wrapper{padding:1.5rem 1rem}.chapter-editor-content{font-size:.9375rem}}@media (max-width:480px){.chapter-editor-content-wrapper{padding:1rem .75rem}}.chapter-editor-page-container{background:#fff;display:flex;flex-direction:column;height:100vh}.chapter-editor-header-center{align-items:center;display:flex;flex-direction:column;gap:.25rem}.chapter-sync-status{align-items:center;display:flex;font-size:.75rem;font-weight:400;gap:.25rem;transition:color .2s ease}.chapter-sync-status.saved{color:#28a745}.chapter-sync-status.saving{color:#666}.chapter-sync-status.error{color:#721c24}.chapter-sync-status.saving:first-letter{animation:rotate 1s linear infinite;display:inline-block}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.chapter-back-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:.875rem;gap:.25rem;padding:.5rem .75rem;transition:all .2s ease}.chapter-back-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.chapter-editor-close-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;line-height:1;padding:.5rem;transition:all .2s ease;width:32px}.chapter-editor-close-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.chapter-editor-page-error,.chapter-editor-page-loading{align-items:center;color:#666;display:flex;flex:1 1;font-size:.875rem;justify-content:center}.chapter-editor-page-error{color:#721c24}.chapter-editor-page-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.chapter-editor-right-actions{align-items:center;display:flex;position:relative}.chapter-menu-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;line-height:1;padding:.5rem;transition:all .2s ease;width:32px}.chapter-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.chapter-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;min-width:140px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}.chapter-menu-item{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:background .2s ease;width:100%}.chapter-menu-item:hover{background:#f5f5f5}.chapter-menu-item:not(:last-child){border-bottom:1px solid #f0f0f0}.chapter-preview-container{background:#fff;color:#333;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;overflow-y:auto;padding:2rem}.chapter-preview-container h1{color:#333;font-size:2rem;font-weight:600;margin:1.5rem 0 1rem}.chapter-preview-container h2{color:#333;font-size:1.5rem;font-weight:600;margin:1.25rem 0 .875rem}.chapter-preview-container h3{color:#333;font-size:1.25rem;font-weight:600;margin:1rem 0 .75rem}.chapter-preview-container h4,.chapter-preview-container h5,.chapter-preview-container h6{color:#333;font-size:1rem;font-weight:600;margin:.875rem 0 .625rem}.chapter-preview-container p{margin:0 0 1rem}.chapter-preview-container ol,.chapter-preview-container ul{margin:0 0 1rem;padding-left:2rem}.chapter-preview-container li{margin:.25rem 0}.chapter-preview-container blockquote{background:#f9f9f9;border-left:4px solid #e0e0e0;color:#666;margin:1rem 0;padding:.5rem 1rem}.chapter-preview-container code{background:#f5f5f5;border-radius:.25rem;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.875em;padding:.125rem .375rem}.chapter-preview-container pre{background:#f5f5f5;border-radius:.375rem;margin:1rem 0;overflow-x:auto;padding:1rem}.chapter-preview-container pre code{background:none;padding:0}.chapter-preview-image{border-radius:.375rem;box-shadow:0 2px 8px #0000001a;display:block;height:auto;margin:1.5rem auto;max-width:100%}.chapter-preview-container a{color:#333;text-decoration:underline}.chapter-preview-container a:hover{color:#000}.chapter-preview-container hr{border:none;border-top:1px solid #e0e0e0;margin:2rem 0}@media (max-width:768px){.chapter-editor-header-center{gap:.125rem}.chapter-sync-status{font-size:.6875rem}.chapter-back-btn{font-size:.8125rem;padding:.5rem}.chapter-editor-close-btn,.chapter-menu-btn{font-size:1.125rem;height:28px;width:28px}.chapter-menu-dropdown{min-width:120px}.chapter-menu-item{font-size:.8125rem;padding:.625rem .75rem}.chapter-preview-container{padding:1rem}.chapter-preview-container h1{font-size:1.5rem}.chapter-preview-container h2{font-size:1.25rem}.chapter-preview-container h3{font-size:1.125rem}}.ai-writer-page-container{background:#fff;display:flex;flex-direction:column;height:100vh}.ai-writer-error,.ai-writer-loading{align-items:center;color:#666;display:flex;flex:1 1;font-size:.875rem;justify-content:center}.ai-writer-error{color:#721c24}.ai-writer-back-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:.875rem;gap:.25rem;padding:.5rem .75rem;transition:all .2s ease}.ai-writer-back-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.ai-writer-save-btn{background:#333;border:1px solid #333;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem .75rem;transition:all .2s ease}.ai-writer-save-btn:hover:not(:disabled){background:#1a1a1a;border-color:#1a1a1a}.ai-writer-save-btn:disabled{background:#e0e0e0;border-color:#e0e0e0;color:#999;cursor:not-allowed}.ai-writer-error-banner{align-items:center;background:#f8d7da;border-bottom:1px solid #f5c6cb;color:#721c24;display:flex;font-size:.875rem;justify-content:space-between;padding:.75rem 1rem}.ai-writer-error-close{align-items:center;background:none;border:none;color:#721c24;cursor:pointer;display:flex;font-size:1.125rem;height:20px;justify-content:center;line-height:1;opacity:.7;padding:0;transition:opacity .2s ease;width:20px}.ai-writer-error-close:hover{opacity:1}.ai-writer-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.ai-writer-mode-selector{background:#fafafa;border-bottom:1px solid #e0e0e0;display:flex;gap:.5rem;padding:1rem 1.5rem}.ai-writer-mode-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.ai-writer-mode-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.ai-writer-mode-btn.active{background:#333;border-color:#333;color:#fff}.ai-writer-full-content-area{display:flex;flex:1 1;flex-direction:column;overflow:hidden;position:relative}.ai-writer-config-fab{align-items:center;background:#333;border:none;border-radius:2rem;bottom:2rem;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.875rem 1.25rem;position:fixed;right:2rem;transition:all .2s ease;z-index:100}.ai-writer-config-fab:hover{background:#1a1a1a;box-shadow:0 6px 16px #0003;transform:translateY(-2px)}.ai-writer-config-drawer-overlay{animation:fadeIn .2s ease;background:#0000004d;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.ai-writer-config-drawer{animation:slideInRight .3s ease-out;background:#fff;bottom:0;box-shadow:-2px 0 8px #0000001a;display:flex;flex-direction:column;max-width:90vw;position:absolute;right:0;top:0;width:480px}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.ai-writer-drawer-header{align-items:center;background:#fafafa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.ai-writer-drawer-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600;margin:0}.ai-writer-drawer-close{background:none;border:none;color:#666;cursor:pointer;font-size:1.25rem;line-height:1;padding:.25rem .5rem;transition:color .2s ease}.ai-writer-drawer-close:hover{color:#333}.ai-writer-drawer-body{display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.ai-writer-drawer-section{display:flex;flex-direction:column;gap:.5rem}.ai-writer-collapsible-section{background:#fff;overflow:hidden;transition:all .2s ease}.ai-writer-collapsible-section:hover{border-color:#ccc}.ai-writer-section-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:.875rem 1rem;transition:background-color .2s ease;width:100%}.ai-writer-section-toggle:hover{background:#f9f9f9}.ai-writer-section-toggle-header{align-items:center;display:flex;flex:1 1;gap:.5rem}.ai-writer-section-toggle-text{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500;text-align:left}.ai-writer-metadata-info-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:.75rem;height:24px;justify-content:center;padding:0;transition:all .2s ease;width:24px}.ai-writer-metadata-info-btn:hover{background:#f5f5f5;border-color:#999;color:#333}.ai-writer-section-toggle-arrow{color:#666;flex-shrink:0;font-size:.75rem;transition:transform .2s ease}.ai-writer-section-content{animation:slideDown .3s ease-out;background:#fafafa;border-top:1px solid #f5f5f5;display:flex;flex-direction:column;gap:.75rem;padding:0 1rem 1rem}.ai-writer-section-label{color:#666;font-size:.8125rem;font-weight:500}.ai-writer-drawer-footer{background:#fafafa;border-top:1px solid #e0e0e0;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem}.ai-writer-panel-title{color:#333;font-size:1rem;font-weight:600;margin:0 0 1rem}.ai-writer-label{color:#666;display:block;font-size:.8125rem;font-weight:500;margin-bottom:.5rem}.ai-writer-label-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.ai-writer-label-row .ai-writer-label{margin-bottom:0}.ai-writer-select-all{background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;font-size:.75rem;padding:.25rem .5rem;transition:all .2s ease}.ai-writer-select-all:hover{background:#f5f5f5;color:#333}.ai-writer-textarea{border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;min-height:60px;padding:.5rem;resize:vertical;transition:border-color .2s ease;width:100%}.ai-writer-textarea:focus{border-color:#999;outline:none}.ai-writer-textarea::placeholder{color:#999;font-size:.8125rem}.ai-writer-input{border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem;transition:border-color .2s ease;width:100%}.ai-writer-input:focus{border-color:#999;outline:none}.ai-writer-input::placeholder{color:#999;font-size:.8125rem}.ai-writer-hint{color:#999;font-size:.6875rem;margin-top:.25rem}.ai-writer-chapters{border:1px solid #e0e0e0;border-radius:.25rem;max-height:200px;overflow-y:auto;padding:.5rem}.ai-writer-chapter-checkbox{align-items:center;border-radius:.25rem;cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:background .2s ease}.ai-writer-chapter-checkbox:hover{background:#f9f9f9}.ai-writer-chapter-checkbox input[type=checkbox]{accent-color:#333;cursor:pointer;height:16px;width:16px}.ai-writer-chapter-title{color:#333;flex:1 1;font-size:.8125rem}.ai-writer-info{background:#f9f9f9;border-radius:.25rem;color:#666;font-size:.75rem;margin-top:.5rem;padding:.5rem;text-align:center}.ai-writer-providers{display:flex;flex-direction:row;gap:.5rem}.ai-writer-provider-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;flex:1 1;font-size:.8125rem;padding:.5rem .75rem;transition:all .2s ease;white-space:nowrap}.ai-writer-provider-btn:hover{background:#f5f5f5;border-color:#ccc}.ai-writer-provider-btn.selected{background:#333;border-color:#333;color:#fff}.ai-writer-generate-btn{background:#333;border:1px solid #333;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1rem;transition:all .2s ease;width:100%}.ai-writer-generate-btn:hover:not(:disabled){background:#1a1a1a;border-color:#1a1a1a}.ai-writer-generate-btn:disabled{background:#e0e0e0;border-color:#e0e0e0;color:#999;cursor:not-allowed}.ai-writer-content-panel{display:flex;flex-direction:column;gap:1rem;overflow-y:auto;padding:1.5rem}.ai-writer-content-display{min-height:300px;white-space:pre-wrap}.ai-writer-content-display,.ai-writer-content-textarea{background:#fafafa;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:1rem;line-height:1.8;padding:1rem}.ai-writer-content-textarea{cursor:text;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:400px;resize:vertical;transition:border-color .2s ease;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;width:100%}.ai-writer-content-textarea:focus{border-color:#999;outline:none}.ai-writer-append-indicator{align-items:center;display:flex;flex-direction:column;gap:.5rem;margin-top:2rem;padding-top:1rem}.ai-writer-append-line{background:linear-gradient(90deg,#0000,#666,#0000);height:2px;width:100%}.ai-writer-append-text{color:#666;font-size:.75rem;font-style:italic;letter-spacing:.5px;text-transform:uppercase}.ai-writer-selection-info{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.875rem;padding:1rem}.ai-writer-selection-preview{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;font-size:.8125rem;font-style:italic;margin-top:.5rem;padding:.5rem}.ai-writer-preview-panel{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.ai-writer-preview-header{border-bottom:1px solid #e0e0e0;padding:1.5rem}.ai-writer-preview-header-top{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.5rem}.ai-writer-preview-header-top .ai-writer-panel-title{margin:0}.ai-writer-preview-controls{align-items:center;display:flex;gap:.75rem}.ai-writer-preview-layout-toggle{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:.25rem;display:flex;gap:0;padding:.25rem}.ai-writer-preview-layout-btn{background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;font-size:.8125rem;font-weight:500;padding:.375rem .75rem;transition:all .2s ease;white-space:nowrap}.ai-writer-preview-layout-btn:hover{color:#333}.ai-writer-preview-layout-btn.active{background:#fff;box-shadow:0 1px 2px #0000000d;color:#333}.ai-writer-preview-toggle{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:.25rem;display:flex;gap:0;padding:.25rem}.ai-writer-preview-toggle-btn{background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;font-size:.8125rem;font-weight:500;padding:.375rem .75rem;transition:all .2s ease;white-space:nowrap}.ai-writer-preview-toggle-btn:hover{color:#333}.ai-writer-preview-toggle-btn.active{background:#fff;box-shadow:0 1px 2px #0000000d;color:#333}.ai-writer-prompt-display{align-items:flex-start;background:#f9f9f9;border-left:2px solid #333;border-radius:.25rem;display:flex;gap:.5rem;margin-top:.5rem;padding:.5rem}.ai-writer-prompt-label{color:#666;flex-shrink:0;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ai-writer-prompt-text{color:#333;font-size:.875rem;font-style:italic;line-height:1.5}.ai-writer-preview-tabs{background:#fff;border-bottom:1px solid #e0e0e0;display:flex;gap:.5rem;padding:1rem 1.5rem 0}.ai-writer-preview-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:-1px;padding:.75rem 1rem;position:relative;transition:all .2s ease}.ai-writer-preview-tab:hover{background:#f9f9f9;color:#333}.ai-writer-preview-tab.active{border-bottom-color:#333;color:#333;font-weight:600}.ai-writer-preview-tab-panel{flex:1 1;overflow:auto;padding:1.5rem}.ai-writer-preview-column,.ai-writer-preview-content,.ai-writer-preview-single-column{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.ai-writer-preview-column{border-right:1px solid #e0e0e0}.ai-writer-preview-column:last-child{border-right:none}.ai-writer-preview-column-header{align-items:center;background:#f9f9f9;border-bottom:1px solid #e0e0e0;color:#666;display:flex;font-size:.875rem;font-weight:500;gap:1rem;justify-content:space-between;padding:.75rem 1.5rem}.ai-writer-preview-badge{background:#333;border-radius:.25rem;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .5rem;text-transform:uppercase}.ai-writer-preview-badge-new{background:#28a745}.ai-writer-preview-column-body{flex:1 1;overflow-y:auto;padding:1.5rem}.ai-writer-preview-text{animation:fadeIn .3s ease-in-out;color:#333;font-size:1rem;line-height:1.8;white-space:pre-wrap}.ai-writer-preview-text.ai-writer-preview-generated{color:#333}.ai-writer-preview-actions{align-items:center;border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.ai-writer-preview-actions-left{display:flex;gap:.5rem}.ai-writer-preview-actions-right{align-items:center;display:flex;gap:1rem}.ai-writer-regenerate-group{align-items:center;display:flex;gap:.5rem}.ai-writer-preview-btn,.ai-writer-regenerate-label{color:#666;font-size:.875rem}.ai-writer-preview-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;padding:.5rem 1rem;transition:all .2s ease}.ai-writer-preview-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.ai-writer-preview-btn:disabled{cursor:not-allowed;opacity:.5}.ai-writer-preview-btn-small{font-size:.8125rem;padding:.375rem .75rem}.ai-writer-preview-btn-primary{background:#333;border-color:#333;color:#fff}.ai-writer-preview-btn-primary:hover:not(:disabled){background:#1a1a1a;border-color:#1a1a1a}.ai-writer-preview-btn-secondary{color:#666}@media (max-width:768px){.ai-writer-mode-selector{flex-wrap:wrap;gap:.25rem;padding:.75rem 1rem}.ai-writer-mode-btn{font-size:.8125rem;padding:.5rem .75rem}.ai-writer-config-fab{bottom:1.5rem;font-size:.8125rem;padding:.75rem 1rem;right:1.5rem}.ai-writer-config-drawer{max-width:100%;width:100%}.ai-writer-drawer-footer{padding:1rem}.ai-writer-provider-btn{font-size:.75rem;padding:.5rem}.ai-writer-preview-header{padding:1rem}.ai-writer-preview-tabs{gap:.25rem;padding:.75rem 1rem 0}.ai-writer-preview-tab{align-items:flex-start;flex-direction:column;font-size:.8125rem;gap:.25rem;padding:.5rem .75rem}.ai-writer-preview-tab-panel{padding:1rem}.ai-writer-preview-header-top{align-items:flex-start;flex-direction:column;gap:.75rem}.ai-writer-preview-controls{flex-direction:column;gap:.5rem;width:100%}.ai-writer-preview-layout-toggle,.ai-writer-preview-toggle{width:100%}.ai-writer-preview-layout-btn,.ai-writer-preview-toggle-btn{flex:1 1}.ai-writer-preview-content{flex-direction:column}.ai-writer-preview-column{border-bottom:1px solid #e0e0e0;border-right:none}.ai-writer-preview-column:last-child{border-bottom:none}.ai-writer-preview-actions{align-items:stretch;flex-direction:column;gap:.75rem}.ai-writer-preview-actions-left,.ai-writer-preview-actions-right{justify-content:space-between;width:100%}.ai-writer-regenerate-group{flex-wrap:wrap}.ai-writer-regenerate-label{margin-bottom:.25rem;width:100%}}.ai-writer-fill-prompt-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;margin-top:.5rem;padding:.375rem .75rem;transition:all .2s}.ai-writer-fill-prompt-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.ai-writer-image-loading{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-top:1.5rem;padding:2rem;text-align:center}.ai-writer-image-loading p{color:#666;font-size:.875rem;margin-top:1rem}.ai-writer-loading-spinner{animation:ai-writer-spin .8s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:40px;margin:0 auto;width:40px}@keyframes ai-writer-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ai-writer-image-preview-section{background:#fff;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.ai-writer-generated-image{align-self:center;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;display:block;height:auto;max-width:600px;width:100%}.ai-writer-insert-image-btn{background:#28a745;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem;transition:all .2s;width:100%}.ai-writer-insert-image-btn:hover:not(:disabled){background:#218838}.ai-writer-insert-image-btn:disabled{background:#94d3a2;cursor:not-allowed}.ai-writer-metadata-section{border:1px solid #e0e0e0;flex-direction:column;max-height:200px;overflow-y:auto}.ai-writer-metadata-checkbox,.ai-writer-metadata-section{border-radius:.25rem;display:flex;gap:.5rem;padding:.5rem}.ai-writer-metadata-checkbox{align-items:center;cursor:pointer;transition:background .2s ease}.ai-writer-metadata-checkbox:hover{background:#f9f9f9}.ai-writer-metadata-checkbox input[type=checkbox]{accent-color:#333;cursor:pointer;flex-shrink:0;height:16px;width:16px}.ai-writer-metadata-field-label{color:#333;flex:1 1;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.8125rem}.ai-writer-chapter-mode-toggle{align-items:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;display:flex;gap:.5rem;margin-bottom:.5rem;padding:.75rem;transition:all .2s ease}.ai-writer-chapter-mode-toggle:hover{background:#f5f5f5;border-color:#ccc}.ai-writer-chapter-mode-toggle input[type=checkbox]{accent-color:#333;cursor:pointer;flex-shrink:0;height:16px;width:16px}.ai-writer-chapter-mode-toggle span{color:#666;flex:1 1;font-size:.8125rem}.ai-writer-chapter-overview-toggle{align-items:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;display:flex;gap:.5rem;padding:.75rem;transition:all .2s ease}.ai-writer-chapter-overview-toggle:hover{background:#f5f5f5;border-color:#ccc}.ai-writer-chapter-overview-toggle input[type=checkbox]{accent-color:#333;cursor:pointer;flex-shrink:0;height:16px;width:16px}.ai-writer-chapter-overview-toggle span{color:#666;flex:1 1;font-size:.8125rem}.ai-writer-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#0006;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:2000}.ai-writer-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:.375rem;box-shadow:0 8px 24px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:100%}.ai-writer-modal-header{align-items:center;background:#fafafa;border-bottom:1px solid #e0e0e0;border-radius:.375rem .375rem 0 0;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.ai-writer-modal-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600;margin:0}.ai-writer-modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:1.25rem;line-height:1;padding:.25rem .5rem;transition:color .2s ease}.ai-writer-modal-close:hover{color:#333}.ai-writer-modal-body{display:flex;flex:1 1;flex-direction:column;gap:1.5rem;overflow-y:auto;padding:1.5rem}.ai-writer-modal-field{display:flex;flex-direction:column;gap:.5rem}.ai-writer-modal-field-label{color:#666;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ai-writer-modal-field-value{background:#fafafa;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.875rem;line-height:1.6;padding:.75rem}.ai-writer-modal-field-list{display:flex;flex-direction:column;gap:.75rem}.ai-writer-modal-list-item{background:#fafafa;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.875rem;padding:.75rem}.ai-writer-modal-list-item strong{color:#333;font-weight:600}.ai-writer-modal-list-item p{color:#666;line-height:1.5;margin:.5rem 0 0}.ai-writer-modal-char-role{color:#666;font-size:.8125rem;font-weight:400}.ai-writer-modal-footer{background:#fafafa;border-radius:0 0 .375rem .375rem;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;padding:1rem 1.5rem}.ai-writer-modal-edit-link{align-items:center;background:#333;border-radius:.25rem;color:#fff;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1.25rem;text-decoration:none;transition:all .2s ease}.ai-writer-modal-edit-link:hover{background:#1a1a1a}@media (max-width:768px){.ai-writer-modal{margin:.5rem;max-height:90vh;max-width:100%}.ai-writer-modal-body,.ai-writer-modal-footer,.ai-writer-modal-header{padding:1rem}}.public-novel-reader-container{background:#fff;display:flex;flex-direction:column;height:100vh}.public-novel-reader-content{flex:1 1;margin:0 auto;max-width:900px;overflow-y:auto;padding:2rem 1.5rem;width:100%}.public-novel-reader-error,.public-novel-reader-loading{align-items:center;color:#666;display:flex;flex-direction:column;font-size:.875rem;gap:1rem;justify-content:center;padding:3rem}.public-novel-reader-back-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.public-novel-reader-back-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.public-novel-reader-back-button{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;margin-top:1rem;padding:.75rem 1.5rem;transition:background .2s ease}.public-novel-reader-back-button:hover{background:#000}.public-novel-reader-info{border-bottom:1px solid #e0e0e0;margin-bottom:3rem;padding-bottom:2rem}.public-novel-reader-title{color:#333;font-size:2.5rem;font-weight:600;line-height:1.2;margin:0 0 1rem}.public-novel-reader-author{color:#666;font-size:1.125rem;font-weight:400;margin:0 0 1rem}.public-novel-reader-genre{background:#f5f5f5;border-radius:.25rem;color:#666;display:inline-block;font-size:.875rem;font-weight:500;margin-bottom:1rem;padding:.5rem 1rem}.public-novel-reader-meta{align-items:center;color:#666;display:flex;font-size:.875rem;gap:.75rem;margin-top:1rem}.public-novel-reader-separator{color:#ccc}.public-novel-reader-description{margin-top:2rem}.public-novel-reader-description h3{color:#333;font-size:1.125rem;font-weight:600;margin:0 0 .75rem}.public-novel-reader-description p{color:#666;font-size:1rem;line-height:1.6;margin:0}.public-novel-reader-chapters{margin-top:2rem}.public-novel-reader-chapters-title{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.public-novel-reader-empty{color:#999;font-size:.875rem;padding:3rem;text-align:center}.public-novel-reader-chapters-list{display:flex;flex-direction:column;gap:.5rem}.public-novel-reader-chapter-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;display:flex;gap:1rem;padding:1rem 1.5rem;text-align:left;transition:all .2s ease}.public-novel-reader-chapter-item:hover{border-color:#ccc;box-shadow:0 2px 4px #0000000d;transform:translateX(4px)}.public-novel-reader-chapter-number{color:#666;flex-shrink:0;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;font-weight:500;white-space:nowrap}.public-novel-reader-chapter-title{color:#333;flex:1 1;font-size:1rem;font-weight:500;line-height:1.4}.public-novel-reader-chapter-arrow{color:#999;flex-shrink:0;font-size:1rem;transition:all .2s ease}.public-novel-reader-chapter-item:hover .public-novel-reader-chapter-arrow{color:#333;transform:translateX(4px)}@media (max-width:768px){.public-novel-reader-content{padding:1.5rem 1rem}.public-novel-reader-title{font-size:2rem}.public-novel-reader-author{font-size:1rem}.public-novel-reader-chapters-title{font-size:1.25rem}.public-novel-reader-chapter-item{padding:.875rem 1rem}}@media (max-width:480px){.public-novel-reader-content{padding:1rem .75rem}.public-novel-reader-title{font-size:1.5rem}.public-novel-reader-chapter-number{font-size:.6875rem}.public-novel-reader-chapter-title{font-size:.9375rem}}.public-novel-reader-image{border-radius:.375rem;box-shadow:0 2px 8px #0000001a;display:block;height:auto;margin:1rem auto;max-width:100%}.chapter-reader-container{background:#fff;display:flex;flex-direction:column;height:100vh}.chapter-reader-content{flex:1 1;overflow-y:auto;position:relative}.chapter-reader-error,.chapter-reader-loading{align-items:center;color:#666;display:flex;flex-direction:column;font-size:.875rem;gap:1rem;justify-content:center;padding:3rem}.chapter-reader-back-btn,.chapter-reader-toc-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.chapter-reader-back-btn:hover,.chapter-reader-toc-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.chapter-reader-header{align-items:center;display:flex;flex-direction:column;gap:.25rem}.chapter-reader-novel-title{color:#333;font-size:1rem;font-weight:600}.chapter-reader-author{color:#666;font-size:.75rem;font-weight:400}.chapter-reader-toc-overlay{align-items:flex-start;background:#00000080;bottom:0;display:flex;justify-content:flex-end;left:0;padding-top:60px;position:fixed;right:0;top:0;z-index:1000}.chapter-reader-toc{background:#fff;box-shadow:-2px 0 8px #0000001a;display:flex;flex-direction:column;height:calc(100vh - 60px);max-width:400px;overflow-y:auto;width:100%}.chapter-reader-toc-title{border-bottom:1px solid #e0e0e0;color:#333;flex-shrink:0;font-size:1.125rem;font-weight:600;margin:0;padding:1.5rem}.chapter-reader-toc-list{flex:1 1;overflow-y:auto;padding:1rem 0}.chapter-reader-toc-item{align-items:baseline;background:none;border:none;border-left:3px solid #0000;color:#666;cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1.5rem;text-align:left;transition:all .2s ease;width:100%}.chapter-reader-toc-item:hover{background:#f9f9f9;color:#333}.chapter-reader-toc-item.active{background:#fafafa;border-left-color:#333;color:#333;font-weight:500}.chapter-reader-toc-number{color:inherit;flex-shrink:0;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem}.chapter-reader-toc-text{color:inherit;font-size:.875rem;line-height:1.4}.chapter-reader-main{margin:0 auto;max-width:800px;padding:2rem 1.5rem}.chapter-reader-chapter{margin-bottom:3rem}.chapter-reader-chapter-title{color:#333;font-size:2rem;font-weight:600;line-height:1.3;margin:0 0 2rem}.chapter-reader-chapter-content{word-wrap:break-word;color:#333;font-size:1.125rem;line-height:1.8}.chapter-reader-chapter-content h1,.chapter-reader-chapter-content h2,.chapter-reader-chapter-content h3,.chapter-reader-chapter-content h4,.chapter-reader-chapter-content h5,.chapter-reader-chapter-content h6{color:#333;font-weight:600;line-height:1.3;margin:2rem 0 1rem}.chapter-reader-chapter-content h1{font-size:1.75rem}.chapter-reader-chapter-content h2{font-size:1.5rem}.chapter-reader-chapter-content h3{font-size:1.25rem}.chapter-reader-chapter-content h4{font-size:1.125rem}.chapter-reader-chapter-content h5,.chapter-reader-chapter-content h6{font-size:1rem}.chapter-reader-chapter-content p{margin:0 0 1.5rem}.chapter-reader-chapter-content ol,.chapter-reader-chapter-content ul{margin:0 0 1.5rem;padding-left:2rem}.chapter-reader-chapter-content li{margin:.5rem 0}.chapter-reader-chapter-content blockquote{background:#f9f9f9;border-left:4px solid #e0e0e0;color:#666;font-style:italic;margin:1.5rem 0;padding:1rem 1.5rem}.chapter-reader-chapter-content code{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.9em;padding:.125rem .375rem}.chapter-reader-chapter-content pre{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.25rem;margin:1.5rem 0;overflow-x:auto;padding:1rem}.chapter-reader-chapter-content pre code{background:none;border:none;font-size:.875rem;padding:0}.chapter-reader-chapter-content a{color:#333;text-decoration:underline;transition:color .2s ease}.chapter-reader-chapter-content a:hover{color:#666}.chapter-reader-chapter-content hr{border:none;border-top:1px solid #e0e0e0;margin:2rem 0}.chapter-reader-chapter-content table{border-collapse:collapse;margin:1.5rem 0;width:100%}.chapter-reader-chapter-content td,.chapter-reader-chapter-content th{border:1px solid #e0e0e0;padding:.75rem;text-align:left}.chapter-reader-chapter-content th{background:#f9f9f9;font-weight:600}.chapter-reader-chapter-content img{border-radius:.25rem;height:auto;margin:1.5rem 0;max-width:100%}.chapter-reader-navigation{align-items:center;border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:space-between;padding-top:2rem}.chapter-reader-nav-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.chapter-reader-nav-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.chapter-reader-nav-btn:disabled{cursor:not-allowed;opacity:.3}.chapter-reader-nav-position{color:#666;font-size:.875rem}.chapter-reader-back-button{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;margin-top:1rem;padding:.75rem 1.5rem;transition:background .2s ease}.chapter-reader-back-button:hover{background:#000}@media (max-width:768px){.chapter-reader-main{padding:1.5rem 1rem}.chapter-reader-chapter-title{font-size:1.5rem}.chapter-reader-chapter-content{font-size:1rem;line-height:1.7}.chapter-reader-chapter-content h1{font-size:1.5rem}.chapter-reader-chapter-content h2{font-size:1.25rem}.chapter-reader-chapter-content h3{font-size:1.125rem}.chapter-reader-chapter-content h4,.chapter-reader-chapter-content h5,.chapter-reader-chapter-content h6{font-size:1rem}.chapter-reader-toc{max-width:320px}.chapter-reader-navigation{flex-wrap:wrap;justify-content:center}.chapter-reader-nav-position{margin-bottom:.5rem;order:-1;text-align:center;width:100%}}@media (max-width:480px){.chapter-reader-main{padding:1rem .75rem}.chapter-reader-chapter-title{font-size:1.25rem}.chapter-reader-chapter-content{font-size:.9375rem}.chapter-reader-chapter-content h1{font-size:1.375rem}.chapter-reader-chapter-content h2{font-size:1.125rem}.chapter-reader-chapter-content h3,.chapter-reader-chapter-content h4,.chapter-reader-chapter-content h5,.chapter-reader-chapter-content h6{font-size:1rem}.chapter-reader-nav-btn{font-size:.8125rem;padding:.625rem 1rem}}.chapter-reader-image{border-radius:.375rem;box-shadow:0 2px 8px #0000001a;display:block;height:auto;margin:2rem auto;max-width:100%}@media (max-width:768px){.chapter-reader-image{margin:1.5rem auto}}.chinese-learn-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.chinese-learn-content{flex:1 1;margin:0 auto;max-width:900px;overflow-y:auto;padding:2rem 1.5rem;width:100%}.chinese-learn-section{margin-bottom:2rem}.chinese-learn-section-header{color:#666;display:block;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400;margin-bottom:1.5rem}.chinese-learn-buttons{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.chinese-learn-module-btn{align-items:flex-start;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;display:flex;flex-direction:column;gap:.75rem;padding:2rem 1.5rem;text-align:left;transition:all .2s ease;width:100%}.chinese-learn-module-btn:hover{border-color:#333;box-shadow:0 2px 4px #0000000d;transform:translateY(-2px)}.chinese-learn-module-icon{font-size:2.5rem;line-height:1}.chinese-learn-module-title{color:#333;font-size:1.25rem;font-weight:600;margin:0}.chinese-learn-module-description{color:#666;font-size:.875rem;line-height:1.6;margin:0}.chinese-learn-character-btn:hover,.chinese-learn-practice-btn:hover,.chinese-learn-reading-btn:hover,.chinese-learn-writing-copilot-btn:hover{background:#f9f9f9}@media (max-width:768px){.chinese-learn-content{padding:1.5rem 1rem}.chinese-learn-buttons{gap:1rem;grid-template-columns:1fr}.chinese-learn-module-btn{padding:1.5rem 1rem}.chinese-learn-module-icon{font-size:2rem}.chinese-learn-module-title{font-size:1.125rem}}@media (max-width:480px){.chinese-learn-content{padding:1rem .75rem}.chinese-learn-section-header{font-size:.8125rem}.chinese-learn-module-btn{padding:1.25rem .75rem}.chinese-learn-module-icon{font-size:1.75rem}.chinese-learn-module-title{font-size:1rem}.chinese-learn-module-description{font-size:.8125rem}}.history-selector-overlay{animation:fadeIn .2s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.history-selector-modal{animation:slideIn .3s ease;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;left:50%;max-height:85vh;max-width:600px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1000}.history-selector-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.history-selector-title{color:#333;font-size:1.25rem;font-weight:600;margin:0}.history-selector-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.75rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.history-selector-close:hover{background:#f5f5f5;color:#333}.history-selector-content{flex:1 1;overflow-y:auto;padding:1.5rem}.history-selector-section{margin-bottom:1.5rem}.history-selector-section:last-child{margin-bottom:0}.history-selector-label{color:#333;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.history-selector-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem;transition:all .2s ease;width:100%}.history-selector-dropdown:focus{border-color:#666;box-shadow:0 0 0 2px #3333331a;outline:none}.history-selector-input{border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem;transition:all .2s ease;width:100%}.history-selector-input:focus{border-color:#666;box-shadow:0 0 0 2px #3333331a;outline:none}.history-selector-input::placeholder{color:#999}.history-selector-lessons-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:.75rem}.history-selector-actions{display:flex;gap:.5rem}.history-selector-action-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.75rem;padding:.375rem .75rem;transition:all .2s ease}.history-selector-action-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.history-selector-lessons-list{background:#fafafa;border:1px solid #e0e0e0;border-radius:.25rem;max-height:300px;overflow-y:auto}.history-selector-lesson-item{align-items:flex-start;border-bottom:1px solid #e0e0e0;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:background .2s ease}.history-selector-lesson-item:last-child{border-bottom:none}.history-selector-lesson-item:hover{background:#f5f5f5}.history-selector-checkbox{cursor:pointer;flex-shrink:0;margin-top:.25rem}.history-selector-lesson-info{flex:1 1;min-width:0}.history-selector-lesson-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.25rem}.history-selector-lesson-name{color:#333;flex:1 1;font-size:.875rem;font-weight:500}.history-selector-lesson-objective{color:#666;font-size:.75rem;line-height:1.4;margin-bottom:.25rem}.history-selector-lesson-date{color:#999;font-size:.75rem}.history-selector-level-badge{border-radius:.25rem;flex-shrink:0;font-size:.625rem;font-weight:500;padding:.125rem .5rem;text-transform:uppercase;white-space:nowrap}.history-selector-level-badge.level-beginner{background:#d4edda;color:#155724}.history-selector-level-badge.level-intermediate{background:#fff3cd;color:#856404}.history-selector-level-badge.level-advanced{background:#f8d7da;color:#721c24}.history-selector-empty{color:#666;font-size:.875rem;padding:2rem;text-align:center}.history-selector-empty p{margin:0}.history-selector-image-option{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.25rem;padding:1rem}.history-selector-checkbox-label{align-items:center;cursor:pointer;display:flex;gap:.75rem;margin-bottom:.5rem}.history-selector-checkbox-input{cursor:pointer;flex-shrink:0;height:18px;width:18px}.history-selector-checkbox-text{color:#333;font-size:.875rem;font-weight:500;-webkit-user-select:none;user-select:none}.history-selector-image-hint{color:#666;font-size:.75rem;line-height:1.4;margin:0 0 0 2rem}.history-selector-footer{border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.history-selector-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.history-selector-btn-cancel{background:#fff;color:#666}.history-selector-btn-cancel:hover{background:#f5f5f5;border-color:#ccc;color:#333}.history-selector-btn-generate{background:#333;border-color:#333;color:#fff}.history-selector-btn-generate:hover{background:#000;border-color:#000}@media (max-width:768px){.history-selector-modal{max-height:90vh;width:95%}.history-selector-content,.history-selector-footer,.history-selector-header{padding:1rem}.history-selector-lessons-header{align-items:flex-start;flex-direction:column}.history-selector-actions{justify-content:flex-start;width:100%}}@media (max-width:480px){.history-selector-title{font-size:1.125rem}.history-selector-dropdown,.history-selector-input{font-size:.8125rem}.history-selector-btn{font-size:.8125rem;padding:.625rem 1rem}}.past-lessons-container{background:#fff;display:flex;flex-direction:column;height:100%}.past-lessons-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;gap:1rem;padding:1rem 1.5rem}.past-lessons-back-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;padding:.25rem .5rem;transition:all .2s ease}.past-lessons-back-btn:hover{background:#f5f5f5;color:#333}.past-lessons-title{color:#333;font-size:1.25rem;font-weight:600;margin:0}.past-lessons-search{border-bottom:1px solid #f0f0f0;padding:1rem 1.5rem}.past-lessons-search-input{border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem;transition:all .2s ease;width:100%}.past-lessons-search-input:focus{border-color:#666;box-shadow:0 0 0 2px #3333331a;outline:none}.past-lessons-search-input::placeholder{color:#999}.past-lessons-content{flex:1 1;overflow-y:auto;padding:1rem 1.5rem}.past-lessons-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 1.5rem}.past-lessons-spinner{animation:spin .8s linear infinite;border:4px solid #f0f0f0;border-radius:50%;border-top-color:#333;display:inline-block;height:40px;width:40px}.past-lessons-loading p{color:#666;font-size:.875rem;margin:0}.past-lessons-error{padding:2rem 1.5rem;text-align:center}.past-lessons-error p{color:#721c24;font-size:.875rem;margin:0 0 1rem}.past-lessons-retry-btn{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.past-lessons-retry-btn:hover{background:#000}.past-lessons-empty{color:#666;font-size:.875rem;padding:3rem 1.5rem;text-align:center}.past-lessons-empty p{margin:0}.past-lessons-list{display:flex;flex-direction:column;gap:.75rem}.past-lesson-card{align-items:flex-start;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.past-lesson-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a;transform:translateY(-1px)}.past-lesson-content{flex:1 1;min-width:0}.past-lesson-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.375rem}.past-lesson-name{color:#333;font-size:1rem;font-weight:500;margin-bottom:.375rem}.past-lesson-header .past-lesson-name{margin-bottom:0}.past-lesson-objective{color:#666;font-size:.875rem;line-height:1.5;margin-bottom:.5rem}.past-lesson-date{color:#999;font-size:.75rem}.past-lesson-actions{flex-shrink:0}.past-lesson-delete-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.past-lesson-delete-btn:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.past-lesson-delete-confirm{display:flex;gap:.5rem}.past-lesson-cancel-btn,.past-lesson-confirm-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-size:.75rem;padding:.375rem .75rem;transition:all .2s ease}.past-lesson-confirm-btn{background:#721c24;border-color:#721c24;color:#fff}.past-lesson-confirm-btn:hover{background:#5a161d;border-color:#5a161d}.past-lesson-cancel-btn{background:#fff;color:#666}.past-lesson-cancel-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.level-badge{border-radius:.25rem;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-transform:capitalize}.level-badge.level-beginner{background:#d4edda;color:#155724}.level-badge.level-intermediate{background:#fff3cd;color:#856404}.level-badge.level-advanced{background:#f8d7da;color:#721c24}@media (max-width:768px){.past-lessons-content,.past-lessons-header,.past-lessons-search{padding-left:1rem;padding-right:1rem}.past-lesson-card{padding:.75rem}.past-lesson-name{font-size:.9375rem}.past-lesson-objective{font-size:.8125rem}}@media (max-width:480px){.past-lessons-title{font-size:1.125rem}.past-lessons-content,.past-lessons-search{padding:.75rem}.past-lesson-card{gap:.75rem}}.chinese-reading-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.chinese-reading-menu-container{position:relative}.chinese-reading-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 4px 12px #0000001a;margin-top:.5rem;min-width:220px;overflow:hidden;position:absolute;right:0;top:100%;z-index:200}.chinese-reading-menu-item{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:background .2s ease;width:100%}.chinese-reading-menu-item:hover{background:#f5f5f5}.chinese-reading-menu-item:not(:last-child){border-bottom:1px solid #f0f0f0}.chinese-reading-main-content{flex:1 1;overflow-y:auto;padding-bottom:60px;position:relative}.chinese-reading-chapter{margin:0 auto;max-width:800px;padding:2rem 1.5rem}.chinese-reading-lesson-title{color:#333;font-size:2rem;font-weight:600;line-height:1.3;margin:0 0 .75rem}.chinese-reading-lesson-objective{background:#f9f9f9;border-left:3px solid #333;border-radius:.25rem;color:#666;font-size:.9375rem;line-height:1.6;margin-bottom:2rem;padding:.75rem 1rem}.chinese-reading-back-btn{font-size:1.25rem!important}.chinese-reading-lesson-image{border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 4px #0000000d;height:auto;margin-bottom:2rem;max-width:600px;width:100%}.chinese-reading-text-content{word-wrap:break-word;color:#333;font-size:1.125rem;line-height:1.8;margin-bottom:2rem}.chinese-reading-text-content:has(.show-pinyin){line-height:2.5}.chinese-reading-word{border-bottom:1px dotted #ccc;border-radius:.125rem;cursor:pointer;display:inline-block;padding:.125rem .25rem;position:relative;transition:all .2s ease}.chinese-reading-word:hover{background:#f5f5f5;border-bottom-color:#666}.chinese-reading-word.show-pinyin:before{bottom:100%;color:#999;content:attr(data-pinyin);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.65rem;font-weight:400;left:50%;margin-bottom:.25rem;opacity:.85;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap}.chinese-reading-text-plain{color:#333}.chinese-reading-instructions{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;font-size:.875rem;padding:.75rem 1rem;text-align:center}.chinese-reading-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 1.5rem}.chinese-reading-spinner-large{animation:chinese-reading-spin .8s linear infinite;border:4px solid #f0f0f0;border-radius:50%;border-top-color:#333;display:inline-block;height:40px;width:40px}@keyframes chinese-reading-spin{to{transform:rotate(1turn)}}.chinese-reading-loading-text{color:#666;font-size:.875rem;margin:0}.chinese-reading-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;margin:2rem auto;max-width:800px;padding:1rem 1.5rem}.chinese-reading-error p{font-size:.875rem;margin:0}.chinese-reading-welcome{margin:0 auto;max-width:600px;padding:3rem 1.5rem;text-align:center}.chinese-reading-welcome h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.chinese-reading-welcome>p{color:#666;font-size:1rem;line-height:1.6;margin:0 0 2rem}.chinese-reading-features{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.chinese-reading-feature{align-items:center;background:#fafafa;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;display:flex;font-size:.875rem;gap:.75rem;padding:1rem}.chinese-reading-feature-icon{font-size:1.5rem}.chinese-reading-vocabulary-section{margin:0 auto;max-width:1000px;padding:2rem 1.5rem}.chinese-reading-vocab-section-header{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.chinese-reading-vocab-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.chinese-reading-vocab-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;padding:1rem .75rem;text-align:center;transition:all .2s ease}.chinese-reading-vocab-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a;transform:translateY(-1px)}.chinese-reading-vocab-item.active{background:#f5f5f5;border-color:#333}.chinese-reading-vocab-char{color:#333;font-size:1.5rem;font-weight:500}.chinese-reading-vocab-pin{color:#666;font-size:.75rem}.chinese-reading-bottom-bar{background:#fff;border-top:1px solid #e0e0e0;bottom:0;box-shadow:0 -2px 4px #0000000d;display:flex;justify-content:center;left:0;position:fixed;right:0;z-index:50}.chinese-reading-tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;max-width:250px;padding:1rem;transition:all .2s ease}.chinese-reading-tab-button:hover{background:#f9f9f9;color:#333}.chinese-reading-tab-button.active{border-bottom-color:#333;color:#333;font-weight:600}.chinese-reading-popup-overlay{animation:fadeIn .2s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.chinese-reading-word-popup{animation:popupSlideIn .3s ease;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 4px 12px #00000026;left:50%;max-width:400px;min-width:300px;padding:2rem;position:fixed;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:1000}.chinese-reading-popup-close{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem .5rem;position:absolute;right:.5rem;top:.5rem;transition:color .2s ease}.chinese-reading-popup-close:hover{color:#333}.chinese-reading-word-character{color:#333;font-size:3.5rem;font-weight:500;margin-bottom:1rem}.chinese-reading-word-pinyin{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.5rem;margin-bottom:.75rem}.chinese-reading-word-english{color:#333;font-size:1.125rem;font-weight:500;line-height:1.5;margin-bottom:1.5rem}.chinese-reading-word-actions{border-top:1px solid #f0f0f0;margin-top:1.5rem;padding-top:1.5rem}.chinese-reading-word-action-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1rem;transition:all .2s ease;width:100%}.chinese-reading-word-action-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.chinese-reading-word-action-btn:disabled{cursor:not-allowed;opacity:.5}.chinese-reading-word-create-note-btn{border-color:#333;color:#333}.chinese-reading-word-create-note-btn:hover:not(:disabled){background:#333;color:#fff}.chinese-reading-word-view-note-btn{border-color:#666;color:#666}.chinese-reading-word-view-note-btn:hover:not(:disabled){background:#666;color:#fff}@media (max-width:768px){.chinese-reading-chapter{padding:1.5rem 1rem}.chinese-reading-lesson-title{font-size:1.5rem}.chinese-reading-text-content{font-size:1rem;line-height:1.7}.chinese-reading-vocabulary-section{padding:1.5rem 1rem}.chinese-reading-vocab-section-header{font-size:1.25rem}.chinese-reading-vocab-grid{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.chinese-reading-word-character{font-size:2.5rem}.chinese-reading-word-popup{max-width:90vw;min-width:280px;padding:1.5rem}.chinese-reading-welcome{padding:2rem 1rem}}@media (max-width:480px){.chinese-reading-chapter{padding:1rem .75rem}.chinese-reading-lesson-title{font-size:1.25rem}.chinese-reading-text-content{font-size:.9375rem;line-height:1.6}.chinese-reading-vocabulary-section{padding:1rem .75rem}.chinese-reading-vocab-section-header{font-size:1.125rem}.chinese-reading-vocab-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.chinese-reading-vocab-item{padding:.75rem .5rem}.chinese-reading-vocab-char{font-size:1.25rem}.chinese-reading-word-character{font-size:2.5rem}.chinese-reading-word-pinyin{font-size:1.25rem}.chinese-reading-word-english{font-size:1rem}.chinese-reading-tab-button{font-size:.8125rem;padding:.875rem .5rem}.chinese-reading-menu-dropdown{min-width:180px}}.chinese-reading-image-modal-overlay{animation:fadeIn .2s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.chinese-reading-image-modal{animation:popupSlideIn .3s ease;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 4px 12px #00000026;left:50%;max-width:600px;min-width:500px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1000}.chinese-reading-image-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.chinese-reading-image-modal-title{color:#333;font-size:1.25rem;font-weight:600;margin:0}.chinese-reading-image-modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem .5rem;transition:color .2s ease}.chinese-reading-image-modal-close:hover:not(:disabled){color:#333}.chinese-reading-image-modal-close:disabled{cursor:not-allowed;opacity:.5}.chinese-reading-image-modal-content{padding:1.5rem}.chinese-reading-image-modal-label{color:#333;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.chinese-reading-image-modal-textarea{border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem;resize:vertical;transition:border-color .2s ease;width:100%}.chinese-reading-image-modal-textarea:focus{border-color:#333;outline:none}.chinese-reading-image-modal-textarea:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.chinese-reading-image-modal-hint{color:#666;font-size:.75rem;line-height:1.4;margin:.5rem 0 0}.chinese-reading-image-modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.chinese-reading-image-modal-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.chinese-reading-image-modal-btn:disabled{cursor:not-allowed;opacity:.5}.chinese-reading-image-modal-btn-cancel{background:#fff;color:#666}.chinese-reading-image-modal-btn-cancel:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.chinese-reading-image-modal-btn-generate{background:#333;border-color:#333;color:#fff}.chinese-reading-image-modal-btn-generate:hover:not(:disabled){background:#1a1a1a;border-color:#1a1a1a}.chinese-reading-news-info{background:#e8f4f8;border-left:3px solid #06c;border-radius:.25rem;margin-bottom:1.5rem;padding:1rem}.chinese-reading-news-info p{color:#333;font-size:.875rem;line-height:1.5;margin:0}.chinese-reading-news-past-lessons{border-top:1px solid #e0e0e0;margin-top:1.5rem;padding-top:1.5rem}.chinese-reading-news-lessons-list{border:1px solid #e0e0e0;border-radius:.25rem;margin-top:.75rem;max-height:200px;overflow-y:auto;padding:.5rem}.chinese-reading-news-lesson-item{align-items:center;border-radius:.25rem;color:#333;cursor:pointer;display:flex;font-size:.875rem;padding:.5rem;transition:background .2s ease}.chinese-reading-news-lesson-item:hover{background:#f5f5f5}@media (max-width:768px){.chinese-reading-image-modal{max-width:90vw;min-width:90vw}.chinese-reading-image-modal-content,.chinese-reading-image-modal-footer,.chinese-reading-image-modal-header{padding:1rem}}.chinese-practice-translation-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.chinese-practice-translation-back-btn{font-size:1.25rem!important}.chinese-practice-translation-menu-container{position:relative}.chinese-practice-translation-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 4px 12px #0000001a;margin-top:.5rem;min-width:220px;overflow:hidden;position:absolute;right:0;top:100%;z-index:200}.chinese-practice-translation-menu-item{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:background .2s ease;width:100%}.chinese-practice-translation-menu-item:hover{background:#f5f5f5}.chinese-practice-translation-menu-item:not(:last-child){border-bottom:1px solid #f0f0f0}.chinese-practice-translation-content{flex:1 1;margin:0 auto;max-width:900px;overflow-y:auto;padding:2rem 1.5rem;width:100%}.chinese-practice-translation-section{margin-bottom:2rem}.chinese-practice-translation-section-header{color:#666;display:block;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400;margin-bottom:.75rem}.chinese-practice-translation-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;max-width:300px;padding:.5rem .75rem;transition:all .2s ease;width:100%}.chinese-practice-translation-select:hover:not(:disabled){background:#f9f9f9;border-color:#ccc}.chinese-practice-translation-select:focus{border-color:#333;outline:none}.chinese-practice-translation-select:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.chinese-practice-translation-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 1.5rem}.chinese-practice-translation-english-text{word-wrap:break-word;background:#f9f9f9;white-space:pre-wrap}.chinese-practice-translation-english-text,.chinese-practice-translation-textarea{border:1px solid #e0e0e0;border-radius:.375rem;color:#333;font-size:1rem;line-height:1.6;padding:1rem 1.5rem}.chinese-practice-translation-textarea{background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;resize:vertical;transition:border-color .2s ease;width:100%}.chinese-practice-translation-textarea:focus{border-color:#333;outline:none}.chinese-practice-translation-textarea:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.chinese-practice-translation-textarea::placeholder{color:#999}.chinese-practice-translation-actions{display:flex;gap:.75rem;margin-bottom:2rem}.chinese-practice-translation-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.chinese-practice-translation-btn:disabled{cursor:not-allowed;opacity:.5}.chinese-practice-translation-btn-submit{background:#333;border-color:#333;color:#fff}.chinese-practice-translation-btn-submit:hover:not(:disabled){background:#1a1a1a;border-color:#1a1a1a}.chinese-practice-translation-btn-reset{background:#fff;color:#666}.chinese-practice-translation-btn-reset:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.chinese-practice-translation-btn-generate{background:#fff;color:#666;white-space:nowrap}.chinese-practice-translation-btn-generate:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.chinese-practice-translation-btn-new{background:#fff;color:#666}.chinese-practice-translation-btn-new:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.chinese-practice-translation-feedback{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-top:2rem;padding:1.5rem}.chinese-practice-translation-feedback-title{color:#333;font-size:1rem;font-weight:600;margin:0 0 1rem}.chinese-practice-translation-overall-feedback{border-bottom:1px solid #e0e0e0;margin-bottom:2rem;padding-bottom:2rem}.chinese-practice-translation-feedback-text{color:#333;font-size:.9375rem;line-height:1.6;margin:0}.chinese-practice-translation-sentences{display:flex;flex-direction:column;gap:1.5rem}.chinese-practice-translation-sentence-item{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;display:flex;flex-direction:column;gap:.75rem;padding:1rem}.chinese-practice-translation-sentence-section{display:flex;flex-direction:column;gap:.25rem}.chinese-practice-translation-sentence-label{color:#666;font-size:.75rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.chinese-practice-translation-sentence-text{word-wrap:break-word;color:#333;font-size:1rem;line-height:1.6;white-space:pre-wrap}.chinese-practice-translation-sentence-pinyin{color:#666;font-size:.9rem;font-style:italic;line-height:1.4;margin-top:.25rem}.chinese-practice-translation-correct{color:#155724;font-weight:500}.chinese-practice-translation-feedback-detail{background:#f9f9f9;border-left:3px solid #333;border-radius:.125rem;padding:.75rem}.chinese-practice-translation-welcome{margin:0 auto;max-width:600px;padding:3rem 1.5rem;text-align:center}.chinese-practice-translation-welcome h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.chinese-practice-translation-welcome>p{color:#666;font-size:1rem;line-height:1.6;margin:0}@media (max-width:768px){.chinese-practice-translation-content{padding:1.5rem 1rem}.chinese-practice-translation-section{margin-bottom:1.5rem}.chinese-practice-translation-english-text,.chinese-practice-translation-textarea{font-size:.9375rem;padding:.75rem 1rem}.chinese-practice-translation-actions{flex-direction:column}.chinese-practice-translation-btn{width:100%}.chinese-practice-translation-feedback{padding:1rem}.chinese-practice-translation-sentence-item{padding:.75rem}}@media (max-width:480px){.chinese-practice-translation-content{padding:1rem .75rem}.chinese-practice-translation-section-header{font-size:.8125rem}.chinese-practice-translation-english-text,.chinese-practice-translation-textarea{font-size:.875rem;padding:.75rem}.chinese-practice-translation-btn{font-size:.8125rem;padding:.75rem 1rem}.chinese-practice-translation-feedback-title{font-size:.9375rem}.chinese-practice-translation-feedback-text,.chinese-practice-translation-sentence-text{font-size:.875rem}}.character-writing-canvas-wrapper{-webkit-touch-callout:none;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;display:block;height:300px;margin:0 auto;position:relative;touch-action:none;-webkit-user-select:none;user-select:none;width:300px}.character-writing-canvas{-webkit-touch-callout:none;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.character-writing-canvas,.character-writing-canvas-template{display:block;height:100%;left:0;position:absolute;top:0;width:100%}.character-writing-canvas-template{pointer-events:none;z-index:1}@media (max-width:768px){.character-writing-canvas-wrapper{height:250px;width:250px}}@media (max-width:480px){.character-writing-canvas-wrapper{height:200px;width:200px}}.chinese-character-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.chinese-character-content{flex:1 1;margin:0 auto;max-width:1200px;overflow-y:auto;padding:2rem 1.5rem;width:100%}.chinese-character-section{margin-bottom:2rem}.chinese-character-section-header{color:#666;display:block;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400;margin-bottom:1.5rem}.chinese-character-generator{align-items:center;display:flex;flex-direction:column;gap:1.5rem}.chinese-character-generate-btn{background:#333;border:1px solid #333;border-radius:.25rem;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.chinese-character-generate-btn:hover:not(:disabled){background:#000;border-color:#000}.chinese-character-generate-btn:disabled{cursor:not-allowed;opacity:.5}.chinese-character-display{align-items:center;background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;flex-direction:column;gap:1rem;min-width:300px;padding:1.5rem}.chinese-character-char{color:#333;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-size:4rem;line-height:1}.chinese-character-info{align-items:center;display:flex;flex-direction:column;gap:.5rem}.chinese-character-pinyin{color:#666;font-size:1.25rem;font-weight:500}.chinese-character-meaning{color:#666;font-size:.875rem}.chinese-character-difficulty{background:#f0f0f0;border-radius:.25rem;color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;padding:.25rem .5rem}.chinese-character-drawing-section{margin-bottom:2rem}.chinese-character-drawing-area{align-items:center;display:flex;flex-direction:column;gap:1.5rem}.chinese-character-canvas-wrapper{-webkit-touch-callout:none;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;height:300px;position:relative;touch-action:none;-webkit-user-select:none;user-select:none;width:300px}.chinese-character-canvas{-webkit-touch-callout:none;cursor:crosshair;height:100%;left:0;position:absolute;top:0;touch-action:none;-webkit-user-select:none;user-select:none;width:100%}.chinese-character-template{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.chinese-character-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.chinese-character-control-group{align-items:center;display:flex;gap:.75rem}.chinese-character-control-label{color:#666;font-size:.875rem;font-weight:500}.chinese-character-slider{-webkit-appearance:none;background:#f0f0f0;border-radius:2px;height:4px;outline:none;width:120px}.chinese-character-slider::-webkit-slider-thumb{appearance:none;background:#333;border-radius:50%;cursor:pointer;height:16px;width:16px}.chinese-character-slider::-moz-range-thumb{background:#333;border:none;border-radius:50%;cursor:pointer;height:16px;width:16px}.chinese-character-slider-value{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;min-width:40px}.chinese-character-control-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.chinese-character-control-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.chinese-character-control-btn:disabled{cursor:not-allowed;opacity:.5}.chinese-character-submit-btn{background:#333;border-color:#333;color:#fff}.chinese-character-submit-btn:hover:not(:disabled){background:#000;border-color:#000}.chinese-character-result{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;max-width:600px;padding:1.5rem;width:100%}.chinese-character-result.correct{background:#d4edda;border-color:#28a745}.chinese-character-result.incorrect{background:#f8d7da;border-color:#dc3545}.chinese-character-result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.chinese-character-result-status{color:#333;font-size:1rem;font-weight:600}.chinese-character-result-score{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem}.chinese-character-result-feedback{color:#333;font-size:.875rem;line-height:1.6;margin-bottom:1rem}.chinese-character-result-suggestions{border-top:1px solid #e0e0e0;color:#333;font-size:.875rem;margin-top:1rem;padding-top:1rem}.chinese-character-result-suggestions ul{margin:.5rem 0 0;padding-left:1.5rem}.chinese-character-result-suggestions li{line-height:1.5;margin-bottom:.5rem}.chinese-character-menu-container{position:relative}.chinese-character-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 4px #0000001a;margin-top:.5rem;min-width:180px;position:absolute;right:0;top:100%;z-index:1000}.chinese-character-menu-item{background:none;border:none;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.chinese-character-menu-item:hover{background:#f9f9f9;color:#333}.chinese-character-history-section{margin-bottom:2rem}.chinese-character-history-controls{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.chinese-character-filter-input{border:1px solid #e0e0e0;border-radius:.25rem;color:#333;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;max-width:300px;padding:.5rem .75rem}.chinese-character-filter-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.chinese-character-history-list{display:flex;flex-direction:column;gap:.75rem}.chinese-character-history-empty{color:#666;font-size:.875rem;padding:2rem;text-align:center}.chinese-character-history-item{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;transition:all .2s ease}.chinese-character-history-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.chinese-character-history-item.correct{border-left:3px solid #28a745}.chinese-character-history-item.incorrect{border-left:3px solid #dc3545}.chinese-character-history-char{color:#333;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-size:1.5rem;margin-bottom:.5rem}.chinese-character-history-details{align-items:center;display:flex;font-size:.875rem;gap:1rem;margin-bottom:.5rem}.chinese-character-history-score{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-weight:500}.chinese-character-history-status{color:#666;font-size:1rem}.chinese-character-history-date{color:#666;font-size:.8125rem}.chinese-character-history-feedback{color:#666;font-size:.875rem;line-height:1.5;margin-top:.5rem}@media (max-width:768px){.chinese-character-content{padding:1.5rem 1rem}.chinese-character-display{min-width:250px}.chinese-character-char{font-size:3rem}.chinese-character-canvas-wrapper{height:250px;width:250px}.chinese-character-controls{align-items:stretch;flex-direction:column}.chinese-character-control-group{justify-content:space-between;width:100%}.chinese-character-control-btn{width:100%}}@media (max-width:480px){.chinese-character-content{padding:1rem .75rem}.chinese-character-section-header{font-size:.8125rem}.chinese-character-display{min-width:200px}.chinese-character-char{font-size:2.5rem}.chinese-character-canvas-wrapper{height:200px;width:200px}}.chinese-writing-copilot-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.chinese-writing-copilot-back-btn{font-size:1.25rem!important}.chinese-writing-copilot-menu-container{position:relative}.chinese-writing-copilot-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 4px 12px #0000001a;margin-top:.5rem;min-width:220px;overflow:hidden;position:absolute;right:0;top:100%;z-index:200}.chinese-writing-copilot-menu-item{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:background .2s ease;width:100%}.chinese-writing-copilot-menu-item:hover{background:#f5f5f5}.chinese-writing-copilot-menu-item:not(:last-child){border-bottom:1px solid #f0f0f0}.chinese-writing-copilot-english-text{color:#333;font-size:.875rem;line-height:1.6}.chinese-writing-copilot-actions{display:flex;gap:.75rem;margin-top:1rem}.chinese-writing-copilot-content{flex:1 1;margin:0 auto;max-width:900px;overflow-y:auto;padding:2rem 1.5rem;width:100%}.chinese-writing-copilot-section{margin-bottom:2rem}.chinese-writing-copilot-section-header{color:#666;display:block;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400;margin-bottom:.75rem}.chinese-writing-copilot-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;max-width:300px;padding:.5rem .75rem;transition:all .2s ease;width:100%}.chinese-writing-copilot-select:hover:not(:disabled){background:#f9f9f9;border-color:#ccc}.chinese-writing-copilot-select:focus{border-color:#333;outline:none}.chinese-writing-copilot-select:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.chinese-writing-copilot-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;max-width:300px;padding:.5rem .75rem;transition:all .2s ease;width:100%}.chinese-writing-copilot-input:hover:not(:disabled){background:#f9f9f9;border-color:#ccc}.chinese-writing-copilot-input:focus{border-color:#333;outline:none}.chinese-writing-copilot-input:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.chinese-writing-copilot-input::placeholder{color:#999}.chinese-writing-copilot-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.6;padding:1rem 1.5rem;resize:vertical;transition:border-color .2s ease;width:100%}.chinese-writing-copilot-textarea:focus{border-color:#333;outline:none}.chinese-writing-copilot-textarea:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.chinese-writing-copilot-textarea::placeholder{color:#999}.chinese-writing-copilot-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.chinese-writing-copilot-btn:disabled{cursor:not-allowed;opacity:.5}.chinese-writing-copilot-btn-generate{background:#333;border-color:#333;color:#fff}.chinese-writing-copilot-btn-generate:hover:not(:disabled){background:#1a1a1a;border-color:#1a1a1a}.chinese-writing-copilot-btn-reset{background:#fff;color:#666}.chinese-writing-copilot-btn-reset:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.chinese-writing-copilot-btn-translate{background:#fff;color:#666}.chinese-writing-copilot-btn-translate:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.chinese-writing-copilot-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 1.5rem}.chinese-spinner-large{animation:chinese-writing-copilot-spin .8s linear infinite;border:4px solid #f0f0f0;border-radius:50%;border-top-color:#333;display:inline-block;height:40px;width:40px}@keyframes chinese-writing-copilot-spin{to{transform:rotate(1turn)}}.chinese-loading-text{color:#666;font-size:.875rem;margin:0}.chinese-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:.375rem;margin-bottom:1.5rem;padding:1rem 1.5rem}.chinese-error p{color:#721c24;font-size:.875rem;line-height:1.5;margin:0}.chinese-writing-copilot-translation-result{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-top:.75rem;padding:1rem 1.5rem}.chinese-writing-copilot-translation-item{margin-bottom:1rem}.chinese-writing-copilot-translation-item:last-child{margin-bottom:0}.chinese-writing-copilot-translation-label{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;font-weight:500;margin-bottom:.5rem}.chinese-writing-copilot-translation-value{color:#333;font-size:.875rem;line-height:1.6}@media (max-width:768px){.chinese-writing-copilot-content{padding:1.5rem 1rem}.chinese-writing-copilot-section{margin-bottom:1.5rem}.chinese-writing-copilot-textarea{font-size:.9375rem;padding:.75rem 1rem}.chinese-writing-copilot-btn{width:100%}}@media (max-width:480px){.chinese-writing-copilot-content{padding:1rem .75rem}.chinese-writing-copilot-section-header{font-size:.8125rem}.chinese-writing-copilot-textarea{font-size:.875rem;padding:.75rem}.chinese-writing-copilot-btn{font-size:.8125rem;padding:.75rem 1rem}}.french-learn-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.french-menu-container{position:relative}.french-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 4px 12px #0000001a;margin-top:.5rem;min-width:220px;overflow:hidden;position:absolute;right:0;top:100%;z-index:200}.french-menu-item{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:background .2s ease;width:100%}.french-menu-item:hover:not(:disabled){background:#f5f5f5}.french-menu-item:disabled{color:#999;cursor:not-allowed;opacity:.5}.french-menu-item:not(:last-child){border-bottom:1px solid #f0f0f0}.french-main-content{flex:1 1;overflow-y:auto;padding-bottom:60px;position:relative}.french-chapter{margin:0 auto;max-width:800px;padding:2rem 1.5rem}.french-lesson-title{color:#333;font-size:2rem;font-weight:600;line-height:1.3;margin:0 0 2rem}.french-text-content{word-wrap:break-word;color:#333;font-size:1.125rem;line-height:1.8;margin-bottom:2rem}.french-word{border-bottom:1px dotted #ccc;border-radius:.125rem;cursor:pointer;display:inline-block;padding:.125rem .25rem;position:relative;transition:all .2s ease}.french-word:hover{background:#f5f5f5;border-bottom-color:#666}.french-word-clickable{border-bottom:1px dotted #ccc;border-radius:.125rem;color:#333;cursor:pointer;display:inline;padding:.125rem .25rem;transition:all .2s ease}.french-word-clickable:hover{background:#f5f5f5;border-bottom-color:#666}.french-text-plain{color:#333}.french-instructions{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;font-size:.875rem;padding:.75rem 1rem;text-align:center}.french-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 1.5rem}.french-spinner-large{animation:french-spin .8s linear infinite;border:4px solid #f0f0f0;border-radius:50%;border-top-color:#333;display:inline-block;height:40px;width:40px}@keyframes french-spin{to{transform:rotate(1turn)}}.french-loading-text{color:#666;font-size:.875rem;margin:0}.french-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;margin:2rem auto;max-width:800px;padding:1rem 1.5rem}.french-error p{font-size:.875rem;margin:0}.french-welcome{margin:0 auto;max-width:600px;padding:3rem 1.5rem;text-align:center}.french-welcome h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.french-welcome>p{color:#666;font-size:1rem;line-height:1.6;margin:0 0 2rem}.french-features{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.french-feature{align-items:center;background:#fafafa;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;display:flex;font-size:.875rem;gap:.75rem;padding:1rem}.french-feature-icon{font-size:1.5rem}.french-grammar-section{margin:0 auto;max-width:1000px;padding:2rem 1.5rem}.french-grammar-section-header{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.french-no-grammar{color:#666;font-size:.875rem;padding:2rem;text-align:center}.french-grammar-list{display:flex;flex-direction:column;gap:.75rem}.french-grammar-card{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;overflow:hidden;transition:all .2s ease}.french-grammar-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.french-grammar-header{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.french-grammar-header:hover{background:#f5f5f5}.french-grammar-title{color:#333;font-size:.875rem;font-weight:600}.french-grammar-arrow{color:#666;font-size:.75rem;transition:transform .2s ease}.french-grammar-content{border-top:1px solid #e0e0e0;padding:0 1rem 1rem}.french-grammar-explanation{color:#333;font-size:.875rem;line-height:1.6;margin:.75rem 0}.french-grammar-examples{color:#333;font-size:.875rem;margin-top:.75rem}.french-grammar-examples strong{color:#666;display:block;font-weight:600;margin-bottom:.5rem}.french-grammar-examples ul{list-style-type:disc;margin:0;padding-left:1.5rem}.french-grammar-examples li{line-height:1.5;margin-bottom:.25rem}.french-vocabulary-section{margin:0 auto;max-width:1000px;padding:2rem 1.5rem}.french-vocab-section-header{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.french-vocab-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.french-no-vocab{color:#666;font-size:.875rem;padding:2rem;text-align:center}.french-vocab-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;padding:1rem .75rem;text-align:center;transition:all .2s ease}.french-vocab-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a;transform:translateY(-1px)}.french-vocab-item.active{background:#f5f5f5;border-color:#333;font-weight:600}.french-vocab-word{color:#333;font-size:1.25rem;font-weight:500}.french-vocab-dict{color:#666;font-size:.75rem;font-style:italic}.french-vocab-type{color:#999;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.french-bottom-bar{background:#fff;border-top:1px solid #e0e0e0;bottom:0;box-shadow:0 -2px 4px #0000000d;display:flex;justify-content:center;left:0;position:fixed;right:0;z-index:50}.french-tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;max-width:250px;padding:1rem;transition:all .2s ease}.french-tab-button:hover{background:#f9f9f9;color:#333}.french-tab-button.active{border-bottom-color:#333;color:#333;font-weight:600}.french-popup-overlay{animation:fadeIn .2s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.french-word-popup{animation:popupSlideIn .3s ease;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 4px 12px #00000026;left:50%;max-width:400px;min-width:320px;padding:2rem;position:fixed;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:1000}.french-popup-close{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem .5rem;position:absolute;right:.5rem;top:.5rem;transition:color .2s ease}.french-popup-close:hover{color:#333}.french-word-display{color:#333;font-size:2.5rem;font-weight:500;margin-bottom:1rem}.french-word-dictionary,.french-word-used{background:#f9f9f9;border-radius:.25rem;display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem;padding:.5rem}.french-word-label{color:#666;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.french-word-value{color:#333;font-size:1rem;font-weight:500}.french-word-main{color:#333;font-size:2.5rem;font-weight:500;margin-bottom:.5rem}.french-word-type{color:#999;font-size:.875rem;letter-spacing:.05em;margin-bottom:1rem;text-transform:uppercase}.french-word-english{color:#333;font-size:1.125rem;font-weight:500;line-height:1.5;margin-bottom:1.5rem}.french-word-forms{display:flex;flex-direction:column;gap:.75rem}.french-word-form-item{background:#f9f9f9;border-radius:.25rem;display:flex;flex-direction:column;gap:.25rem;padding:.75rem;text-align:left}.french-word-form-label{color:#666;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.french-word-form-value{color:#333;font-size:.9375rem;font-weight:500}@media (max-width:768px){.french-chapter,.french-grammar-section,.french-vocabulary-section{padding:1.5rem 1rem}.french-grammar-section-header,.french-lesson-title,.french-vocab-section-header{font-size:1.5rem}.french-text-content{font-size:1rem;line-height:1.8}.french-word-display{font-size:2rem}.french-welcome{padding:2rem 1rem}.french-vocab-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.french-word-popup{max-width:90vw;min-width:280px;padding:1.5rem}}@media (max-width:480px){.french-chapter,.french-grammar-section,.french-vocabulary-section{padding:1rem}.french-grammar-section-header,.french-lesson-title,.french-vocab-section-header{font-size:1.25rem}.french-text-content{font-size:.95rem;line-height:1.7}.french-word-display{font-size:2rem}.french-word-english{font-size:1rem}.french-vocab-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.french-tab-button{font-size:.8125rem;padding:.875rem}}.french-lesson-image{border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 4px #0000000d;height:auto;margin-bottom:2rem;max-width:600px;width:100%}.french-image-modal-overlay{animation:fadeIn .2s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.french-image-modal{animation:popupSlideIn .3s ease;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 4px 12px #00000026;left:50%;max-width:600px;min-width:500px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1000}.french-image-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.french-image-modal-title{color:#333;font-size:1.25rem;font-weight:600;margin:0}.french-image-modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem .5rem;transition:color .2s ease}.french-image-modal-close:hover:not(:disabled){color:#333}.french-image-modal-close:disabled{cursor:not-allowed;opacity:.5}.french-image-modal-content{padding:1.5rem}.french-image-modal-label{color:#333;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.french-image-modal-textarea{border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem;resize:vertical;transition:border-color .2s ease;width:100%}.french-image-modal-textarea:focus{border-color:#333;outline:none}.french-image-modal-textarea:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.french-image-modal-hint{color:#666;font-size:.75rem;line-height:1.4;margin:.5rem 0 0}.french-image-modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.french-image-modal-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.french-image-modal-btn:disabled{cursor:not-allowed;opacity:.5}.french-image-modal-btn-cancel{background:#fff;color:#666}.french-image-modal-btn-cancel:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.french-image-modal-btn-generate{background:#333;border-color:#333;color:#fff}.french-image-modal-btn-generate:hover:not(:disabled){background:#1a1a1a;border-color:#1a1a1a}@media (max-width:768px){.french-image-modal{max-width:90vw;min-width:90vw}.french-image-modal-content,.french-image-modal-footer,.french-image-modal-header{padding:1rem}}.hindi-learn-content{flex:1 1;margin:0 auto;max-width:900px;overflow-y:auto;padding:2rem 1.5rem;width:100%}.hindi-learn-section{margin-bottom:2rem}.hindi-learn-section-header{color:#666;display:block;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400;margin-bottom:1.5rem}.hindi-learn-buttons{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.hindi-learn-module-btn{align-items:flex-start;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;display:flex;flex-direction:column;gap:.75rem;padding:2rem 1.5rem;text-align:left;transition:all .2s ease;width:100%}.hindi-learn-module-btn:hover{border-color:#333;box-shadow:0 2px 4px #0000000d;transform:translateY(-2px)}.hindi-learn-module-icon{font-size:2.5rem;line-height:1}.hindi-learn-module-title{color:#333;font-size:1.25rem;font-weight:600;margin:0}.hindi-learn-module-description{color:#666;font-size:.875rem;line-height:1.6;margin:0}.hindi-learn-reading-btn:hover{background:#f9f9f9}@media (max-width:768px){.hindi-learn-content{padding:1.5rem 1rem}.hindi-learn-buttons{gap:1rem;grid-template-columns:1fr}.hindi-learn-module-btn{padding:1.5rem 1rem}.hindi-learn-module-icon{font-size:2rem}.hindi-learn-module-title{font-size:1.125rem}}@media (max-width:480px){.hindi-learn-content{padding:1rem .75rem}.hindi-learn-section-header{font-size:.8125rem}.hindi-learn-module-btn{padding:1.25rem .75rem}.hindi-learn-module-icon{font-size:1.75rem}.hindi-learn-module-title{font-size:1rem}.hindi-learn-module-description{font-size:.8125rem}}.hindi-learn-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.hindi-menu-container{position:relative}.hindi-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 4px 12px #0000001a;margin-top:.5rem;min-width:220px;overflow:hidden;position:absolute;right:0;top:100%;z-index:200}.hindi-menu-item{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:background .2s ease;width:100%}.hindi-menu-item:hover{background:#f5f5f5}.hindi-menu-item:not(:last-child){border-bottom:1px solid #f0f0f0}.hindi-main-content{flex:1 1;overflow-y:auto;padding-bottom:60px;position:relative}.hindi-chapter{margin:0 auto;max-width:800px;padding:2rem 1.5rem}.hindi-lesson-title{color:#333;font-size:2rem;font-weight:600;line-height:1.3;margin:0 0 .75rem}.hindi-lesson-objective{background:#f9f9f9;border-left:3px solid #333;border-radius:.25rem;color:#666;font-size:.9375rem;line-height:1.6;margin-bottom:2rem;padding:.75rem 1rem}.hindi-back-btn{font-size:1.25rem!important}.hindi-audio-player{align-items:center;background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;gap:1rem;margin:1.5rem 0;padding:1rem}.hindi-audio-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;transition:all .2s ease}.hindi-audio-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.hindi-audio-btn.playing{background:#333;border-color:#333;color:#fff}.hindi-audio-btn.playing:hover{background:#444;border-color:#444}.hindi-audio-icon{font-size:.875rem;line-height:1}.hindi-audio-label{font-size:.875rem}.hindi-audio-indicator{animation:pulse 1.5s ease-in-out infinite;color:#666;font-size:.875rem}.hindi-text-content{word-wrap:break-word;color:#333;font-size:1.25rem;line-height:1.9;margin-bottom:2rem}.hindi-text-content:has(.show-romanization){line-height:2.6}.hindi-word{border-bottom:1px dotted #ccc;border-radius:.125rem;cursor:pointer;display:inline-block;padding:.125rem .25rem;position:relative;transition:all .2s ease}.hindi-word:hover{background:#f5f5f5;border-bottom-color:#666}.hindi-word.show-romanization:before{bottom:100%;color:#999;content:attr(data-romanization);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.7rem;font-weight:400;left:50%;margin-bottom:.25rem;opacity:.85;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap}.hindi-text-plain{color:#333}.hindi-instructions{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;font-size:.875rem;padding:.75rem 1rem;text-align:center}.hindi-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 1.5rem}.hindi-spinner-large{animation:hindi-spin .8s linear infinite;border:4px solid #f0f0f0;border-radius:50%;border-top-color:#333;display:inline-block;height:40px;width:40px}@keyframes hindi-spin{to{transform:rotate(1turn)}}.hindi-loading-text{color:#666;font-size:.875rem;margin:0}.hindi-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;margin:2rem auto;max-width:800px;padding:1rem 1.5rem}.hindi-error p{font-size:.875rem;margin:0}.hindi-welcome{margin:0 auto;max-width:600px;padding:3rem 1.5rem;text-align:center}.hindi-welcome h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.hindi-welcome>p{color:#666;font-size:1rem;line-height:1.6;margin:0 0 2rem}.hindi-features{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.hindi-feature{align-items:center;background:#fafafa;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;display:flex;font-size:.875rem;gap:.75rem;padding:1rem}.hindi-feature-icon{font-size:1.5rem}.hindi-vocabulary-section{margin:0 auto;max-width:1000px;padding:2rem 1.5rem}.hindi-vocab-section-header{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.hindi-vocab-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.hindi-vocab-item-wrapper{display:flex;flex-direction:column;position:relative}.hindi-vocab-item-wrapper.speaking .hindi-vocab-item{background:#f5f5f5;border-color:#333}.hindi-vocab-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;padding:1rem .75rem;text-align:center;transition:all .2s ease;width:100%}.hindi-vocab-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a;transform:translateY(-1px)}.hindi-vocab-item.active{background:#f5f5f5;border-color:#333}.hindi-vocab-char{color:#333;font-size:1.5rem;font-weight:500}.hindi-vocab-trans{color:#666;font-size:.75rem}.hindi-vocab-speaker{background:none;border:none;color:#666;cursor:pointer;font-size:1rem;line-height:1;opacity:.7;padding:.25rem;position:absolute;right:.5rem;top:.5rem;transition:all .2s ease;z-index:10}.hindi-vocab-speaker:hover{color:#333;opacity:1;transform:scale(1.1)}.hindi-vocab-item-wrapper.speaking .hindi-vocab-speaker{color:#333;opacity:1}.hindi-bottom-bar{background:#fff;border-top:1px solid #e0e0e0;bottom:0;box-shadow:0 -2px 4px #0000000d;display:flex;justify-content:center;left:0;position:fixed;right:0;z-index:50}.hindi-tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;max-width:250px;padding:1rem;transition:all .2s ease}.hindi-tab-button:hover{background:#f9f9f9;color:#333}.hindi-tab-button.active{border-bottom-color:#333;color:#333;font-weight:600}.hindi-popup-overlay{animation:fadeIn .2s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.hindi-word-popup{animation:popupSlideIn .3s ease;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 4px 12px #00000026;left:50%;max-width:400px;min-width:300px;padding:2rem;position:fixed;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:1000}.hindi-popup-close{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem .5rem;position:absolute;right:.5rem;top:.5rem;transition:color .2s ease}.hindi-popup-close:hover{color:#333}.hindi-word-character{color:#333;font-size:3.5rem;font-weight:500;margin-bottom:1rem}.hindi-word-transliteration{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.5rem;margin-bottom:.75rem}.hindi-word-english{color:#333;font-size:1.125rem;font-weight:500;line-height:1.5}.hindi-word-characters-section{border-top:1px solid #e0e0e0;margin-top:1.5rem;padding-top:1.5rem}.hindi-word-characters-label{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400;margin-bottom:.75rem}.hindi-word-characters-grid{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.hindi-word-char-item{align-items:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.25rem;display:flex;flex-direction:column;gap:.25rem;justify-content:center;min-width:2.5rem;padding:.5rem .375rem;transition:all .2s ease}.hindi-word-char-item:hover{background:#f5f5f5;border-color:#ccc}.hindi-word-char-display{color:#333;font-size:1.5rem;font-weight:500;line-height:1}.hindi-word-char-trans{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;line-height:1}.hindi-alphabet-section{margin:0 auto;max-width:1000px;padding:2rem 1.5rem}.hindi-alphabet-category{margin-bottom:3rem}.hindi-alphabet-category:last-child{margin-bottom:1rem}.hindi-alphabet-category-header{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.hindi-alphabet-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.hindi-alphabet-card{padding:1.25rem 1rem;position:relative;text-align:center}.hindi-alphabet-card:hover{border-color:#ccc}.hindi-alphabet-card.speaking{background:#f5f5f5;border-color:#333}.hindi-alphabet-speaker{background:none;border:none;color:#666;cursor:pointer;font-size:1rem;line-height:1;opacity:.7;padding:.25rem;position:absolute;right:.5rem;top:.5rem;transition:all .2s ease}.hindi-alphabet-speaker:hover{color:#333;opacity:1;transform:scale(1.1)}.hindi-alphabet-card.speaking .hindi-alphabet-speaker{color:#333;opacity:1}.hindi-alphabet-char{font-size:2.5rem;font-weight:500}.hindi-alphabet-trans{font-size:1rem}.hindi-alphabet-pronunciation,.hindi-alphabet-trans{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.hindi-alphabet-pronunciation{color:#999;font-size:.75rem;line-height:1.4}.hindi-level-badge{border-radius:.25rem;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-transform:capitalize}.hindi-level-beginner{background:#f0f0f0;color:#666}.hindi-level-intermediate{background:#d0d0d0;color:#333}.hindi-level-advanced{background:#333;color:#fff}@keyframes popupSlideIn{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}@media (max-width:768px){.hindi-chapter{padding:1.5rem 1rem}.hindi-lesson-title{font-size:1.5rem}.hindi-text-content{font-size:1.125rem;line-height:1.8}.hindi-audio-player{gap:.75rem;padding:.75rem}.hindi-audio-btn{padding:.625rem .875rem}.hindi-audio-btn,.hindi-audio-indicator,.hindi-audio-label{font-size:.8125rem}.hindi-vocabulary-section{padding:1.5rem 1rem}.hindi-vocab-section-header{font-size:1.25rem}.hindi-vocab-grid{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.hindi-vocab-speaker{font-size:.875rem}.hindi-alphabet-section{padding:1.5rem 1rem}.hindi-alphabet-category-header{font-size:1.25rem}.hindi-alphabet-grid{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.hindi-alphabet-char{font-size:2rem}.hindi-alphabet-speaker{font-size:.875rem}.hindi-word-character{font-size:2.5rem}.hindi-word-popup{max-width:90vw;min-width:280px;padding:1.5rem}.hindi-word-characters-section{margin-top:1.25rem;padding-top:1.25rem}.hindi-word-char-item{min-width:2.25rem;padding:.5rem .375rem}.hindi-word-char-display{font-size:1.375rem}.hindi-word-char-trans{font-size:.6875rem}.hindi-welcome{padding:2rem 1rem}}@media (max-width:480px){.hindi-chapter{padding:1rem .75rem}.hindi-lesson-title{font-size:1.25rem}.hindi-text-content{font-size:1rem;line-height:1.7}.hindi-audio-player{align-items:stretch;flex-direction:column;gap:.5rem;padding:.75rem}.hindi-audio-btn{justify-content:center;width:100%}.hindi-audio-indicator{text-align:center}.hindi-vocabulary-section{padding:1rem .75rem}.hindi-vocab-section-header{font-size:1.125rem}.hindi-vocab-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.hindi-vocab-item{padding:.75rem .5rem}.hindi-vocab-char{font-size:1.25rem}.hindi-vocab-speaker{font-size:.75rem;right:.375rem;top:.375rem}.hindi-alphabet-section{padding:1rem .75rem}.hindi-alphabet-category-header{font-size:1.125rem}.hindi-alphabet-grid{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.hindi-alphabet-card{padding:1rem .75rem}.hindi-alphabet-speaker{font-size:.75rem;right:.375rem;top:.375rem}.hindi-alphabet-char{font-size:1.75rem}.hindi-alphabet-trans{font-size:.875rem}.hindi-alphabet-pronunciation{font-size:.6875rem}.hindi-word-character{font-size:2.5rem}.hindi-word-transliteration{font-size:1.25rem}.hindi-word-english{font-size:1rem}.hindi-word-characters-section{margin-top:1.25rem;padding-top:1.25rem}.hindi-word-characters-label{font-size:.8125rem;margin-bottom:.625rem}.hindi-word-characters-grid{gap:.375rem}.hindi-word-char-item{min-width:2rem;padding:.5rem .25rem}.hindi-word-char-display{font-size:1.25rem}.hindi-word-char-trans{font-size:.625rem}.hindi-tab-button{font-size:.8125rem;padding:.875rem .5rem}.hindi-menu-dropdown{min-width:180px}}.hindi-character-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.hindi-character-content{flex:1 1;margin:0 auto;max-width:1200px;overflow-y:auto;padding:2rem 1.5rem;width:100%}.hindi-character-section{margin-bottom:2rem}.hindi-character-section-header{color:#666;display:block;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400;margin-bottom:1.5rem}.hindi-character-selector{display:flex;flex-direction:column;gap:2rem}.hindi-character-category{display:flex;flex-direction:column;gap:1rem}.hindi-character-category-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 0;text-align:left;transition:background-color .2s ease;width:100%}.hindi-character-category-toggle:hover{background:#f9f9f9}.hindi-character-category-title{color:#333;font-size:1rem;font-weight:600;margin:0}.hindi-character-toggle-arrow{color:#666;font-size:.875rem;transition:transform .2s ease}.hindi-character-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.hindi-character-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;justify-content:center;padding:1rem .75rem;transition:all .2s ease}.hindi-character-card:hover{background:#f9f9f9;border-color:#333;box-shadow:0 2px 4px #0000000d;transform:translateY(-2px)}.hindi-character-card.selected{background:#f5f5f5;border-color:#333;box-shadow:0 2px 4px #0000001a}.hindi-character-char{color:#333;font-family:Noto Sans Devanagari,Mangal,sans-serif;font-size:2rem;line-height:1}.hindi-character-trans{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem}.hindi-character-drawing-section{margin-bottom:2rem}.hindi-character-drawing-area{align-items:center;display:flex;flex-direction:column;gap:1.5rem}.hindi-character-canvas-wrapper{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;height:300px;position:relative;width:300px}.hindi-character-canvas{cursor:crosshair;touch-action:none}.hindi-character-canvas,.hindi-character-template{height:100%;left:0;position:absolute;top:0;width:100%}.hindi-character-template{pointer-events:none;z-index:1}.hindi-character-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.hindi-character-control-group{align-items:center;display:flex;gap:.75rem}.hindi-character-control-label{color:#666;font-size:.875rem;font-weight:500}.hindi-character-slider{-webkit-appearance:none;background:#f0f0f0;border-radius:2px;height:4px;outline:none;width:120px}.hindi-character-slider::-webkit-slider-thumb{appearance:none;background:#333;border-radius:50%;cursor:pointer;height:16px;width:16px}.hindi-character-slider::-moz-range-thumb{background:#333;border:none;border-radius:50%;cursor:pointer;height:16px;width:16px}.hindi-character-slider-value{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;min-width:40px}.hindi-character-control-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.hindi-character-control-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.hindi-character-control-btn:disabled{cursor:not-allowed;opacity:.5}.hindi-character-submit-btn{background:#333;border-color:#333;color:#fff}.hindi-character-submit-btn:hover:not(:disabled){background:#000;border-color:#000}.hindi-character-result{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;max-width:600px;padding:1.5rem;width:100%}.hindi-character-result.correct{background:#d4edda;border-color:#28a745}.hindi-character-result.incorrect{background:#f8d7da;border-color:#dc3545}.hindi-character-result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.hindi-character-result-status{color:#333;font-size:1rem;font-weight:600}.hindi-character-result-score{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem}.hindi-character-result-feedback{color:#333;font-size:.875rem;line-height:1.6;margin-bottom:1rem}.hindi-character-result-suggestions{border-top:1px solid #e0e0e0;color:#333;font-size:.875rem;margin-top:1rem;padding-top:1rem}.hindi-character-result-suggestions ul{margin:.5rem 0 0;padding-left:1.5rem}.hindi-character-result-suggestions li{line-height:1.5;margin-bottom:.5rem}.hindi-character-menu-container{position:relative}.hindi-character-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 4px #0000001a;margin-top:.5rem;min-width:180px;position:absolute;right:0;top:100%;z-index:1000}.hindi-character-menu-item{background:none;border:none;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.hindi-character-menu-item:hover{background:#f9f9f9;color:#333}.hindi-character-history-section{margin-bottom:2rem}.hindi-character-history-controls{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.hindi-character-filter-input{border:1px solid #e0e0e0;border-radius:.25rem;color:#333;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;max-width:300px;padding:.5rem .75rem}.hindi-character-filter-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.hindi-character-history-list{display:flex;flex-direction:column;gap:.75rem}.hindi-character-history-empty{color:#666;font-size:.875rem;padding:2rem;text-align:center}.hindi-character-history-item{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;transition:all .2s ease}.hindi-character-history-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.hindi-character-history-item.correct{border-left:3px solid #28a745}.hindi-character-history-item.incorrect{border-left:3px solid #dc3545}.hindi-character-history-char{color:#333;font-family:Noto Sans Devanagari,Mangal,sans-serif;font-size:1.5rem;margin-bottom:.5rem}.hindi-character-history-details{align-items:center;display:flex;font-size:.875rem;gap:1rem;margin-bottom:.5rem}.hindi-character-history-score{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-weight:500}.hindi-character-history-status{color:#666;font-size:1rem}.hindi-character-history-date{color:#666;font-size:.8125rem}.hindi-character-history-feedback{color:#666;font-size:.875rem;line-height:1.5;margin-top:.5rem}@media (max-width:768px){.hindi-character-content{padding:1.5rem 1rem}.hindi-character-grid{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.hindi-character-card{padding:.75rem .5rem}.hindi-character-char{font-size:1.5rem}.hindi-character-canvas-wrapper{height:250px;width:250px}.hindi-character-controls{align-items:stretch;flex-direction:column}.hindi-character-control-group{justify-content:space-between;width:100%}.hindi-character-control-btn{width:100%}}@media (max-width:480px){.hindi-character-content{padding:1rem .75rem}.hindi-character-section-header{font-size:.8125rem}.hindi-character-grid{grid-template-columns:repeat(auto-fill,minmax(50px,1fr))}.hindi-character-char{font-size:1.25rem}.hindi-character-canvas-wrapper{height:200px;width:200px}}.hindi-alphabet-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.hindi-alphabet-content{flex:1 1;margin:0 auto;max-width:1200px;overflow-y:auto;padding:2rem 1.5rem;width:100%}.hindi-alphabet-section{margin-bottom:2rem}.hindi-alphabet-section-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:.75rem;justify-content:space-between;padding:.75rem 0;text-align:left;transition:background-color .2s ease;width:100%}.hindi-alphabet-section-toggle:hover{background:#f9f9f9}.hindi-alphabet-section-header{color:#666;display:block;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400}.hindi-alphabet-section-subtitle{color:#666;font-size:.875rem;font-weight:400;margin-left:auto}.hindi-alphabet-toggle-arrow{color:#666;flex-shrink:0;font-size:.875rem;transition:transform .2s ease}.hindi-alphabet-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));margin-top:1rem}.hindi-alphabet-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;flex-direction:column;gap:.5rem;justify-content:center;padding:1rem .75rem;transition:all .2s ease}.hindi-alphabet-card:hover{background:#f9f9f9;border-color:#333;box-shadow:0 2px 4px #0000000d;transform:translateY(-2px)}.hindi-alphabet-char{color:#333;font-family:Noto Sans Devanagari,Mangal,sans-serif;font-size:2rem;line-height:1}.hindi-alphabet-trans{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;font-weight:500}.hindi-alphabet-breakdown,.hindi-alphabet-pronunciation{color:#666;font-size:.6875rem;line-height:1.3;margin-top:.25rem;text-align:center}.hindi-alphabet-breakdown{font-family:Noto Sans Devanagari,Mangal,sans-serif}.hindi-alphabet-combinations{margin-top:1rem}.hindi-alphabet-combinations-info{color:#666;font-size:.875rem;margin-bottom:1rem;padding-left:.25rem}.hindi-alphabet-combination-card{min-height:100px}@media (max-width:768px){.hindi-alphabet-content{padding:1.5rem 1rem}.hindi-alphabet-grid{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.hindi-alphabet-card{padding:.75rem .5rem}.hindi-alphabet-char{font-size:1.5rem}.hindi-alphabet-trans{font-size:.6875rem}.hindi-alphabet-breakdown,.hindi-alphabet-pronunciation{font-size:.625rem}}@media (max-width:480px){.hindi-alphabet-content{padding:1rem .75rem}.hindi-alphabet-section-header,.hindi-alphabet-section-subtitle{font-size:.8125rem}.hindi-alphabet-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.hindi-alphabet-char{font-size:1.25rem}.hindi-alphabet-card{min-height:80px;padding:.625rem .5rem}.hindi-alphabet-combination-card{min-height:80px}}.finance-learn-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.finance-menu-container{position:relative}.finance-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 4px 12px #0000001a;margin-top:.5rem;min-width:220px;overflow:hidden;position:absolute;right:0;top:100%;z-index:200}.finance-menu-item{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:background .2s ease;width:100%}.finance-menu-item:hover{background:#f5f5f5}.finance-menu-item:not(:last-child){border-bottom:1px solid #f0f0f0}.finance-main-content{flex:1 1;overflow-y:auto;padding-bottom:60px;position:relative}.finance-chapter{margin:0 auto;max-width:800px;padding:2rem 1.5rem}.finance-lesson-title{color:#333;font-size:2rem;font-weight:600;line-height:1.3;margin:0 0 .5rem}.finance-lesson-meta{margin-bottom:.75rem}.finance-lesson-level{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;display:inline-block;font-size:.8125rem;font-weight:500;padding:.25rem .75rem}.finance-lesson-objective{background:#f9f9f9;border-left:3px solid #333;border-radius:.25rem;color:#666;font-size:.9375rem;line-height:1.6;margin-bottom:2rem;padding:.75rem 1rem}.finance-back-btn{font-size:1.25rem!important}.finance-text-content{word-wrap:break-word;color:#333;font-size:1.0625rem;line-height:1.8;margin-bottom:2rem}.finance-text-plain{color:#333;margin:0;white-space:pre-wrap}.finance-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 1.5rem}.finance-spinner-large{animation:finance-spin .8s linear infinite;border:4px solid #f0f0f0;border-radius:50%;border-top-color:#333;display:inline-block;height:40px;width:40px}@keyframes finance-spin{to{transform:rotate(1turn)}}.finance-loading-text{color:#666;font-size:.875rem;margin:0}.finance-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;margin:2rem auto;max-width:800px;padding:1rem 1.5rem}.finance-error p{font-size:.875rem;margin:0}.finance-welcome{margin:0 auto;max-width:600px;padding:3rem 1.5rem;text-align:center}.finance-welcome h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.finance-welcome>p{color:#666;font-size:1rem;line-height:1.6;margin:0 0 2rem}.finance-features{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.finance-feature{align-items:center;background:#fafafa;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;display:flex;font-size:.875rem;gap:.75rem;padding:1rem}.finance-feature-icon{font-size:1.5rem}.finance-concepts-section{margin:0 auto;max-width:1000px;padding:2rem 1.5rem}.finance-concepts-section-header{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.finance-concepts-list{display:flex;flex-direction:column;gap:.75rem}.finance-concept-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;overflow:hidden;transition:all .2s ease}.finance-concept-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.finance-concept-header{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.25rem;text-align:left;transition:background-color .2s ease;width:100%}.finance-concept-header:hover{background:#f9f9f9}.finance-concept-header-content{display:flex;flex:1 1;flex-direction:column;gap:.375rem}.finance-concept-title{color:#333;font-size:1rem;font-weight:500}.finance-concept-category{background:#f5f5f5;border-radius:.25rem;color:#666;font-size:.75rem;padding:.125rem .5rem;text-transform:capitalize;width:fit-content}.finance-concept-arrow{color:#666;flex-shrink:0;font-size:.75rem;margin-left:1rem}.finance-concept-content{background:#fafafa;border-top:1px solid #f5f5f5;padding:0 1.25rem 1.25rem}.finance-concept-definition{margin-bottom:1rem}.finance-concept-definition strong{color:#333;display:block;font-size:.8125rem;font-weight:600;margin-bottom:.5rem}.finance-concept-definition p{color:#333;font-size:.9375rem;line-height:1.6;margin:0}.finance-concept-example{border-top:1px solid #e0e0e0;padding-top:1rem}.finance-concept-example strong{color:#333;display:block;font-size:.8125rem;font-weight:600;margin-bottom:.5rem}.finance-concept-example p{color:#333;font-size:.9375rem;line-height:1.6;margin:0}.finance-no-concepts{color:#666;font-size:.875rem;margin:0;padding:2rem;text-align:center}.finance-bottom-bar{background:#fff;border-top:1px solid #e0e0e0;bottom:0;box-shadow:0 -2px 4px #0000000d;display:flex;justify-content:center;left:0;position:fixed;right:0;z-index:50}.finance-tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;max-width:250px;padding:1rem;transition:all .2s ease}.finance-tab-button:hover{background:#f9f9f9;color:#333}.finance-tab-button.active{border-bottom-color:#333;color:#333;font-weight:600}@media (max-width:768px){.finance-chapter{padding:1.5rem 1rem}.finance-lesson-title{font-size:1.5rem}.finance-text-content{font-size:1rem;line-height:1.7}.finance-concepts-section{padding:1.5rem 1rem}.finance-concepts-section-header{font-size:1.25rem}.finance-welcome{padding:2rem 1rem}}@media (max-width:480px){.finance-chapter{padding:1rem .75rem}.finance-lesson-title{font-size:1.25rem}.finance-text-content{font-size:.9375rem;line-height:1.6}.finance-concepts-section{padding:1rem .75rem}.finance-concepts-section-header{font-size:1.125rem}.finance-concept-header{padding:.875rem 1rem}.finance-concept-content{padding:0 1rem 1rem}.finance-tab-button{font-size:.8125rem;padding:.875rem .5rem}.finance-menu-dropdown{min-width:180px}}.category-form-overlay{animation:category-form-fade-in .2s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes category-form-fade-in{0%{opacity:0}to{opacity:1}}.category-form-modal{animation:category-form-slide-up .3s ease;background:#fff;border-radius:.375rem;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;left:50%;max-height:90vh;max-width:600px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}@keyframes category-form-slide-up{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.category-form-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.category-form-title{color:#333;font-size:1.25rem;font-weight:600;margin:0}.category-form-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.75rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.category-form-close:hover{background:#f5f5f5;color:#333}.category-form-tabs{background:#fff;border-bottom:1px solid #e0e0e0;display:flex}.category-form-tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;padding:1rem 1.5rem;transition:all .2s ease}.category-form-tab:hover{background:#f9f9f9;color:#333}.category-form-tab.active{background:#fff;border-bottom-color:#333;color:#333}.category-form-content{flex:1 1;overflow-y:auto;padding:1.5rem}.category-form-error{background:#f8d7da;border-radius:.25rem;color:#721c24;font-size:.875rem;margin-bottom:1rem;padding:.75rem}.category-form-field{margin-bottom:1.5rem}.category-form-label{color:#333;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.category-form-required{color:#721c24}.category-form-input{border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.category-form-input:focus{border-color:#333;outline:none}.category-form-input:disabled{background:#f5f5f5;cursor:not-allowed}.category-form-textarea{border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;line-height:1.6;padding:.75rem;resize:vertical;transition:border-color .2s ease;width:100%}.category-form-textarea:focus{border-color:#333;outline:none}.category-form-textarea:disabled{background:#f5f5f5;cursor:not-allowed}.category-form-hint{color:#666;font-size:.75rem;line-height:1.4;margin-top:.5rem}.category-form-footer{background:#fff;border-top:1px solid #e0e0e0;display:flex;flex-shrink:0;gap:.75rem;padding:1.5rem}.category-form-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;padding:.75rem;transition:all .2s ease}.category-form-btn:disabled{cursor:not-allowed;opacity:.6}.category-form-btn-cancel{background:#fff;color:#333}.category-form-btn-cancel:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}.category-form-btn-submit{background:#333;border-color:#333;color:#fff}.category-form-btn-submit:hover:not(:disabled){background:#555;border-color:#555}.category-form-success{background:#d4edda;border-radius:.25rem;color:#155724;font-size:.875rem;margin-bottom:1rem;padding:.75rem}.category-form-btn-generate{background:#333;border-color:#333;border-radius:.25rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-bottom:1rem;margin-top:1rem;padding:.75rem;transition:all .2s ease;width:100%}.category-form-btn-generate:hover:not(:disabled){background:#555;border-color:#555}.category-form-btn-generate:disabled{cursor:not-allowed;opacity:.6}.category-form-image-preview{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;margin-top:1rem;padding:1rem}.category-form-preview-image{border-radius:.25rem;display:block;height:auto;margin-bottom:1rem;max-height:400px;object-fit:contain;width:100%}.category-form-current-image{border-top:1px solid #e0e0e0;margin-top:1.5rem;padding-top:1.5rem}.category-form-current-image .category-form-label{margin-bottom:.75rem}@media (max-width:768px){.category-form-modal{max-height:95vh;width:95%}.category-form-content,.category-form-footer,.category-form-header,.category-form-image-section{padding:1rem}.category-form-title{font-size:1.1rem}.category-form-textarea{font-size:.8125rem}.category-form-preview-image{max-height:300px}}.knowledge-categories-container{background:#fff;display:flex;flex-direction:column;height:100vh}.knowledge-main-content{flex:1 1;overflow-y:auto;padding:1.5rem 1.5rem 5rem}.knowledge-add-btn{font-size:1.5rem;font-weight:300}.knowledge-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:3rem}.knowledge-spinner{animation:knowledge-spin 1s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:40px;margin-bottom:1rem;width:40px}@keyframes knowledge-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.knowledge-error{align-items:center;background:#f8d7da;border-radius:.375rem;color:#721c24;display:flex;flex-direction:column;margin:1rem;padding:2rem;text-align:center}.knowledge-retry-btn{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;margin-top:1rem;padding:.5rem 1rem;transition:all .2s ease}.knowledge-retry-btn:hover{background:#f5f5f5;border-color:#ccc}.knowledge-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.knowledge-empty-icon{font-size:4rem;margin-bottom:1rem}.knowledge-empty h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.knowledge-empty p{color:#666;margin:0 0 1.5rem}.knowledge-create-first-btn{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s ease}.knowledge-create-first-btn:hover{background:#555}.knowledge-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:1rem 0}.knowledge-categories-sections{gap:2rem}.knowledge-categories-sections,.knowledge-section{display:flex;flex-direction:column}.knowledge-section-header{border-bottom:1px solid #f0f0f0;color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400;margin:0 0 1rem;padding-bottom:.5rem}.knowledge-empty-tab{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.knowledge-empty-tab .knowledge-empty-icon{font-size:4rem;margin-bottom:1rem}.knowledge-empty-tab h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.knowledge-empty-tab p{color:#666;margin:0 0 1.5rem}.knowledge-bottom-tabs{background:#fff;border-top:1px solid #e0e0e0;bottom:0;display:flex;left:0;position:fixed;right:0;z-index:100}.knowledge-tab{align-items:center;background:none;border:none;border-right:1px solid #e0e0e0;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:.25rem;padding:1rem;transition:all .2s ease}.knowledge-tab:last-child{border-right:none}.knowledge-tab:hover{background:#f9f9f9}.knowledge-tab-active{background:#f5f5f5;border-top:2px solid #333}.knowledge-tab-active .knowledge-tab-label{color:#333;font-weight:500}.knowledge-tab-label{color:#666;font-size:.875rem;font-weight:400}.knowledge-tab-count{color:#999;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem}.knowledge-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:all .2s ease}.knowledge-card:hover{border-color:#ccc;box-shadow:0 2px 4px #0000000d}.knowledge-card-image{background:#f5f5f5;height:200px;overflow:hidden;width:100%}.knowledge-card-img{display:block;height:100%;object-fit:cover;width:100%}.knowledge-card-content{flex:1 1;padding:1.5rem}.knowledge-card-title{color:#333;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.knowledge-card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:.875rem;line-height:1.5;margin:0 0 1rem;overflow:hidden}.knowledge-card-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:auto}.knowledge-card-owner-badge{color:#999;font-size:.75rem;font-style:italic}.knowledge-card-date{color:#999;font-size:.75rem}.knowledge-card-actions-wrapper{align-items:center;border-top:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:.75rem 1.5rem}.knowledge-card-favorite-btn{background:none;border:none;color:#e0e0e0;cursor:pointer;font-size:1.5rem;line-height:1;padding:0;transition:all .2s ease}.knowledge-card-favorite-btn:hover{color:#f0c419}.knowledge-card-favorite-btn.favorited{color:#f5b50a}.knowledge-card-actions{display:flex;gap:.5rem}.knowledge-card-delete-btn,.knowledge-card-edit-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1rem;padding:.375rem .75rem;transition:all .2s ease}.knowledge-card-edit-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.knowledge-card-delete-btn:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.knowledge-card-delete-confirm{display:flex;flex:1 1;gap:.5rem}.knowledge-card-cancel-btn,.knowledge-card-confirm-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;flex:1 1;font-size:.875rem;padding:.375rem .75rem;transition:all .2s ease}.knowledge-card-confirm-btn{background:#721c24;border-color:#721c24;color:#fff}.knowledge-card-confirm-btn:hover{background:#5a161d}.knowledge-card-cancel-btn{background:#fff;color:#333}.knowledge-card-cancel-btn:hover{background:#f5f5f5}@media (max-width:768px){.knowledge-main-content{padding:1rem 1rem 5rem}.knowledge-grid{gap:1rem;grid-template-columns:1fr}.knowledge-card-content{padding:1rem}.knowledge-card-actions{padding:0 1rem 1rem}.knowledge-card-actions-wrapper{padding:.5rem 1rem}.knowledge-card-image{height:150px}.knowledge-empty,.knowledge-empty-tab{padding:3rem 1rem}.knowledge-tab{padding:.875rem .5rem}.knowledge-tab-label{font-size:.8125rem}}.generic-lesson-viewer{margin:0 auto;max-width:800px;padding:1.5rem;width:100%}.generic-lesson-header{border-bottom:1px solid #e0e0e0;margin-bottom:2rem;padding-bottom:1.5rem}.generic-lesson-title{color:#333;font-size:1.75rem;font-weight:600;line-height:1.3;margin:0 0 .75rem}.generic-lesson-objective{color:#666;font-size:1rem;line-height:1.6}.generic-lesson-image-container{margin:2rem 0;text-align:center}.generic-lesson-image{border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 4px #0000000d;height:auto;max-height:500px;max-width:100%;transition:box-shadow .2s ease;width:auto}.generic-lesson-image:hover{box-shadow:0 4px 8px #0000001a}.generic-lesson-content{color:#333;line-height:1.8}.markdown-h1{border-bottom:2px solid #e0e0e0;font-size:1.5rem;margin:2rem 0 1rem;padding-bottom:.5rem}.markdown-h1,.markdown-h2{color:#333;font-weight:600}.markdown-h2{font-size:1.25rem;margin:1.5rem 0 .75rem}.markdown-h3{font-size:1.1rem;margin:1.25rem 0 .5rem}.markdown-h3,.markdown-h4{color:#333;font-weight:600}.markdown-h4{font-size:1rem;margin:1rem 0 .5rem}.markdown-p{color:#333;margin:0 0 1rem}.markdown-ol,.markdown-ul{margin:0 0 1rem;padding-left:2rem}.markdown-li{color:#333;margin:.5rem 0}.markdown-blockquote{background:#f9f9f9;border-left:4px solid #e0e0e0;color:#666;font-style:italic;margin:1rem 0;padding:.5rem 1rem}.markdown-a{color:#333;text-decoration:underline;transition:color .2s ease}.markdown-a:hover{color:#666}.markdown-table-wrapper{margin:1rem 0;overflow-x:auto}.markdown-table{border:1px solid #e0e0e0;border-collapse:collapse;width:100%}.markdown-td,.markdown-th{border:1px solid #e0e0e0;padding:.75rem;text-align:left}.markdown-th{background:#f9f9f9;color:#333;font-weight:600}.markdown-td{color:#333}.generic-lesson-content code{background:#f5f5f5;border-radius:.25rem;color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;padding:.2rem .4rem}.generic-lesson-content pre{border:1px solid #e0e0e0;border-radius:.375rem;margin:1rem 0;overflow:hidden}.generic-lesson-content pre code{background:none;border-radius:0;padding:0}@media (max-width:768px){.generic-lesson-viewer{padding:1rem}.generic-lesson-title{font-size:1.5rem}.generic-lesson-objective{font-size:.875rem}.generic-lesson-image{max-height:300px}.markdown-h1{font-size:1.25rem}.markdown-h2{font-size:1.1rem}.markdown-h3{font-size:1rem}}.image-generator-modal-overlay{animation:fadeIn .2s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.image-generator-modal{animation:slideIn .3s ease;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;left:50%;max-height:85vh;max-width:500px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1000}.image-generator-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.image-generator-modal-title{color:#333;font-size:1.25rem;font-weight:600;margin:0}.image-generator-modal-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.75rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.image-generator-modal-close:hover:not(:disabled){background:#f5f5f5;color:#333}.image-generator-modal-close:disabled{cursor:not-allowed;opacity:.5}.image-generator-modal-content{flex:1 1;overflow-y:auto;padding:1.5rem}.image-generator-modal-label{color:#333;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.image-generator-modal-textarea{border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;min-height:100px;padding:.75rem;resize:vertical;transition:all .2s ease;width:100%}.image-generator-modal-textarea:focus{border-color:#666;box-shadow:0 0 0 2px #3333331a;outline:none}.image-generator-modal-textarea::placeholder{color:#999}.image-generator-modal-textarea:disabled{background:#f5f5f5;cursor:not-allowed}.image-generator-modal-hint{color:#666;font-size:.75rem;line-height:1.4;margin:.5rem 0 0}.image-generator-modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.image-generator-modal-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.image-generator-modal-btn-cancel{background:#fff;color:#666}.image-generator-modal-btn-cancel:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.image-generator-modal-btn-generate{background:#333;border-color:#333;color:#fff}.image-generator-modal-btn-generate:hover:not(:disabled){background:#000;border-color:#000}.image-generator-modal-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.image-generator-modal{max-height:90vh;width:95%}.image-generator-modal-content,.image-generator-modal-footer,.image-generator-modal-header{padding:1rem}}.category-lesson-view-container{background:#fff;display:flex;flex-direction:column;height:100vh}.category-lesson-readonly-badge{color:#999;font-size:.875rem;font-style:italic;font-weight:400}.category-lesson-menu-container{position:relative}.category-lesson-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;margin-top:.5rem;min-width:200px;position:absolute;right:0;top:100%;z-index:100}.category-lesson-menu-item{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.category-lesson-menu-item:first-child{border-radius:.375rem .375rem 0 0}.category-lesson-menu-item:last-child{border-radius:0 0 .375rem .375rem}.category-lesson-menu-item:hover:not(:disabled){background:#f5f5f5}.category-lesson-menu-item:disabled{cursor:not-allowed;opacity:.5}.category-lesson-main-content{flex:1 1;overflow-y:auto;padding:1.5rem}.category-lesson-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.category-lesson-spinner-large{animation:category-lesson-spin 1s linear infinite;border:4px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:48px;margin-bottom:1.5rem;width:48px}@keyframes category-lesson-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.category-lesson-loading-text{color:#666;font-size:1rem}.category-lesson-error{align-items:center;background:#f8d7da;border-radius:.375rem;color:#721c24;display:flex;justify-content:center;margin:1rem auto;max-width:600px;padding:2rem;text-align:center}.category-lesson-error p{margin:0}.category-lesson-welcome{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:600px;padding:4rem 2rem;text-align:center}.category-lesson-welcome-icon{font-size:4rem;margin-bottom:1.5rem}.category-lesson-welcome h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.category-lesson-welcome p{color:#666;line-height:1.6;margin:0}.category-lesson-welcome-description{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.375rem;margin-top:1.5rem;padding:1rem}.category-lesson-welcome-description p{color:#333;font-size:.875rem}.category-lesson-image-modal-overlay{animation:fadeIn .2s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.category-lesson-image-modal{animation:slideIn .3s ease;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;left:50%;max-height:85vh;max-width:500px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1000}.category-lesson-image-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.category-lesson-image-modal-title{color:#333;font-size:1.25rem;font-weight:600;margin:0}.category-lesson-image-modal-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.75rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.category-lesson-image-modal-close:hover:not(:disabled){background:#f5f5f5;color:#333}.category-lesson-image-modal-close:disabled{cursor:not-allowed;opacity:.5}.category-lesson-image-modal-content{flex:1 1;overflow-y:auto;padding:1.5rem}.category-lesson-image-modal-label{color:#333;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.category-lesson-image-modal-textarea{border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;min-height:100px;padding:.75rem;resize:vertical;transition:all .2s ease;width:100%}.category-lesson-image-modal-textarea:focus{border-color:#666;box-shadow:0 0 0 2px #3333331a;outline:none}.category-lesson-image-modal-textarea::placeholder{color:#999}.category-lesson-image-modal-textarea:disabled{background:#f5f5f5;cursor:not-allowed}.category-lesson-image-modal-hint{color:#666;font-size:.75rem;line-height:1.4;margin:.5rem 0 0}.category-lesson-image-modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.category-lesson-image-modal-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.category-lesson-image-modal-btn-cancel{background:#fff;color:#666}.category-lesson-image-modal-btn-cancel:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.category-lesson-image-modal-btn-generate{background:#333;border-color:#333;color:#fff}.category-lesson-image-modal-btn-generate:hover:not(:disabled){background:#000;border-color:#000}.category-lesson-image-modal-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.category-lesson-main-content{padding:1rem}.category-lesson-welcome{padding:3rem 1rem}.category-lesson-welcome-icon{font-size:3rem}.category-lesson-welcome h2{font-size:1.25rem}.category-lesson-image-modal{max-height:90vh;width:95%}.category-lesson-image-modal-content,.category-lesson-image-modal-footer,.category-lesson-image-modal-header{padding:1rem}}.mcq-practice-container{background:#fff;display:flex;flex-direction:column;height:100vh}.mcq-practice-header-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.5rem;font-weight:600;margin:0}.mcq-practice-menu-container{position:relative}.mcq-practice-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;margin-top:.5rem;min-width:150px;position:absolute;right:0;top:100%;z-index:100}.mcq-practice-menu-item{background:none;border:none;color:#333;cursor:pointer;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.mcq-practice-menu-item:hover{background:#f5f5f5}.mcq-practice-content{flex:1 1;overflow-y:auto;padding:1.5rem}.mcq-practice-setup{margin:0 auto;max-width:600px;padding:2rem 0}.mcq-practice-form{display:flex;flex-direction:column;gap:1.5rem}.mcq-practice-form-group{display:flex;flex-direction:column;gap:.5rem}.mcq-practice-label{color:#666;font-size:.875rem;font-weight:500}.mcq-practice-input,.mcq-practice-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem;transition:all .2s ease}.mcq-practice-input:hover:not(:disabled),.mcq-practice-select:hover:not(:disabled){border-color:#ccc}.mcq-practice-input:focus,.mcq-practice-select:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.mcq-practice-input:disabled,.mcq-practice-select:disabled{background:#f9f9f9;cursor:not-allowed;opacity:.5}.mcq-practice-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;font-size:.875rem;padding:.75rem 1rem}.mcq-practice-generate-btn{align-self:flex-start;background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.mcq-practice-generate-btn:hover:not(:disabled){background:#555}.mcq-practice-generate-btn:disabled{cursor:not-allowed;opacity:.5}.mcq-practice-quiz{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:800px;padding:2rem 0}.mcq-practice-quiz-header{align-items:flex-start;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding-bottom:1rem}.mcq-practice-quiz-info{display:flex;flex-direction:column;gap:.25rem}.mcq-practice-quiz-category{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem}.mcq-practice-quiz-lesson{color:#333;font-size:.875rem;font-weight:500}.mcq-practice-quiz-progress{color:#666;font-size:.875rem}.mcq-practice-question-content{flex:1 1}.mcq-practice-question-text{color:#333;font-size:1.125rem;font-weight:500;line-height:1.6;margin-bottom:1.5rem}.mcq-practice-answer-options{display:flex;flex-direction:column;gap:.75rem}.mcq-practice-answer-option{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;color:#333;cursor:pointer;font-size:.875rem;padding:1rem;text-align:left;transition:all .2s ease}.mcq-practice-answer-option:hover{background:#f9f9f9;border-color:#ccc}.mcq-practice-answer-option.selected{background:#f9f9f9;border-color:#333;font-weight:500}.mcq-practice-quiz-actions{border-top:1px solid #f0f0f0;display:flex;justify-content:center;padding-top:1rem}.mcq-practice-btn{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 2rem;transition:all .2s ease}.mcq-practice-btn:hover:not(:disabled){background:#555}.mcq-practice-btn:disabled{cursor:not-allowed;opacity:.5}.mcq-practice-results{margin:0 auto;max-width:600px;padding:3rem 0;text-align:center}.mcq-practice-results-title{color:#333;font-size:1.5rem;font-weight:600;margin-bottom:2rem}.mcq-practice-score-display{align-items:center;display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.mcq-practice-score-value{color:#333;font-size:3rem;font-weight:600}.mcq-practice-score-label{color:#666;font-size:1rem}.mcq-practice-results-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.mcq-practice-results-actions .mcq-practice-btn{background:none;border:1px solid #e0e0e0;color:#666}.mcq-practice-results-actions .mcq-practice-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}@media (max-width:768px){.mcq-practice-content{padding:1rem}.mcq-practice-quiz,.mcq-practice-setup{padding:1rem 0}.mcq-practice-quiz-header{flex-direction:column;gap:1rem}.mcq-practice-results{padding:2rem 0}.mcq-practice-score-value{font-size:2.5rem}.mcq-practice-results-actions{flex-direction:column}.mcq-practice-results-actions .mcq-practice-btn{width:100%}}@media (max-width:480px){.mcq-practice-content{padding:.75rem}.mcq-practice-header-title{font-size:1.25rem}.mcq-practice-question-text{font-size:1rem}.mcq-practice-score-value{font-size:2rem}}.music-sheets-container{background:#fff;display:flex;flex-direction:column;height:100vh;overflow:hidden}.music-sheets-menu-container{position:relative}.music-sheets-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;min-width:200px;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}.music-sheets-menu-item{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s;width:100%}.music-sheets-menu-item:hover{background:#f5f5f5}.music-sheets-menu-item:disabled{color:#ccc;cursor:not-allowed}.music-sheets-main-content{flex:1 1;overflow-y:auto;padding:2rem}.music-sheets-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.music-sheets-spinner{animation:music-sheets-spin .8s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:48px;width:48px}@keyframes music-sheets-spin{to{transform:rotate(1turn)}}.music-sheets-loading-text{color:#666;font-size:1rem;margin-top:1.5rem}.music-sheets-error{background:#f8d7da;border-radius:.375rem;color:#721c24;margin:2rem auto;max-width:600px;padding:1rem 1.5rem;text-align:center}.music-sheets-welcome{margin:4rem auto;max-width:600px;text-align:center}.music-sheets-welcome h2{color:#333;font-size:1.75rem;margin-bottom:1rem}.music-sheets-welcome>p{color:#666;font-size:1rem;margin-bottom:2rem}.music-sheets-features{display:flex;gap:2rem;justify-content:center;margin-top:3rem}.music-sheets-feature{align-items:center;display:flex;flex-direction:column;gap:.5rem}.music-sheets-feature-icon{font-size:2rem}.music-sheets-feature span:last-child{color:#666;font-size:.875rem}.music-sheets-display{margin:0 auto;max-width:900px}.music-sheets-header{border-bottom:1px solid #e0e0e0;margin-bottom:2rem;padding-bottom:1.5rem}.music-sheets-title{color:#333;font-size:1.75rem;font-weight:600;margin-bottom:.5rem}.music-sheets-description{color:#666;font-size:1rem;margin-top:.5rem}.music-sheets-metadata{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.music-sheets-meta-tag{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;display:inline-block;font-size:.8125rem;padding:.25rem .75rem}.music-sheets-notation{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:2rem;overflow-x:auto;padding:2rem}.music-sheets-controls{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.music-sheets-play-btn{align-items:center;background:#333;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 2rem;transition:all .2s}.music-sheets-play-btn:hover{background:#000}.music-sheets-play-btn.playing{background:#666}.music-sheets-edit-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.375rem;color:#666;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 2rem;transition:all .2s}.music-sheets-edit-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.music-sheets-abc-source{border:1px solid #e0e0e0;border-radius:.375rem;margin-top:2rem;overflow:hidden}.music-sheets-abc-source summary{background:#f9f9f9;color:#666;cursor:pointer;font-size:.875rem;padding:1rem 1.5rem;transition:background-color .2s;-webkit-user-select:none;user-select:none}.music-sheets-abc-source summary:hover{background:#f5f5f5}.music-sheets-abc-code{background:#fafafa;border-top:1px solid #e0e0e0;color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.8125rem;line-height:1.6;margin:0;overflow-x:auto;padding:1.5rem}.music-sheets-past-list{background:#fff;display:flex;flex-direction:column;height:100vh}.music-sheets-past-content{flex:1 1;overflow-y:auto;padding:2rem}.music-sheets-empty{padding:4rem 2rem;text-align:center}.music-sheets-empty p{color:#666;font-size:1rem;margin-bottom:2rem}.music-sheets-list{grid-gap:1rem;display:grid;gap:1rem;margin:0 auto;max-width:800px}.music-sheets-list-item{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;padding:1.5rem;text-align:left;transition:all .2s;width:100%}.music-sheets-list-item:hover{border-color:#ccc;box-shadow:0 2px 4px #0000000d}.music-sheets-list-item-content{display:flex;flex-direction:column;gap:.5rem}.music-sheets-list-item-title{color:#333;font-size:1.125rem;font-weight:600;margin:0}.music-sheets-list-item-desc{color:#666;font-size:.875rem;margin:0}.music-sheets-list-item-date{color:#999;font-size:.75rem;margin-top:.25rem}.music-sheets-modal-overlay{background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.music-sheets-modal{background:#fff;border-radius:.5rem;box-shadow:0 4px 16px #0003;left:50%;max-height:90vh;max-width:600px;overflow-y:auto;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}.music-sheets-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.music-sheets-modal-title{color:#333;font-size:1.25rem;font-weight:600;margin:0}.music-sheets-modal-close{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;padding:0;transition:color .2s;width:2rem}.music-sheets-modal-close:hover{color:#333}.music-sheets-modal-content{padding:1.5rem}.music-sheets-form-group{margin-bottom:1.5rem}.music-sheets-form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.music-sheets-label{color:#333;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.music-sheets-input,.music-sheets-select,.music-sheets-textarea{border:1px solid #e0e0e0;border-radius:.375rem;color:#333;font-family:inherit;font-size:.875rem;padding:.75rem;transition:border-color .2s;width:100%}.music-sheets-input:focus,.music-sheets-select:focus,.music-sheets-textarea:focus{border-color:#333;outline:none}.music-sheets-textarea{min-height:80px;resize:vertical}.music-sheets-divider{align-items:center;color:#999;display:flex;font-size:.8125rem;margin:1.5rem 0;text-align:center}.music-sheets-divider:after,.music-sheets-divider:before{border-bottom:1px solid #e0e0e0;content:"";flex:1 1}.music-sheets-divider span{padding:0 1rem}.music-sheets-modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.music-sheets-btn-generate,.music-sheets-btn-primary{background:#333;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s}.music-sheets-btn-generate:hover,.music-sheets-btn-primary:hover{background:#000}.music-sheets-btn-cancel{background:none;border:1px solid #e0e0e0;border-radius:.375rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.music-sheets-btn-cancel:hover{background:#f5f5f5;border-color:#ccc}@media (max-width:768px){.music-sheets-main-content,.music-sheets-past-content{padding:1rem}.music-sheets-welcome{margin:2rem auto}.music-sheets-features{flex-direction:column;gap:1rem}.music-sheets-form-row{grid-template-columns:1fr}.music-sheets-modal{width:95%}.music-sheets-notation{padding:1rem}}.music-sheet-editor-container{background:#fff;display:flex;flex-direction:column;height:100vh;overflow:hidden}.music-sheet-editor-header-actions{align-items:center;display:flex;gap:.75rem}.music-sheet-editor-play-btn{align-items:center;background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;justify-content:center;min-width:2.5rem;padding:.5rem 1rem;transition:all .2s}.music-sheet-editor-play-btn:hover:not(:disabled){background:#000}.music-sheet-editor-play-btn:disabled{background:#ccc;cursor:not-allowed}.music-sheet-editor-play-btn.playing{background:#666}.music-sheet-editor-save-btn{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.music-sheet-editor-save-btn:hover:not(:disabled){background:#000}.music-sheet-editor-save-btn:disabled{background:#ccc;color:#999;cursor:not-allowed}.music-sheet-editor-delete-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.music-sheet-editor-delete-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.music-sheet-editor-delete-btn:disabled{cursor:not-allowed;opacity:.5}.music-sheet-editor-content{flex:1 1;overflow-y:auto;padding:2rem}.music-sheet-editor-error{align-items:center;background:#f8d7da;border-radius:.375rem;color:#721c24;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1rem 1.5rem}.music-sheet-editor-error p{margin:0}.music-sheet-editor-error button{align-items:center;background:none;border:none;color:#721c24;cursor:pointer;display:flex;font-size:1.25rem;height:1.5rem;justify-content:center;padding:0;width:1.5rem}.music-sheet-editor-error button:hover{opacity:.7}.music-sheet-editor-tabs{border-bottom:1px solid #e0e0e0;display:flex;gap:.5rem;margin-bottom:1.5rem}.music-sheet-editor-tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;position:relative;top:1px;transition:all .2s}.music-sheet-editor-tab:hover{color:#333}.music-sheet-editor-tab.active{border-bottom-color:#333;color:#333}.music-sheet-editor-tab-content{flex:1 1}.music-sheet-editor-info-tab{max-width:600px}.music-sheet-editor-metadata{padding:1rem 0}.music-sheet-editor-form-group{margin-bottom:1.5rem}.music-sheet-editor-form-group:last-child{margin-bottom:0}.music-sheet-editor-label{color:#333;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.music-sheet-editor-input,.music-sheet-editor-textarea{border:1px solid #e0e0e0;border-radius:.375rem;color:#333;font-family:inherit;font-size:.875rem;padding:.75rem;transition:border-color .2s;width:100%}.music-sheet-editor-input:focus,.music-sheet-editor-textarea:focus{border-color:#333;outline:none}.music-sheet-editor-textarea{min-height:60px;resize:vertical}.music-sheet-editor-mode-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem}.music-sheet-editor-mode-btn{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;color:#666;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;padding:.75rem 1rem;transition:all .2s}.music-sheet-editor-mode-btn:hover{background:#f9f9f9;border-color:#ccc}.music-sheet-editor-mode-btn.active{background:#333;border-color:#333;color:#fff}.music-sheet-editor-main{border:1px solid #e0e0e0;border-radius:.375rem;overflow:hidden}.music-sheet-editor-text-container{display:flex;flex-direction:column;height:100%}.music-sheet-editor-textarea-large{background:#fafafa;border:none;border-radius:0;color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;line-height:1.6;min-height:400px;padding:1.5rem;resize:vertical;transition:background-color .2s;width:100%}.music-sheet-editor-textarea-large:focus{background:#fff;outline:none}.music-sheet-editor-textarea-large::placeholder{color:#999}.music-sheet-editor-visual-container{display:flex;flex-direction:column}.music-sheet-editor-visual-display{background:#fafafa;min-height:400px;overflow-x:auto;padding:2rem}.music-sheet-editor-help{background:#f9f9f9;border-top:1px solid #e0e0e0;color:#666;font-size:.8125rem;padding:1rem 1.5rem}.music-sheet-editor-help p{margin:0}@media (max-width:768px){.music-sheet-editor-content{padding:1rem}.music-sheet-editor-tabs{gap:.25rem}.music-sheet-editor-tab{font-size:.8125rem;padding:.75rem 1rem}.music-sheet-editor-header-actions{flex-wrap:wrap;gap:.5rem}.music-sheet-editor-textarea-large,.music-sheet-editor-visual-display{min-height:300px;padding:1rem}}.videos-container{background:#fff;display:flex;flex-direction:column;height:100vh}.videos-content{flex:1 1;margin:0 auto;max-width:1200px;overflow-y:auto;padding:1.5rem;width:100%}.video-close-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.5rem;font-weight:700;height:40px;justify-content:center;padding:.5rem;transition:all .2s;width:40px}.video-close-btn:hover{background:#f5f5f5;color:#333}.videos-header{border-bottom:1px solid #e0e0e0;margin-bottom:2rem;padding-bottom:1rem}.videos-title{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.videos-subtitle{color:#666;font-size:.875rem;margin:0}.videos-tabs{border-bottom:1px solid #e0e0e0;display:flex;gap:0;margin-bottom:1.5rem}.videos-tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.videos-tab:hover{color:#333}.videos-tab.active{border-bottom-color:#333;color:#333}.videos-message{align-items:center;border-radius:.25rem;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem}.videos-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.videos-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.videos-generator{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:2rem;padding:1.5rem}.label-info{color:#666}.generator-controls{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.control-group{display:flex;flex-direction:column}.duration-slider{appearance:none;background:#e0e0e0;border-radius:2px;height:4px;margin:.5rem 0;outline:none;width:100%}.duration-slider::-webkit-slider-thumb{appearance:none;background:#333;border-radius:50%;cursor:pointer;height:16px;width:16px}.duration-slider::-moz-range-thumb{background:#333;border:none;border-radius:50%;cursor:pointer;height:16px;width:16px}.duration-display{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600;text-align:center}.aspect-ratio-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-size:.875rem;padding:.5rem;transition:border-color .2s}.aspect-ratio-select:focus{border-color:#333;outline:none}.generator-cost{align-items:center;background:#f5f5f5;border-radius:.25rem;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:1rem;padding:.75rem}.cost-label{color:#666;font-weight:500}.cost-value{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600}.cost-info{color:#999;font-size:.75rem;margin-left:auto}.generator-button{font-weight:600;padding:.75rem}.generator-button:disabled{background:#e0e0e0;color:#999}.videos-section{margin-bottom:2rem}.section-header{align-items:center;justify-content:space-between}.section-title{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400;margin:0}.empty-state{color:#999;font-size:.875rem}.videos-list{display:flex;flex-direction:column;gap:1rem;max-height:calc(100vh - 400px);overflow-y:auto;padding-right:.5rem}.video-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;transition:all .2s}.video-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.video-card.generating{background:#f9f9f9;border-color:#d0d0d0}.video-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.video-prompt{color:#333;flex:1 1;font-size:.875rem;line-height:1.5}.video-status{color:#666}.video-badge,.video-status{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;white-space:nowrap}.video-badge{border-radius:.25rem;font-weight:500;padding:.25rem .5rem}.video-badge.pending{background:#fff3cd;color:#856404}.video-badge.processing{background:#cce5ff;color:#004085}.video-badge.completed{background:#d4edda;color:#155724}.video-badge.failed{background:#f8d7da;color:#721c24}.video-meta{color:#666;display:flex;font-size:.75rem;gap:1rem;margin-bottom:.75rem}.video-cost{color:#333;font-weight:600}.video-date{margin-left:auto}.video-operation-id{color:#999;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.video-progress-bar{background:#e0e0e0;border-radius:2px;height:4px;margin-bottom:.5rem;margin-top:.75rem;overflow:hidden;width:100%}.progress-fill{background:#333;border-radius:2px;height:100%;transition:width .3s ease}.progress-fill.animating{animation:pulse 1.5s ease-in-out infinite;width:100%}.inline-video-container{background:#000;border:1px solid #e0e0e0;border-radius:.25rem;margin:1rem 0;overflow:hidden}.inline-video-player{display:block;max-height:500px;width:100%}.video-actions{border-top:1px solid #f0f0f0;display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem}.action-button{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.75rem;padding:.5rem .75rem;transition:all .2s}.action-button:hover{background:#f5f5f5;border-color:#ccc;color:#333}.action-button.toggle{border-color:#333;color:#333;font-weight:500}.action-button.toggle:hover:not(:disabled){background:#333;color:#fff}.action-button.toggle.expanded{background:#f5f5f5;border-color:#333}.action-button.fullscreen{border-color:#666;color:#666}.action-button.fullscreen:hover:not(:disabled){background:#666;color:#fff}.action-button.download{border-color:#28a745;color:#28a745}.action-button.download:hover{background:#28a745;color:#fff}.action-button.delete{border-color:#dc3545;color:#dc3545;margin-left:auto}.action-button.delete:hover{background:#dc3545;color:#fff}.action-button.status{border-color:#007bff;color:#007bff}.action-button.status:hover{background:#007bff;color:#fff}.action-button.view{border-color:#333;color:#333}.action-button.view:hover:not(:disabled){background:#333;color:#fff}.action-button.hide{border-color:#666;color:#666}.action-button.hide:hover{background:#666;color:#fff}.action-button:disabled{cursor:not-allowed;opacity:.5}.video-player{border-radius:.25rem;margin:.75rem 0;overflow:hidden}.video-element{background:#000;border-radius:.25rem;max-height:400px;width:100%}@media (max-width:768px){.videos-content{padding:1rem}.videos-header{margin-bottom:1.5rem}.videos-title{font-size:1.25rem}.video-close-btn{font-size:1.375rem;height:36px;width:36px}.generator-controls{grid-template-columns:1fr}.video-header{align-items:flex-start;flex-direction:column}.video-actions,.video-meta{flex-wrap:wrap}.action-button.delete{margin-left:0}}@media (max-width:480px){.videos-content{padding:.75rem}.videos-generator{padding:1rem}.generator-textarea,.video-prompt{font-size:.8125rem}.cost-info{display:none}}.video-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.video-modal-content{animation:slideUp .3s ease;background:#fff;border-radius:.5rem;box-shadow:0 4px 16px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;width:100%}.video-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.video-modal-title{color:#333;flex:1 1;font-size:1rem;font-weight:500;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-modal-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:32px}.video-modal-close:hover{background:#f5f5f5;color:#333}.video-modal-body{align-items:center;background:#000;display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:1rem}.video-modal-player{display:block;height:auto;max-height:calc(90vh - 100px);width:100%}@media (max-width:768px){.video-modal-content{max-height:95vh;max-width:95vw}.video-modal-header{padding:.75rem 1rem}.video-modal-title{font-size:.875rem}.video-modal-body{padding:.5rem}.video-modal-player{max-height:calc(95vh - 80px)}}@media (max-width:480px){.video-modal-overlay{padding:.5rem}.video-modal-content{border-radius:.25rem;max-height:100vh;max-width:100vw}.video-modal-header{padding:.5rem .75rem}.video-modal-title{font-size:.8125rem}.video-modal-close{font-size:1.75rem;height:28px;width:28px}}.images-container{background:#fff;display:flex;flex-direction:column;height:100vh}.images-content{flex:1 1;margin:0 auto;max-width:1200px;overflow-y:auto;padding:1.5rem;width:100%}.images-header{border-bottom:1px solid #e0e0e0;margin-bottom:2rem;padding-bottom:1rem}.images-title{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.images-subtitle{color:#666;font-size:.875rem;margin:0}.images-tabs{border-bottom:1px solid #e0e0e0;display:flex;gap:0;margin-bottom:1.5rem}.images-tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.images-tab:hover{color:#333}.images-tab.active{border-bottom-color:#333;color:#333}.images-message{align-items:center;border-radius:.25rem;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem}.images-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.images-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.message-icon{font-size:1rem}.message-close{background:none;border:none;color:inherit;cursor:pointer;font-size:1.25rem;line-height:1;margin-left:auto;padding:0}.message-close:hover{opacity:.7}.images-generator{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:2rem;padding:1.5rem}.generator-section{margin-bottom:1rem}.generator-label{align-items:center;color:#333;display:flex;font-size:.875rem;font-weight:500;justify-content:space-between;margin-bottom:.5rem}.label-text{color:#666}.label-info,.label-text{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.label-info{color:#999;font-size:.75rem}.generator-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem;resize:vertical;transition:border-color .2s;width:100%}.generator-textarea:focus{border-color:#333;outline:none}.generator-textarea::placeholder{color:#999}.generator-button{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s;width:100%}.generator-button:hover:not(:disabled){background:#000}.generator-button:disabled{cursor:not-allowed;opacity:.5}.images-section{margin-bottom:2rem}.section-header{display:flex;justify-content:flex-end;margin-bottom:1rem}.refresh-button{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.refresh-button:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.refresh-button:disabled{cursor:not-allowed;opacity:.5}.empty-state{padding:3rem 1rem}.images-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:2rem}.image-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;overflow:hidden;transition:all .2s ease}.image-card:hover{border-color:#ccc;box-shadow:0 2px 4px #0000000d}.image-wrapper{aspect-ratio:1;background:#f5f5f5;cursor:pointer;overflow:hidden;width:100%}.image-thumbnail{height:100%;object-fit:cover;transition:transform .2s ease;width:100%}.image-wrapper:hover .image-thumbnail{transform:scale(1.05)}.image-info{padding:1rem}.image-prompt{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#333;display:-webkit-box;font-size:.875rem;line-height:1.4;margin:0 0 .75rem;overflow:hidden}.image-meta{align-items:center;color:#666;display:flex;font-size:.75rem;justify-content:space-between}.image-date{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.image-actions{display:flex;gap:.5rem}.image-action-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:.875rem;height:28px;justify-content:center;padding:.25rem .5rem;transition:all .2s;width:28px}.image-action-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.image-action-delete:hover:not(:disabled){background:#f8d7da;border-color:#f5c6cb;color:#721c24}.image-action-btn:disabled{cursor:not-allowed;opacity:.5}.image-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.image-modal-content{animation:slideUp .3s ease;background:#fff;border-radius:.5rem;box-shadow:0 4px 16px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;position:relative;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.image-modal-close{align-items:center;background:#ffffffe6;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;display:flex;font-size:1.5rem;height:36px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .2s;width:36px;z-index:10}.image-modal-close:hover{background:#fff;border-color:#333}.image-modal-image{display:block;max-height:80vh;object-fit:contain;width:100%}.image-modal-prompt{background:#fafafa;border-top:1px solid #e0e0e0;color:#333;font-size:.875rem;margin:0;padding:1rem 1.5rem}@media (max-width:768px){.images-content{padding:1rem}.images-header{margin-bottom:1.5rem}.images-title{font-size:1.25rem}.images-grid{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.images-generator{padding:1rem}}@media (max-width:480px){.images-content{padding:.75rem}.images-grid{grid-template-columns:1fr}.generator-textarea,.image-prompt{font-size:.8125rem}}.sounds-container{background:#fff;display:flex;flex-direction:column;height:100%;width:100%}.sounds-content{flex:1 1;overflow-y:auto;padding:1.5rem}.sounds-header{margin-bottom:1.5rem}.sounds-title{color:#333;font-size:1.5rem;font-weight:600;margin:0}.sounds-subtitle{color:#666;font-size:.875rem;margin:.5rem 0 0}.empty-state{align-items:center;display:flex;justify-content:center;padding:3rem 1.5rem}.empty-state p{color:#666;font-size:.875rem;margin:0}.sounds-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));width:100%}.sound-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;flex-direction:column;overflow:hidden;transition:all .2s ease}.sound-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.sound-iframe-wrapper{background:#f5f5f5;height:0;overflow:hidden;padding-bottom:56.25%;position:relative;width:100%}.sound-iframe{border:none;height:100%;left:0;position:absolute;top:0;width:100%}.sound-info{border-top:1px solid #f5f5f5;padding:1rem}.sound-title{color:#333;font-size:.875rem;font-weight:400;margin:0}@media (max-width:768px){.sounds-content{padding:1rem}.sounds-grid{gap:1rem;grid-template-columns:1fr}.sounds-header{margin-bottom:1rem}}@media (max-width:480px){.sounds-content{padding:.75rem}.sounds-grid{gap:.75rem}}.news-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.news-menu-container{position:relative}.news-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 4px 12px #0000001a;margin-top:.5rem;min-width:220px;overflow:hidden;position:absolute;right:0;top:100%;z-index:200}.news-menu-item{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:background .2s ease;width:100%}.news-menu-item:hover{background:#f5f5f5}.news-menu-item:not(:last-child){border-bottom:1px solid #f0f0f0}.news-back-btn{font-size:1.25rem!important}.news-main-content{flex:1 1;overflow-y:auto;position:relative}.news-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.news-spinner-large{border:3px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:48px;margin-bottom:1.5rem;width:48px}.news-spinner,.news-spinner-large{animation:spin .8s linear infinite}.news-spinner{border:2px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:32px;margin:0 auto;width:32px}.news-loading-text{color:#666;font-size:.9375rem;margin:0}.news-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:.375rem;color:#721c24;margin:2rem auto;max-width:600px;padding:1rem 1.5rem}.news-error p{margin:0 0 1rem}.news-retry-btn{background:#721c24;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:background .2s ease}.news-retry-btn:hover{background:#5a1620}.news-summary-view{margin:0 auto;max-width:800px;padding:2rem 1.5rem}.news-title{color:#333;font-size:2rem;font-weight:600;line-height:1.3;margin:0 0 1rem}.news-source-badge-container{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}.news-source-badge{border-radius:.25rem;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.8125rem;font-weight:500;padding:.375rem .75rem}.news-source-tuoitre{background:#e8f5e9;color:#2e7d32}.news-source-cafef{background:#fff3e0;color:#e65100}.news-source-cafebiz{background:#ffe0b2;color:#ef6c00}.news-source-dantri{background:#e3f2fd;color:#1565c0}.news-source-vnexpress{background:#e8eaf6;color:#3949ab}.news-source-plo{background:#f3e5f5;color:#7b1fa2}.news-source-unknown{background:#f5f5f5;color:#666}.news-published-date{color:#999;font-size:.8125rem}.news-section-title{color:#333;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.news-key-points{background:#f9f9f9;border-left:3px solid #333;border-radius:.25rem;margin-bottom:2rem;padding:1rem 1.5rem}.news-key-points-list{list-style-type:disc;margin:0;padding-left:1.5rem}.news-key-point{color:#333;font-size:.9375rem;line-height:1.7;margin-bottom:.5rem}.news-key-point:last-child{margin-bottom:0}.news-summary-content{margin-bottom:2rem}.news-summary-text{word-wrap:break-word;color:#333;font-size:1rem;line-height:1.8;white-space:pre-wrap}.news-source-link{border-top:1px solid #f0f0f0;margin-top:2rem;padding-top:1.5rem}.news-source-link-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;display:inline-flex;font-size:.875rem;gap:.5rem;padding:.625rem 1.25rem;text-decoration:none;transition:all .2s ease}.news-source-link-btn:hover{background:#f5f5f5;border-color:#ccc}.news-welcome{margin:4rem auto;max-width:600px;padding:2rem 1.5rem;text-align:center}.news-welcome h2{color:#333;font-size:1.75rem;font-weight:600;margin:0 0 1rem}.news-welcome>p{color:#666;font-size:1rem;line-height:1.6;margin:0 0 2rem}.news-features{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.news-feature{align-items:center;color:#666;display:flex;font-size:.9375rem;gap:.75rem;justify-content:center}.news-feature-icon{font-size:1.5rem}.news-welcome-btn{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background .2s ease}.news-welcome-btn:hover{background:#1a1a1a}.news-past-list{margin:0 auto;max-width:900px;padding:1.5rem}.news-past-list-search{margin-bottom:1.5rem}.news-search-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.9375rem;padding:.75rem 1rem;transition:border-color .2s ease;width:100%}.news-search-input:focus{border-color:#333;outline:none}.news-past-list-items{display:flex;flex-direction:column;gap:.75rem}.news-past-item{align-items:flex-start;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;display:flex;gap:1rem;padding:1rem 1.25rem;transition:all .2s ease}.news-past-item:hover{border-color:#ccc;box-shadow:0 2px 4px #0000000d}.news-past-item-content{flex:1 1;min-width:0}.news-past-item-title{color:#333;font-size:1rem;font-weight:600;line-height:1.4;margin:0 0 .5rem}.news-past-item-description{color:#666;font-size:.875rem;line-height:1.5;margin:0 0 .5rem}.news-past-item-date{color:#999;font-size:.8125rem}.news-past-item-actions{flex-shrink:0}.news-delete-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;line-height:1;transition:all .2s ease;width:32px}.news-delete-btn:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.news-delete-confirm{display:flex;gap:.5rem}.news-cancel-btn,.news-confirm-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-size:.8125rem;padding:.375rem .75rem;transition:all .2s ease}.news-confirm-btn{background:#721c24;border-color:#721c24;color:#fff}.news-confirm-btn:hover{background:#5a1620;border-color:#5a1620}.news-cancel-btn{background:#fff;color:#666}.news-cancel-btn:hover{background:#f5f5f5;border-color:#ccc}.news-empty{color:#999;padding:3rem 1.5rem;text-align:center}.news-modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:300}.news-modal{background:#fff;border-radius:.5rem;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;left:50%;max-height:90vh;max-width:500px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:301}.news-modal-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.news-modal-title{color:#333;font-size:1.25rem;font-weight:600;margin:0}.news-modal-close{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:1.75rem;height:32px;justify-content:center;line-height:1;transition:color .2s ease;width:32px}.news-modal-close:hover{color:#333}.news-modal-content{flex:1 1;overflow-y:auto;padding:1.5rem}.news-modal-section{margin-bottom:1.5rem}.news-modal-section:last-child{margin-bottom:0}.news-modal-label{color:#333;display:block;font-size:.9375rem;font-weight:500;margin-bottom:.75rem}.news-sources-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.news-source-checkbox{align-items:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;display:flex;gap:.5rem;padding:.75rem;transition:all .2s ease}.news-source-checkbox:hover{background:#f0f0f0;border-color:#ccc}.news-source-checkbox input[type=checkbox]{cursor:pointer}.news-source-checkbox-label{color:#333;cursor:pointer;font-size:.875rem}.news-modal-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.9375rem;padding:.75rem;transition:border-color .2s ease;width:100%}.news-modal-input:focus{border-color:#333;outline:none}.news-modal-hint{color:#999;font-size:.8125rem;line-height:1.5;margin-top:.5rem}.news-modal-hint.error{color:#721c24}.news-modal-footer{border-top:1px solid #f0f0f0;display:flex;gap:.75rem;padding:1.25rem 1.5rem}.news-modal-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;flex:1 1;font-size:.9375rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.news-modal-btn-cancel{background:#fff;color:#666}.news-modal-btn-cancel:hover{background:#f5f5f5;border-color:#ccc}.news-modal-btn-generate{background:#333;border-color:#333;color:#fff}.news-modal-btn-generate:hover{background:#1a1a1a;border-color:#1a1a1a}.news-modal-btn-generate:disabled{background:#e0e0e0;border-color:#e0e0e0;color:#999;cursor:not-allowed}@media (max-width:768px){.news-past-list,.news-summary-view{padding:1.5rem 1rem}.news-title{font-size:1.5rem}.news-sources-grid{grid-template-columns:1fr}.news-modal{width:95%}}@media (max-width:480px){.news-welcome{margin:2rem auto;padding:1.5rem 1rem}.news-welcome h2{font-size:1.5rem}}.feed-item-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;margin-bottom:.75rem;padding:1rem;transition:all .2s ease}.feed-item-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.feed-item-card.unread{background:#fafafa;border-left:3px solid #333}.feed-item-card.read{opacity:.85}.feed-item-header{display:flex;flex-direction:column;gap:.5rem}.feed-item-title-row{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.feed-item-title{color:#333;flex:1 1;font-size:1rem;font-weight:600;line-height:1.4;margin:0}.feed-item-card.unread .feed-item-title{font-weight:600}.feed-item-card.read .feed-item-title{color:#666;font-weight:400}.feed-item-star{background:none;border:none;color:#ccc;cursor:pointer;flex-shrink:0;font-size:1.25rem;line-height:1;padding:.25rem;transition:color .2s ease}.feed-item-star.starred,.feed-item-star:hover{color:gold}.feed-item-meta{align-items:center;color:#666;display:flex;flex-wrap:wrap;font-size:.75rem;gap:.5rem}.feed-item-source{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-weight:500}.feed-item-separator{color:#ccc}.feed-item-date{color:#999}.feed-item-author{color:#666}.feed-item-preview{color:#666;font-size:.875rem;line-height:1.5;margin:.5rem 0 0}.feed-item-content{border-top:1px solid #f0f0f0;margin-top:1rem;padding-top:1rem}.feed-item-full-content{color:#333;font-size:.875rem;line-height:1.6;margin-bottom:1rem;max-height:600px;overflow-y:auto}.feed-item-full-content img{border-radius:.25rem;height:auto;margin:.5rem 0;max-width:100%}.feed-item-full-content a{color:#333;text-decoration:underline}.feed-item-full-content a:hover{color:#000}.feed-item-categories{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.feed-item-category{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;font-size:.75rem;padding:.25rem .5rem}.feed-item-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.feed-item-action-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:inline-block;font-size:.875rem;padding:.5rem .75rem;text-decoration:none;transition:all .2s ease}.feed-item-action-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.feed-item-action-btn.delete-btn{border-color:#dc3545;color:#dc3545}.feed-item-action-btn.delete-btn:hover{background:#dc3545;color:#fff}.feed-item-delete-confirm{align-items:center;display:flex;font-size:.875rem;gap:.5rem}.feed-item-delete-confirm span{color:#666}.feed-item-action-btn.confirm-btn{background:#dc3545;border-color:#dc3545;color:#fff}.feed-item-action-btn.confirm-btn:hover{background:#c82333;border-color:#c82333}.feed-item-action-btn.cancel-btn{background:#f5f5f5;border-color:#ccc;color:#666}.feed-item-action-btn.cancel-btn:hover{background:#e0e0e0;border-color:#b0b0b0}@media (max-width:768px){.feed-item-card{padding:.75rem}.feed-item-title{font-size:.9375rem}.feed-item-meta{font-size:.6875rem}.feed-item-full-content,.feed-item-preview{font-size:.8125rem}.feed-item-actions{align-items:stretch;flex-direction:column}.feed-item-action-btn{text-align:center;width:100%}}.feeds-page{background:#fff;display:flex;flex-direction:column;height:100vh}.feeds-content{flex:1 1;overflow-y:auto;padding:1.5rem}.feeds-header-actions{align-items:center;display:flex;gap:.5rem}.feeds-menu-container{position:relative}.feeds-menu-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1.25rem;line-height:1;padding:.5rem .75rem;transition:all .2s ease}.feeds-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.feeds-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;min-width:200px;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}.feeds-menu-item{background:none;border:none;border-bottom:1px solid #f5f5f5;color:#333;cursor:pointer;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.feeds-menu-item:last-child{border-bottom:none}.feeds-menu-item:hover{background:#f9f9f9}.feeds-filters{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem}.feeds-filter-group{align-items:center;display:flex;gap:.5rem}.feeds-filter-group label{color:#666;font-size:.875rem;font-weight:500}.feeds-filter-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.feeds-filter-select:hover{border-color:#ccc}.feeds-filter-select:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.feeds-error{align-items:center;background:#f8d7da;border:1px solid #f5c6cb;border-radius:.375rem;color:#721c24;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding:1rem}.feeds-error p{font-size:.875rem;margin:0}.feeds-error button{background:#721c24;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:background-color .2s ease}.feeds-error button:hover{background:#5a1419}.feeds-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem 1rem}.feeds-loading p{color:#666;font-size:.875rem;margin:0}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:40px;width:40px}.feeds-empty{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem 1rem;text-align:center}.feeds-empty p{color:#666;font-size:.875rem;margin:0}.feeds-add-source-btn{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.875rem;padding:.75rem 1.5rem;transition:background-color .2s ease}.feeds-add-source-btn:hover{background:#000}.feeds-items-list{display:flex;flex-direction:column}.feeds-load-more{display:flex;justify-content:center;padding:1.5rem 0}.feeds-load-more-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.75rem 2rem;transition:all .2s ease}.feeds-load-more-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.feeds-load-more-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.feeds-content{padding:1rem}.feeds-filters{flex-direction:column;gap:.75rem}.feeds-filter-group{align-items:stretch;flex-direction:column;gap:.25rem;width:100%}.feeds-filter-group label{font-size:.8125rem}.feeds-filter-select{width:100%}.feeds-error{align-items:stretch;flex-direction:column}.feeds-error button{width:100%}}@media (max-width:480px){.feeds-content,.feeds-filters{padding:.75rem}}.feed-source-management-page{background:#fff;display:flex;flex-direction:column;height:100vh}.feed-source-management-content{flex:1 1;overflow-y:auto;padding:1.5rem}.add-source-section{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:2rem;padding:1.5rem}.add-source-section h2{color:#333;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.source-error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;font-size:.875rem;margin-bottom:1rem;padding:.75rem}.add-source-form{display:flex;flex-direction:column;gap:1rem}.add-source-input-group{display:flex;flex-direction:column;gap:.75rem}.add-source-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;padding:.75rem;transition:all .2s ease}.add-source-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.add-source-input::placeholder{color:#999}.add-source-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.add-source-btn{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.75rem 1.5rem;transition:all .2s ease}.add-source-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.add-source-btn:disabled{cursor:not-allowed;opacity:.5}.add-source-btn.add-btn{background:#333;border-color:#333;color:#fff}.add-source-btn.add-btn:hover:not(:disabled){background:#000;border-color:#000}.discovered-feeds{margin-top:1.5rem}.discovered-feeds h3{color:#333;font-size:1rem;font-weight:500;margin:0 0 1rem}.discovered-feeds-list{display:flex;flex-direction:column;gap:.75rem}.discovered-feed-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;display:flex;gap:1rem;justify-content:space-between;padding:1rem;transition:all .2s ease}.discovered-feed-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.discovered-feed-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.discovered-feed-title{color:#333;font-size:.875rem;font-weight:500}.discovered-feed-url{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;word-break:break-all}.discovered-feed-meta{color:#999;font-size:.75rem}.discovered-feed-add-btn{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;flex-shrink:0;font-size:.875rem;padding:.5rem 1rem;transition:background-color .2s ease}.discovered-feed-add-btn:hover:not(:disabled){background:#000}.discovered-feed-add-btn:disabled{cursor:not-allowed;opacity:.5}.sources-list-section{margin-bottom:2rem}.sources-list-section h2{color:#333;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.sources-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem 1rem}.sources-loading p{color:#666;font-size:.875rem;margin:0}.sources-empty{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;color:#666;font-size:.875rem;padding:2rem;text-align:center}.sources-list{display:flex;flex-direction:column;gap:1rem}.source-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1.5rem;transition:all .2s ease}.source-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.source-card.inactive{background:#f9f9f9;opacity:.7}.source-card-header{margin-bottom:.75rem}.source-card-title{align-items:center;color:#333;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0}.inactive-badge{background:#f0f0f0;border:1px solid #e0e0e0;border-radius:.25rem;color:#999;font-size:.75rem;font-weight:400;padding:.25rem .5rem}.source-edit-input{background:#fff;border:1px solid #333;border-radius:.25rem;color:#333;font-size:1rem;font-weight:600;padding:.5rem;width:100%}.source-edit-input:focus{box-shadow:0 0 0 2px #3333331a;outline:none}.source-card-info{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.source-card-url{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;word-break:break-all}.source-card-site,.source-card-url{font-size:.8125rem}.source-card-site a{color:#333;text-decoration:underline}.source-card-site a:hover{color:#000}.source-card-description{color:#666;font-size:.875rem;line-height:1.5}.source-card-stats{border-bottom:1px solid #f0f0f0;border-top:1px solid #f0f0f0;color:#666;display:flex;flex-wrap:wrap;font-size:.8125rem;gap:1rem;margin-bottom:1rem;padding:.75rem 0}.source-stat{align-items:center;display:flex;gap:.25rem}.source-stat strong{color:#333;font-weight:600}.source-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;font-size:.8125rem;margin-bottom:1rem;padding:.75rem}.source-card-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.source-action-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.source-action-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.source-action-btn:disabled{cursor:not-allowed;opacity:.5}.source-action-btn.refresh-btn{align-items:center;display:flex;gap:.25rem}.source-action-btn.delete-btn{border-color:#dc3545;color:#dc3545}.source-action-btn.delete-btn:hover{background:#dc3545;color:#fff}.source-action-btn.save-btn{background:#333;border-color:#333;color:#fff}.source-action-btn.save-btn:hover{background:#000;border-color:#000}.source-action-btn.cancel-btn{background:#f5f5f5;border-color:#ccc;color:#666}.source-action-btn.cancel-btn:hover{background:#e0e0e0;border-color:#b0b0b0}.source-action-btn.confirm-btn{background:#dc3545;border-color:#dc3545;color:#fff}.source-action-btn.confirm-btn:hover{background:#c82333;border-color:#c82333}.source-delete-confirm{align-items:center;display:flex;font-size:.875rem;gap:.5rem}.source-delete-confirm span{color:#666}@media (max-width:768px){.add-source-section,.feed-source-management-content{padding:1rem}.add-source-buttons{flex-direction:column}.add-source-btn{width:100%}.discovered-feed-item{align-items:stretch;flex-direction:column}.discovered-feed-add-btn{width:100%}.source-card{padding:1rem}.source-card-actions{align-items:stretch;flex-direction:column}.source-action-btn{justify-content:center;width:100%}.source-delete-confirm{flex-direction:column;width:100%}}@media (max-width:480px){.add-source-section,.feed-source-management-content,.source-card{padding:.75rem}.source-card-stats{flex-direction:column;gap:.5rem}}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;height:0;width:0;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.maps-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;width:100%}.maps-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.maps-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400;margin:0}.maps-controls{display:flex;flex-wrap:wrap;gap:.5rem}.maps-control-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.maps-control-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.maps-control-btn.active{background:#f5f5f5;border-color:#333;color:#333}.maps-control-btn:disabled{cursor:not-allowed;opacity:.5}.maps-menu-container{position:relative;z-index:1}.maps-menu-toggle{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;justify-content:center;min-width:2.5rem;padding:.5rem .75rem;transition:all .2s ease}.maps-menu-toggle:hover{background:#f5f5f5;border-color:#ccc;color:#333}.maps-menu-dots{align-items:center;display:flex;flex-direction:column;gap:.25rem;justify-content:center}.maps-menu-dots span{background:currentColor;border-radius:50%;display:block;height:.25rem;width:.25rem}.maps-menu-dropdown{animation:maps-menu-fadeIn .2s ease-out;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;min-width:180px;overflow:hidden;position:fixed;right:auto;top:auto;z-index:10001}@keyframes maps-menu-fadeIn{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.maps-menu-item{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.maps-menu-item.active,.maps-menu-item:hover:not(:disabled){background:#f5f5f5;color:#333}.maps-menu-item:disabled{cursor:not-allowed;opacity:.5}.maps-menu-divider{background:#f0f0f0;height:1px;margin:.25rem 0}.maps-panel{animation:slideDown .3s ease-out;background:#fafafa;border-bottom:1px solid #f5f5f5}.maps-panel-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.75rem 1.5rem}.maps-panel-title{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400}.maps-panel-content{padding:1rem 1.5rem}.maps-clear-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.75rem;padding:.25rem .5rem;transition:all .2s ease}.maps-clear-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.maps-search-box{display:flex;gap:.5rem;margin-bottom:1rem}.maps-search-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.maps-search-input:focus{border-color:#333;outline:none}.maps-search-input::placeholder{color:#999}.maps-search-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.maps-search-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.maps-search-btn:disabled{cursor:not-allowed;opacity:.5}.maps-search-results{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.maps-result-item{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;padding:.75rem;text-align:left;transition:all .2s ease}.maps-result-item:hover{background:#f5f5f5;border-color:#ccc}.maps-result-name{color:#333;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.maps-result-type{color:#666;font-size:.75rem}.maps-poi-count{color:#666;font-size:.875rem;padding:.5rem 0}.maps-categories{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.maps-category-item{align-items:center;border-radius:.25rem;cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:background .2s ease}.maps-category-item:hover{background:#f5f5f5}.maps-category-item input[type=checkbox]{accent-color:#333;cursor:pointer}.maps-category-item span{color:#333;font-size:.875rem;-webkit-user-select:none;user-select:none}.maps-address-display{align-items:center;animation:slideDown .3s ease-out;background:#fafafa;border-bottom:1px solid #f5f5f5;display:flex;gap:.75rem;padding:.75rem 1.5rem}.maps-address-label{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400}.maps-address-text{color:#333;flex:1 1;font-size:.875rem}.maps-close-address{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:1.5rem;justify-content:center;padding:0;transition:color .2s ease;width:1.5rem}.maps-close-address:hover{color:#333}.maps-error-display{align-items:center;animation:slideDown .3s ease-out;background:#f8d7da;border-bottom:1px solid #f5c6cb;display:flex;gap:.75rem;padding:.75rem 1.5rem}.maps-error-text{color:#721c24;flex:1 1;font-size:.875rem}.maps-close-error{align-items:center;background:none;border:none;color:#721c24;cursor:pointer;display:flex;font-size:1.25rem;height:1.5rem;justify-content:center;padding:0;transition:color .2s ease;width:1.5rem}.maps-close-error:hover{color:#333}.maps-content{flex:1 1;overflow:hidden;position:relative;z-index:1}.maps-map{height:100%;width:100%}.maps-auth-message{color:#666;font-size:1rem;padding:2rem 1.5rem;text-align:center}.maps-popup{display:flex;flex-direction:column;gap:.5rem;min-width:150px}.maps-popup-label{color:#333;font-size:.875rem;font-weight:500}.maps-popup-address{line-height:1.4}.maps-delete-btn,.maps-popup-address,.maps-popup-type{color:#666;font-size:.75rem}.maps-delete-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin-top:.25rem;padding:.375rem .75rem;transition:all .2s ease}.maps-delete-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.maps-spinner{animation:maps-spin .6s linear infinite;border:2px solid #e0e0e0;border-radius:50%;border-top-color:#333;display:inline-block;height:.875rem;margin-right:.5rem;vertical-align:middle;width:.875rem}@keyframes maps-spin{to{transform:rotate(1turn)}}.maps-control-btn .maps-spinner,.maps-search-btn .maps-spinner{height:.75rem;margin-right:.375rem;width:.75rem}.maps-loading-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#ffffffd9;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:9999}.maps-loading-content{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 4px #0000001a;color:#333;display:flex;font-size:.875rem;gap:.75rem;padding:1rem 1.5rem}.maps-loading-content .maps-spinner{margin-right:0}@media (max-width:768px){.maps-header{align-items:flex-start;flex-direction:column;gap:.75rem;padding:.75rem 1rem}.maps-title{font-size:.875rem}.maps-controls{width:100%}.maps-control-btn{flex:1 1;font-size:.8125rem;padding:.5rem}.maps-panel-content{padding:.75rem 1rem}.maps-search-box{flex-direction:column}.maps-search-btn{width:100%}.maps-categories{grid-template-columns:1fr}.maps-address-display{flex-wrap:wrap;padding:.75rem 1rem}.maps-address-text{flex-basis:100%;margin-top:.25rem}.maps-menu-dropdown{min-width:160px}.maps-menu-item{font-size:.8125rem;padding:.625rem .875rem}}.maps-place-form-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.maps-place-form{animation:maps-menu-fadeIn .2s ease-out;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 4px 12px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.maps-place-form-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.maps-place-form-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500}.maps-place-form-close{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;line-height:1;padding:0;transition:color .2s ease;width:2rem}.maps-place-form-close:hover{color:#333}.maps-place-form-content{padding:1.5rem}.maps-place-form-error{background:#f8d7da;border-radius:.25rem;color:#721c24;font-size:.875rem;margin-bottom:1rem;padding:.75rem}.maps-place-form-field{margin-bottom:1rem}.maps-place-form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.maps-place-form-label{color:#666;display:block;font-weight:500;margin-bottom:.5rem}.maps-place-form-input,.maps-place-form-label{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem}.maps-place-form-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;padding:.5rem .75rem;transition:all .2s ease;width:100%}.maps-place-form-input:focus{border-color:#333;outline:none}.maps-place-form-input::placeholder{color:#999}.maps-place-form-actions{border-top:1px solid #f0f0f0;display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}.maps-place-form-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.maps-place-form-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.maps-place-form-btn:disabled{cursor:not-allowed;opacity:.5}.maps-place-form-btn-save{background:#333;border-color:#333;color:#fff}.maps-place-form-btn-save:hover:not(:disabled){background:#000;border-color:#000;color:#fff}.maps-empty-state{color:#666;font-size:.875rem;padding:2rem 0;text-align:center}.maps-places-list{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto}.maps-place-item-wrapper{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;display:flex;gap:.5rem;transition:all .2s ease}.maps-place-item-wrapper:hover{background:#f5f5f5;border-color:#ccc}.maps-place-item{background:none;border:none;cursor:pointer;flex:1 1;padding:.75rem;text-align:left;transition:all .2s ease}.maps-place-item-content{display:flex;flex-direction:column}.maps-place-item-name{color:#333;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.maps-place-item-address{color:#666;font-size:.75rem}.maps-place-item-delete{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;justify-content:center;line-height:1;padding:.5rem .75rem;transition:color .2s ease}.maps-place-item-delete:hover{color:#721c24}.maps-popup-actions{border-top:1px solid #f0f0f0;display:flex;gap:.5rem;margin-top:.5rem;padding-top:.5rem}.maps-popup-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;padding:.375rem .75rem;transition:all .2s ease}.maps-popup-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.maps-popup-btn-view{background:#333;border-color:#333;color:#fff;flex:1 1}.maps-popup-btn-view:hover{background:#000;border-color:#000;color:#fff}.maps-popup-btn-edit{flex:1 1}.maps-popup-btn-delete{border-color:#f8d7da;color:#721c24;flex:1 1}.maps-popup-btn-delete:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}@media (max-width:768px){.maps-place-form{max-height:85vh;width:95%}.maps-place-form-header{padding:.75rem 1rem}.maps-place-form-content{padding:1rem}.maps-place-form-row{gap:0;grid-template-columns:1fr}.maps-place-form-actions{flex-direction:column}.maps-place-form-btn{justify-content:center;width:100%}}.cashflow-page{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.cashflow-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem 1.5rem;position:sticky;top:0;z-index:100}.cashflow-header-left,.cashflow-header-right{align-items:center;display:flex;gap:.5rem}.cashflow-home-btn,.cashflow-icon-btn,.cashflow-menu-btn{background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;font-size:1rem;padding:.5rem;transition:all .2s ease}.cashflow-home-btn:hover,.cashflow-icon-btn:hover,.cashflow-menu-btn:hover{background:#f5f5f5;color:#333}.cashflow-title{color:#333;font-size:1.5rem;font-weight:600;margin:0}.cashflow-content{flex:1 1;overflow-y:auto;padding-bottom:80px}.cashflow-empty,.cashflow-loading{color:#666;font-size:.875rem;padding:2rem;text-align:center}.cashflow-list{padding:0}.cashflow-date-group{border-bottom:1px solid #f5f5f5}.cashflow-date-header{align-items:center;background:#fafafa;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.75rem 1.5rem}.cashflow-date-label{color:#333;font-size:.875rem;font-weight:500}.cashflow-date-total{background:#f0f0f0;border-radius:.25rem;color:#666;font-size:.875rem;padding:.25rem .75rem}.cashflow-entry{align-items:center;border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:background-color .2s ease}.cashflow-entry:hover{background:#fafafa}.cashflow-entry-main{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.cashflow-entry-amount{color:#333;font-size:1rem;font-weight:500}.cashflow-entry-description{color:#666;font-size:.875rem}.cashflow-entry-menu{background:none;border:none;color:#666;cursor:pointer;font-size:1.25rem;line-height:1;padding:.5rem;transition:color .2s ease}.cashflow-entry-menu-container{position:relative}.cashflow-entry-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 4px #0000001a;margin-top:.25rem;min-width:100px;position:absolute;right:0;top:100%;z-index:1000}.cashflow-entry-menu-dropdown button{background:none;border:none;color:#333;cursor:pointer;display:block;font-size:.875rem;padding:.5rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.cashflow-entry-menu-dropdown button:hover{background:#f5f5f5}.cashflow-entry-menu-dropdown button:first-child{border-bottom:1px solid #f5f5f5}.cashflow-menu-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.cashflow-summary{padding:0}.cashflow-summary-header{border-bottom:1px solid #f5f5f5;padding:1rem 1.5rem}.cashflow-summary-all{color:#333;font-size:.875rem;font-weight:500}.cashflow-summary-list{padding:0}.cashflow-summary-item{align-items:center;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:background-color .2s ease}.cashflow-summary-item:hover{background:#fafafa}.cashflow-summary-period{color:#333;font-size:.875rem}.cashflow-summary-amount{background:#f0f0f0;border-radius:.25rem;color:#333;font-size:1rem;font-weight:500;margin-left:auto;margin-right:.5rem;padding:.25rem .75rem}.cashflow-summary-arrow{color:#666;font-size:1rem}.cashflow-fab{align-items:center;background:#ff9800;border:none;border-radius:50%;bottom:100px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;font-weight:300;height:56px;justify-content:center;position:fixed;right:1.5rem;transition:all .2s ease;width:56px;z-index:1000}.cashflow-fab:hover{background:#f57c00;box-shadow:0 4px 8px #0000004d;transform:scale(1.05)}.cashflow-bottom-nav{background:#fff;border-top:1px solid #e0e0e0;bottom:0;display:flex;left:0;position:fixed;right:0;z-index:100}.cashflow-nav-item{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:.5rem;transition:all .2s ease}.cashflow-nav-item:hover{background:#f9f9f9}.cashflow-nav-item.active{background:#ff9800;color:#fff}.cashflow-nav-icon{font-size:1.25rem;margin-bottom:.25rem}.cashflow-nav-label{font-size:.75rem;font-weight:500}.cashflow-form-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.cashflow-form-modal{background:#fff;border-radius:.5rem;box-shadow:0 4px 12px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.cashflow-form-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.cashflow-form-header h2{color:#333;font-size:1.25rem;font-weight:600;margin:0}.cashflow-form-close{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;padding:0;transition:color .2s ease;width:2rem}.cashflow-form-close:hover{color:#333}.cashflow-form{padding:1.5rem}.cashflow-form-group{margin-bottom:1rem}.cashflow-form-group label{color:#333;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.cashflow-form-group input,.cashflow-form-group textarea{border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:inherit;font-size:.875rem;padding:.75rem;transition:border-color .2s ease;width:100%}.cashflow-form-group input:focus,.cashflow-form-group textarea:focus{border-color:#ccc;outline:none}.cashflow-form-group textarea{resize:vertical}.cashflow-category-input-wrapper{cursor:pointer;position:relative}.cashflow-category-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;font-family:inherit;font-size:.875rem;padding:.75rem 2.5rem .75rem .75rem;transition:border-color .2s ease;width:100%}.cashflow-category-input:focus{border-color:#ccc;outline:none}.cashflow-category-arrow{pointer-events:none;position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.cashflow-category-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:3000}.cashflow-category-modal{background:#fff;border-radius:.5rem;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;max-height:80vh;max-width:400px;width:90%}.cashflow-category-modal-title{color:#333;font-size:1.25rem;font-weight:600;margin:0;padding:1.5rem 1.5rem 1rem}.cashflow-category-search{border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:inherit;font-size:.875rem;margin:0 1.5rem 1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.cashflow-category-search:focus{border-color:#ccc;outline:none}.cashflow-category-list{flex:1 1;max-height:300px;overflow-y:auto;padding:0 1.5rem}.cashflow-category-item{align-items:center;cursor:pointer;display:flex;gap:.75rem;padding:.75rem 0}.cashflow-category-item input[type=radio]{accent-color:#333;cursor:pointer;height:1.25rem;width:1.25rem}.cashflow-category-item span{color:#333;flex:1 1;font-size:.875rem}.cashflow-category-empty{color:#666;font-size:.875rem;padding:1rem 0;text-align:center}.cashflow-category-modal-actions{display:flex;justify-content:flex-end;padding:1rem 1.5rem 1.5rem}.cashflow-category-done{background:none;border:none;color:#ff9800;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:color .2s ease}.cashflow-category-done:hover{color:#f57c00}.cashflow-form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.cashflow-form-cancel,.cashflow-form-continue,.cashflow-form-submit{border-radius:.25rem;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;padding:.75rem;transition:all .2s ease}.cashflow-form-cancel{background:none;border:1px solid #e0e0e0;color:#666}.cashflow-form-cancel:hover{background:#f5f5f5;border-color:#ccc;color:#333}.cashflow-form-continue{background:none;border:1px solid #e0e0e0;color:#666}.cashflow-form-continue:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.cashflow-form-continue:disabled{cursor:not-allowed;opacity:.5}.cashflow-form-submit{background:#333;border:1px solid #333;color:#fff}.cashflow-form-submit:hover:not(:disabled){background:#000;border-color:#000}.cashflow-form-submit:disabled{cursor:not-allowed;opacity:.5}.cashflow-monthly-list,.cashflow-monthly-spend{padding:0}.cashflow-month-group{border-bottom:1px solid #f5f5f5}.cashflow-month-header{align-items:center;background:none;border:none;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;text-align:left;transition:background-color .2s ease;width:100%}.cashflow-month-header:hover{background:#f9f9f9}.cashflow-month-label{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500}.cashflow-month-total{background:#f0f0f0;border-radius:.25rem;color:#666;font-size:.875rem;margin-left:auto;margin-right:.5rem;padding:.25rem .75rem}.cashflow-month-arrow{color:#666;font-size:.75rem;transition:transform .2s ease}.cashflow-month-content{background:#fafafa;border-top:1px solid #f5f5f5;overflow-y:auto;padding-bottom:.75rem;padding-left:1.5rem;padding-right:1.5rem;transition:all .3s ease-out}.cashflow-category-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.75rem 0}.cashflow-category-row:last-child{border-bottom:none}.cashflow-category-row-clickable{cursor:pointer;margin:0 -1.5rem;padding-left:1.5rem;padding-right:1.5rem;transition:background-color .2s ease}.cashflow-category-row-clickable:hover{background:#f5f5f5}.cashflow-category-name{color:#333;font-size:.875rem}.cashflow-category-amount{color:#666;font-size:.875rem;font-weight:500;margin-left:auto;margin-right:.5rem}.cashflow-category-arrow{color:#666;font-size:.75rem;transition:transform .2s ease}.cashflow-subcategory-content{background:#f9f9f9;border-top:1px solid #f0f0f0;padding-left:1.5rem;padding-right:1.5rem}.cashflow-subcategory-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.75rem 0}.cashflow-subcategory-row:last-child{border-bottom:none}.cashflow-subcategory-name{color:#333;font-size:.875rem}.cashflow-subcategory-amount{color:#666;font-size:.875rem;font-weight:500}.cashflow-load-more-container{border-top:1px solid #f5f5f5;padding:1.5rem;text-align:center}.cashflow-load-more-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;min-width:120px;padding:.75rem 1.5rem;transition:all .2s ease}.cashflow-load-more-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.cashflow-load-more-btn:disabled{cursor:not-allowed;opacity:.5}.cashflow-category-detail-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;padding:1rem 1.5rem;position:sticky;top:0;z-index:10}.cashflow-category-back-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;margin-right:.75rem;padding:.5rem;transition:color .2s ease}.cashflow-category-back-btn:hover{background:#f5f5f5;color:#333}.cashflow-category-detail-title{display:flex;flex-direction:column;gap:.25rem}.cashflow-category-detail-month{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem}.cashflow-category-detail-category{color:#333;font-size:1rem;font-weight:500}.cashflow-category-transactions{padding:0}.cashflow-category-transaction-row{align-items:flex-start;border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:background-color .2s ease}.cashflow-category-transaction-row:hover{background:#fafafa}.cashflow-category-transaction-row-clickable{cursor:pointer}.cashflow-category-transaction-main{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.cashflow-category-transaction-header{align-items:center;display:flex;gap:1rem;justify-content:space-between}.cashflow-category-transaction-date{color:#666;font-size:.875rem}.cashflow-category-transaction-amount{color:#333;font-size:1rem;font-weight:500}.cashflow-category-transaction-notes{color:#333;font-size:.875rem;line-height:1.4}.cashflow-category-transaction-subcategory{background:#f0f0f0;border-radius:.25rem;color:#666;display:inline-block;font-size:.75rem;padding:.25rem .5rem;width:fit-content}@media (max-width:768px){.cashflow-header{padding:1rem}.cashflow-title{font-size:1.25rem}.cashflow-date-header,.cashflow-entry,.cashflow-summary-item{padding:.75rem 1rem}.cashflow-form-modal{width:95%}.cashflow-fab{bottom:90px;right:1rem}}.gold-prices{flex-direction:column;height:100vh;overflow:hidden;width:100%}.gold-prices,.gp-header{background:#fff;display:flex}.gp-header{align-items:center;border-bottom:1px solid #e0e0e0;padding:1rem 1.5rem}.gp-sidebar-toggle{background:none;border:none;color:#333;cursor:pointer;font-size:1.5rem;margin-right:1rem;padding:.5rem;transition:background-color .2s ease}.gp-sidebar-toggle:hover{background:#f5f5f5;border-radius:.25rem}.gp-title{color:#333;flex:1 1;font-size:1.5rem;font-weight:600;margin:0}.gp-tabs{border-bottom:1px solid #e0e0e0;display:flex;gap:0;padding:0 1.5rem}.gp-tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;position:relative;top:1px;transition:all .2s ease}.gp-tab:hover{color:#333}.gp-tab.active{border-bottom-color:#333;color:#333}.gp-error-message{align-items:center;background:#f8d7da;border-bottom:1px solid #e0e0e0;color:#721c24;display:flex;justify-content:space-between;padding:.75rem 1.5rem}.gp-error-message button{background:none;border:none;color:#721c24;cursor:pointer;font-size:1.25rem;height:1.5rem;padding:0;width:1.5rem}.gp-filters-section{border-bottom:1px solid #e0e0e0}.gp-filters-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:background-color .2s ease;width:100%}.gp-filters-toggle:hover{background:#f9f9f9}.gp-toggle-text{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400}.gp-toggle-arrow{color:#666;font-size:.75rem}.gp-filters-content{background:#fafafa;border-top:1px solid #f5f5f5;overflow:hidden;padding-left:1.5rem;padding-right:1.5rem;transition:all .3s ease-out}.gp-filters-content.collapsed{max-height:0;padding-bottom:0;padding-top:0}.gp-filters-content.expanded{max-height:500px;padding-bottom:1rem;padding-top:1rem}.gp-filters-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1rem}.gp-filter-item{display:flex;flex-direction:column;gap:.5rem}.gp-filter-label{color:#666;font-size:.875rem;font-weight:500}.gp-filter-input,.gp-filter-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.875rem;padding:.5rem;transition:all .2s ease}.gp-filter-input:hover,.gp-filter-select:hover{border-color:#ccc}.gp-filter-input:focus,.gp-filter-select:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.gp-filters-actions{display:flex;justify-content:flex-end}.gp-reset-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.gp-reset-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.gp-extract-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;margin-right:.5rem;padding:.5rem 1rem;transition:all .2s ease}.gp-extract-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.gp-extract-btn:disabled{cursor:not-allowed;opacity:.6}.gp-extraction-result{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:.75rem 1.5rem}.gp-extraction-result.success{background:#d4edda;color:#155724}.gp-extraction-result.error{background:#f8d7da;color:#721c24}.gp-extraction-result button{background:none;border:none;color:inherit;cursor:pointer;font-size:1.25rem;height:1.5rem;opacity:.7;padding:0;transition:opacity .2s ease;width:1.5rem}.gp-extraction-result button:hover{opacity:1}.gp-loading-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:3rem}.gp-loading-spinner{animation:gp-spin 1s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:40px;margin-bottom:1rem;width:40px}@keyframes gp-spin{to{transform:rotate(1turn)}}.gp-content{flex:1 1;overflow-y:auto;padding:1.5rem}.gp-table-container{margin-bottom:2rem;overflow-x:auto;width:100%}.gp-table{background:#fff;border-collapse:collapse;width:100%}.gp-table-header{background:#fafafa;border-bottom:2px solid #e0e0e0;color:#333;font-size:.875rem;font-weight:600;padding:.75rem;text-align:left}.gp-table-header.gp-sortable{cursor:pointer;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.gp-table-header.gp-sortable:hover{background:#f5f5f5}.gp-table-row{border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.gp-table-row:hover{background:#f9f9f9}.gp-table-row td{color:#333;font-size:.875rem;padding:.75rem}.gp-table-empty{color:#666;padding:2rem;text-align:center}.gp-pagination{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:1rem;padding:1rem}.gp-pagination-btn,.gp-pagination-info{color:#666;font-size:.875rem}.gp-pagination-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;padding:.5rem 1rem;transition:all .2s ease}.gp-pagination-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.gp-pagination-btn:disabled{cursor:not-allowed;opacity:.5}.gp-chart-view{width:100%}.gp-chart-filters{border-bottom:1px solid #f0f0f0;display:flex;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem}.gp-chart-filter-item{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.gp-chart-container{min-height:400px;width:100%}.gp-chart-empty{align-items:center;color:#666;display:flex;font-size:.875rem;justify-content:center;padding:3rem}@media (max-width:768px){.gp-header{padding:1rem}.gp-title{font-size:1.25rem}.gp-tabs{padding:0 1rem}.gp-tab{font-size:.8125rem;padding:.75rem 1rem}.gp-chart-filters{flex-direction:column}.gp-chart-filter-item{min-width:100%}.gp-filters-grid{grid-template-columns:1fr}.gp-content{padding:1rem}.gp-table-container{overflow-x:scroll}.gp-table-header,.gp-table-row td{font-size:.8125rem;padding:.5rem}.gp-chart-container{min-height:300px}}.memory-palace-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;overflow-y:auto;width:100%}.memory-palace-title.page-header-center-title{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.memory-palace-back-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.memory-palace-back-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.memory-palace-menu-container{position:relative}.memory-palace-menu-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;line-height:1;min-width:36px;padding:.5rem .75rem;transition:all .2s ease}.memory-palace-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.memory-palace-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 4px #0000001a;margin-top:.25rem;min-width:150px;position:absolute;right:0;top:100%;z-index:1000}.memory-palace-menu-item{background:none;border:none;color:#333;cursor:pointer;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.memory-palace-menu-item:hover{background:#f5f5f5}.memory-palace-menu-item.active{background:#f9f9f9;color:#333;font-weight:500}.memory-palace-menu-separator{background:#f0f0f0;height:1px;margin:.25rem 0}.memory-palace-action-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.memory-palace-action-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.memory-palace-action-btn:disabled{cursor:not-allowed;opacity:.5}.memory-palace-action-btn:disabled:hover{background:none;border-color:#e0e0e0;color:#666}.memory-palace-action-btn.delete{border-color:#f5c6cb;color:#721c24}.memory-palace-action-btn.delete:hover{background:#f8d7da;border-color:#721c24}.memory-palace-empty,.memory-palace-loading{color:#666;font-size:1rem;padding:3rem 1.5rem;text-align:center}.memory-palace-error{background:#f8d7da;border-bottom:1px solid #f5c6cb;color:#721c24;font-size:.875rem;padding:.75rem 1.5rem}.memory-palace-list{flex:1 1;padding:1.5rem}.memory-palace-search-container{margin-bottom:1rem;width:100%}.memory-palace-search-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.memory-palace-search-input:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.memory-palace-search-input::placeholder{color:#999}.memory-palace-list-items{display:flex;flex-direction:column;gap:.75rem}.memory-palace-item{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;padding:1rem 1.5rem;transition:all .2s ease}.memory-palace-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.memory-palace-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.memory-palace-item-name{align-items:center;color:#333;display:flex;font-size:1rem;font-weight:500;gap:.5rem}.memory-palace-item-name,.memory-palace-root-badge{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.memory-palace-root-badge{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;font-size:.75rem;font-weight:400;padding:.125rem .375rem}.memory-palace-item-actions{display:flex;gap:.5rem}.memory-palace-item-action-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1.25rem;padding:.25rem .5rem;transition:color .2s ease}.memory-palace-item-action-btn:hover{color:#721c24}.memory-palace-item-description{color:#666;font-size:.875rem;line-height:1.5;margin-bottom:.5rem}.memory-palace-item-meta{align-items:center;color:#666;display:flex;font-size:.75rem;gap:1rem}.memory-palace-item-connections{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.memory-palace-detail{display:flex;flex:1 1;flex-direction:column;margin:0 auto;max-width:800px;overflow:hidden;width:100%}.memory-palace-detail-section{margin-bottom:2rem}.memory-palace-detail-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.memory-palace-detail-section-title{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400;margin:0}.memory-palace-detail-content{color:#333;font-size:1rem;line-height:1.6}.memory-palace-description-editable{border:1px solid #0000;border-radius:.25rem;cursor:text;min-height:2rem;padding:.75rem;transition:all .2s ease}.memory-palace-description-editable:hover{background:#f9f9f9;border-color:#e0e0e0}.memory-palace-description-editable:focus{background:#fff;border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.memory-palace-description-editor{margin-top:.5rem}.memory-palace-description-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.6;padding:.75rem;resize:vertical;transition:border-color .2s ease;width:100%}.memory-palace-description-textarea:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.memory-palace-description-textarea::placeholder{color:#999}.memory-palace-description-editor-actions{display:flex;gap:.5rem;margin-top:.75rem}.memory-palace-description-save-btn{background:#333;border:1px solid #333;border-radius:.25rem;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.memory-palace-description-save-btn:hover{background:#666;border-color:#666}.memory-palace-description-cancel-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.memory-palace-description-cancel-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.memory-palace-empty-text{color:#666;font-style:italic}.memory-palace-properties{word-wrap:break-word;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;overflow-x:auto;padding:1rem;white-space:pre-wrap}.memory-palace-connections-group{margin-bottom:1.5rem}.memory-palace-connections-group-title{color:#666;font-size:.875rem;font-weight:500;margin-bottom:.75rem}.memory-palace-connections-list{display:flex;flex-direction:column;gap:.5rem}.memory-palace-connection-item{align-items:center;background:#fafafa;border:1px solid #f0f0f0;border-radius:.25rem;display:flex;gap:.75rem;padding:.75rem}.memory-palace-connection-link{background:none;border:none;color:#333;cursor:pointer;flex:1 1;font-size:.875rem;text-align:left;transition:color .2s ease}.memory-palace-connection-link:hover{color:#666}.memory-palace-connection-description{color:#666;font-size:.75rem;font-style:italic}.memory-palace-connection-delete{background:none;border:none;color:#666;cursor:pointer;font-size:1.25rem;padding:.25rem .5rem;transition:color .2s ease}.memory-palace-connection-delete:hover{color:#721c24}.memory-palace-form-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1.5rem;position:fixed;right:0;top:0;z-index:1000}.memory-palace-form{background:#fff;border:1px solid #e0e0e0;border-radius:.5rem;box-shadow:0 2px 8px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.memory-palace-form-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.memory-palace-form-header h2{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600;margin:0}.memory-palace-form-close{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:24px;justify-content:center;padding:0;transition:color .2s ease;width:24px}.memory-palace-form-close:hover{color:#333}.memory-palace-form-content{padding:1.5rem}.memory-palace-form-field{margin-bottom:1.5rem}.memory-palace-form-field label{color:#333;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.memory-palace-form-input,.memory-palace-form-select,.memory-palace-form-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem;transition:all .2s ease;width:100%}.memory-palace-form-select{cursor:pointer}.memory-palace-form-input:focus,.memory-palace-form-select:focus,.memory-palace-form-textarea:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.memory-palace-searchable-dropdown{position:relative;width:100%}.memory-palace-searchable-dropdown-trigger{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;justify-content:space-between;padding:.5rem;text-align:left;transition:all .2s ease;width:100%}.memory-palace-searchable-dropdown-trigger:hover{background:#f5f5f5;border-color:#ccc}.memory-palace-searchable-dropdown-trigger:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.memory-palace-searchable-dropdown-value{color:#333;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-palace-searchable-dropdown-value:empty:before{color:#999;content:"Select a place..."}.memory-palace-searchable-dropdown-arrow{color:#666;flex-shrink:0;font-size:.75rem;margin-left:.5rem}.memory-palace-searchable-dropdown-menu{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;left:0;margin-top:.25rem;max-height:300px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.memory-palace-searchable-dropdown-search{border-bottom:1px solid #f0f0f0;flex-shrink:0;padding:.5rem}.memory-palace-searchable-dropdown-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem;transition:all .2s ease;width:100%}.memory-palace-searchable-dropdown-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.memory-palace-searchable-dropdown-list{flex:1 1;max-height:250px;overflow-y:auto}.memory-palace-searchable-dropdown-item{background:none;border:none;color:#333;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem .75rem;text-align:left;transition:background-color .2s ease;width:100%}.memory-palace-searchable-dropdown-item:hover{background:#f5f5f5}.memory-palace-searchable-dropdown-item.selected{background:#f9f9f9;color:#333;font-weight:500}.memory-palace-searchable-dropdown-empty{color:#666;font-size:.875rem;font-style:italic;padding:.75rem;text-align:center}.memory-palace-form-textarea{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;resize:vertical}.memory-palace-form-textarea.error{border-color:#721c24}.memory-palace-form-checkbox{accent-color:#333;cursor:pointer;margin:0;width:auto}.memory-palace-form-radio-group{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.memory-palace-form-radio-label{align-items:center;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.memory-palace-form-radio{accent-color:#333;cursor:pointer;margin:0;width:auto}.memory-palace-link-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;transition:all .2s ease}.memory-palace-link-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.memory-palace-form-error{color:#721c24;font-size:.75rem;margin-top:.25rem}.memory-palace-form-hint{color:#666;font-size:.75rem;margin-top:.25rem}.memory-palace-form-image-preview{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.memory-palace-form-image-preview-img{border:1px solid #e0e0e0;border-radius:.25rem;height:auto;max-width:300px;object-fit:contain;width:100%}.memory-palace-form-image-delete-btn{align-self:flex-start;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.memory-palace-form-image-delete-btn:hover{background:#f8d7da;border-color:#721c24;color:#721c24}.memory-palace-form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.memory-palace-form-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.memory-palace-form-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.memory-palace-form-btn:disabled{cursor:not-allowed;opacity:.5}.memory-palace-form-btn.save{background:#333;border-color:#333;color:#fff}.memory-palace-form-btn.save:hover:not(:disabled){background:#666;border-color:#666}.memory-palace-connection-form{background:#fafafa;border:1px solid #f0f0f0;border-radius:.375rem;margin-bottom:1rem;padding:1rem 1.5rem}.memory-palace-connection-form-content{display:flex;flex-direction:column;gap:1rem}.memory-palace-graph-container{background:#fff;flex:1 1;height:100%;overflow:hidden;position:relative;width:100%}.memory-palace-graph-empty{color:#666;font-size:1rem;padding:3rem 1.5rem;text-align:center}.memory-palace-graph-svg{background:#fff;display:block;min-height:100%;min-width:100%;transition:transform .1s ease-out}.memory-palace-graph-zoom-controls{bottom:1rem;display:flex;flex-direction:column;gap:.5rem;position:absolute;right:1rem;z-index:100}.memory-palace-graph-zoom-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 4px #0000000d;color:#666;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.25rem;font-weight:500;height:36px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:36px}.memory-palace-graph-zoom-btn:hover{background:#f5f5f5;border-color:#ccc;box-shadow:0 2px 6px #0000001a;color:#333}.memory-palace-graph-zoom-btn:active{background:#f0f0f0;transform:scale(.95)}.memory-palace-graph-edge{stroke:#e0e0e0;stroke-width:2}.memory-palace-graph-edge-label{fill:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:12px}.memory-palace-graph-node{cursor:grab}.memory-palace-graph-node circle{transition:all .2s ease}.memory-palace-graph-node:hover circle{stroke-width:3;r:22}.memory-palace-graph-node circle.dragging{stroke-width:3;fill:#f5f5f5}.memory-palace-graph-node-label{fill:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:12px;pointer-events:none}.memory-palace-images-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:1rem}.memory-palace-image-item{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;overflow:hidden;position:relative;transition:all .2s ease}.memory-palace-image-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.memory-palace-image-thumbnail{cursor:pointer;display:block;height:200px;object-fit:cover;transition:opacity .2s ease;width:100%}.memory-palace-image-thumbnail:hover{opacity:.9}.memory-palace-image-delete{align-items:center;background:#ffffffe6;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:28px;justify-content:center;line-height:1;padding:.25rem .5rem;position:absolute;right:.5rem;top:.5rem;transition:all .2s ease;width:28px}.memory-palace-image-delete:hover{background:#f8d7da;border-color:#721c24;color:#721c24}.memory-palace-tabs{background:#fff;border-top:1px solid #e0e0e0;bottom:0;display:flex;left:0;position:fixed;right:0;z-index:100}.memory-palace-tab{background:none;border:none;color:#666;cursor:pointer;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:400;padding:.5rem;transition:all .2s ease}.memory-palace-tab:hover{background:#f9f9f9;color:#333}.memory-palace-tab.active{background:#f5f5f5;color:#333;font-weight:500}.memory-palace-tab-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow-y:auto;padding-bottom:60px}.memory-palace-tab-panel{margin:0 auto;max-width:800px;padding:1.5rem;width:100%}.memory-palace-graph-tab-panel{flex:1 1;max-width:100%;min-height:0;overflow:hidden;padding:0}.memory-palace-notes-editor{min-height:400px;width:100%}.memory-palace-note-selection{width:100%}.memory-palace-note-selection-description{color:#666;font-size:.875rem;line-height:1.5;margin-bottom:1.5rem}.memory-palace-note-selection-list{margin-bottom:1.5rem}.memory-palace-note-selection-subtitle{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500;margin-bottom:.75rem}.memory-palace-note-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.memory-palace-note-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:space-between;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.memory-palace-note-item:hover{background:#f5f5f5;border-color:#ccc}.memory-palace-note-item-title{color:#333;flex:1 1;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-palace-note-item-badge{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;flex-shrink:0;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;margin-left:.75rem;padding:.125rem .375rem}.memory-palace-note-selection-actions{border-top:1px solid #f0f0f0;display:flex;gap:.75rem;padding-top:1rem}.memory-palace-note-link-form{display:flex;flex-direction:column;gap:1rem}.memory-palace-note-search-container{width:100%}.memory-palace-note-search-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.memory-palace-note-search-input:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.memory-palace-note-search-input::placeholder{color:#999}.memory-palace-objects-tab-panel{display:flex;flex:1 1;flex-direction:column;height:100%;max-width:100%;min-height:0;overflow:hidden;padding:0}.memory-palace-objects-tab-panel .memory-palace-detail-section{display:flex;flex:1 1;flex-direction:column;margin-bottom:0;min-height:0}.memory-palace-objects-tab-panel .memory-palace-detail-section-header{flex-shrink:0}.memory-palace-objects-canvas{background:#fff;cursor:default;flex:1 1;height:0;min-height:0;overflow:auto;overflow-x:auto;overflow-y:auto;position:relative}.memory-palace-objects-canvas.panning{cursor:grabbing}.memory-palace-objects-grid{background-image:linear-gradient(90deg,#f0f0f0 1px,#0000 0),linear-gradient(180deg,#f0f0f0 1px,#0000 0);background-position:0 0;background-size:25px 25px;height:1000px;position:relative;width:1000px}.memory-palace-object-rectangle{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 1px 2px #0000000d;cursor:move;display:flex;flex-direction:column;min-height:50px;min-width:80px;padding:.5rem;position:relative;transition:border-color .2s ease,box-shadow .2s ease}.memory-palace-object-rectangle.has-image{padding:0}.memory-palace-object-rectangle:hover{border-color:#ccc;box-shadow:0 2px 4px #0000001a}.memory-palace-object-rectangle.selected{border-color:#333;border-width:2px;box-shadow:0 0 0 2px #3333331a}.memory-palace-object-rectangle.dragging{cursor:grabbing;opacity:.8;z-index:1000}.memory-palace-object-wrapper{display:flex;flex-direction:column;position:absolute}.memory-palace-object-label{flex:1 1}.memory-palace-object-label,.memory-palace-object-label-below{align-items:center;display:flex;flex-direction:column;justify-content:center;pointer-events:none;text-align:center}.memory-palace-object-label-below{margin-top:.25rem}.memory-palace-object-name{color:#333;font-size:.875rem;font-weight:500;line-height:1.2;margin-bottom:.25rem;word-break:break-word}.memory-palace-object-delete-btn{align-items:center;background:#ffffffe6;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:24px;justify-content:center;line-height:1;padding:.25rem .5rem;pointer-events:auto;position:absolute;right:.25rem;top:.25rem;transition:all .2s ease;width:24px}.memory-palace-object-delete-btn:hover{background:#f8d7da;border-color:#721c24;color:#721c24}.memory-palace-object-rectangle.connected-place{border-color:#999;border-width:1.5px}.memory-palace-object-rectangle.connected-place:hover{border-color:#666}.memory-palace-object-rectangle.connected-place-outgoing{background-color:#009aff;border-color:#333;border-width:2px}.memory-palace-object-rectangle.connected-place-outgoing:hover{background-color:#f0f0f0;border-color:#000}.memory-palace-object-rectangle.connected-place-incoming{background-color:#fafafa;border-color:#999;border-width:1.5px}.memory-palace-object-rectangle.connected-place-incoming:hover{background-color:#f5f5f5;border-color:#666}.memory-palace-object-popup-menu{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 4px #0000001a;margin-top:.25rem;min-width:150px}.memory-palace-object-popup-menu-item{background:none;border:none;color:#333;cursor:pointer;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.memory-palace-object-popup-menu-item:hover{background:#f5f5f5}.memory-palace-objects-zoom-controls{background:#fffffff2;border:1px solid #e0e0e0;border-radius:.25rem;bottom:4rem;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:.5rem;padding:.5rem;position:fixed;right:1rem;z-index:100}.memory-palace-objects-zoom-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 1px 2px #0000000d;color:#666;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.25rem;font-weight:500;height:36px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:36px}.memory-palace-objects-zoom-btn:hover{background:#f5f5f5;border-color:#ccc;box-shadow:0 2px 4px #0000001a;color:#333}.memory-palace-objects-zoom-btn:active{background:#f0f0f0;transform:scale(.95)}.memory-palace-objects-zoom-level{border-top:1px solid #f0f0f0;color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;margin-top:.25rem;padding:.5rem .5rem .25rem;text-align:center}@media (max-width:768px){.memory-palace-header{align-items:flex-start;flex-direction:column;gap:1rem;padding:1rem}.memory-palace-header-right{justify-content:space-between;width:100%}.memory-palace-list{padding:1rem}.memory-palace-form{margin:1rem;max-width:100%}.memory-palace-images-grid{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.memory-palace-image-thumbnail{height:150px}.memory-palace-tab{font-size:.8125rem;padding:.5rem}.memory-palace-tab-panel{padding:1rem}.memory-palace-tab-content{padding-bottom:60px}}.image-viewer-overlay{background:#000000e6;bottom:0;left:0;padding:1.5rem;position:fixed;right:0;top:0;z-index:2000}.image-viewer-content,.image-viewer-overlay{align-items:center;display:flex;justify-content:center;touch-action:none}.image-viewer-content{max-height:90vh;max-width:90vw;position:relative}.image-viewer-close{align-items:center;background:#ffffffe6;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;display:flex;font-size:1.5rem;height:36px;justify-content:center;line-height:1;padding:.5rem .75rem;position:absolute;right:0;top:-2.5rem;transition:all .2s ease;width:36px}.image-viewer-close:hover{background:#fff;border-color:#ccc;color:#333}.image-viewer-img{border-radius:.25rem;box-shadow:0 4px 12px #0000004d;max-height:90vh;max-width:100%;object-fit:contain;touch-action:none;transform-origin:center center;user-select:none;-webkit-user-select:none}.image-viewer-controls{background:#ffffffe6;bottom:-3rem;box-shadow:0 2px 4px #0000001a;gap:.5rem;left:50%;padding:.5rem;position:absolute;transform:translateX(-50%)}.image-viewer-control-btn,.image-viewer-controls{align-items:center;border:1px solid #e0e0e0;border-radius:.25rem;display:flex}.image-viewer-control-btn{background:none;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;height:32px;justify-content:center;line-height:1;min-width:32px;padding:.375rem .625rem;transition:all .2s ease}.image-viewer-control-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.image-viewer-control-btn:disabled{cursor:not-allowed;opacity:.4}.image-viewer-zoom-level{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;min-width:50px;padding:0 .5rem;text-align:center}@media (max-width:768px){.image-viewer-content{max-height:95vh;max-width:95vw}.image-viewer-close{right:.5rem;top:-2rem}.image-viewer-controls{bottom:-2.5rem;gap:.375rem;padding:.375rem}.image-viewer-control-btn{font-size:.875rem;height:28px;min-width:28px;padding:.25rem .5rem}.image-viewer-zoom-level{font-size:.6875rem;min-width:45px;padding:0 .375rem}}.image-journey-container{background:#fff;display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100%}.image-journey-header-title{color:#333;font-size:1.5rem;font-weight:600;margin:0}.image-journey-header-title,.image-journey-nav-btn{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.image-journey-nav-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;margin-left:.5rem;min-width:36px;padding:.5rem .75rem;transition:all .2s}.image-journey-nav-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.image-journey-nav-btn:disabled{cursor:not-allowed;opacity:.4}.image-journey-page-indicator{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;white-space:nowrap}.image-journey-scroll-container{-webkit-overflow-scrolling:touch;flex:1 1;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory}.image-journey-scroll-container::-webkit-scrollbar{height:8px}.image-journey-scroll-container::-webkit-scrollbar-track{background:#f5f5f5}.image-journey-scroll-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.image-journey-scroll-container::-webkit-scrollbar-thumb:hover{background:#999}.image-journey-pages-wrapper{display:flex;height:100%;width:fit-content}.image-journey-page{align-items:center;background:#fafafa;display:flex;flex-shrink:0;height:100%;justify-content:center;position:relative;scroll-snap-align:start;width:100vw}.image-journey-image{height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.image-journey-loading{align-items:center;color:#666;display:flex;flex-direction:column;gap:1rem;justify-content:center}.image-journey-loading-spinner{animation:spin 1s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:40px;width:40px}.image-journey-loading p{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;margin:0}.image-journey-error{align-items:center;color:#721c24;display:flex;flex-direction:column;gap:1rem;justify-content:center}.image-journey-error p{margin:0}.image-journey-error p,.image-journey-retry-btn{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem}.image-journey-retry-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;padding:.5rem 1rem;transition:all .2s}.image-journey-retry-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.image-journey-blank{align-items:center;color:#666;display:flex;flex-direction:column;gap:1rem;justify-content:center}.image-journey-blank-prompt-container{align-items:center;display:flex;flex-direction:column;gap:.75rem;max-width:400px;padding:0 1rem;width:100%}.image-journey-blank-prompt-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem .75rem;width:100%}.image-journey-blank-prompt-input:focus{border-color:#ccc;outline:none}.image-journey-blank-generate-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;min-width:120px;padding:.5rem 1rem;transition:all .2s}.image-journey-blank-generate-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.image-journey-blank p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;margin:0}.image-journey-blank-hint{color:#999!important;font-size:.875rem!important;margin-top:.5rem}@media (max-width:768px){.image-journey-header-title{font-size:1.25rem}.image-journey-nav-btn{font-size:.875rem;height:32px;margin-left:.25rem;min-width:32px;padding:.5rem}.image-journey-page-indicator{font-size:.8125rem}.image-journey-blank-prompt-container{max-width:300px;padding:0 .75rem}.image-journey-blank-prompt-input{font-size:.8125rem}.image-journey-blank-generate-btn{font-size:.8125rem;min-width:100px}}.password-page{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.password-page-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.5rem;font-weight:400;margin:0}.password-search-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease;width:200px}.password-search-input:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.password-add-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.password-add-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.password-page-content{flex:1 1;overflow-y:auto;padding:1.5rem}.password-empty,.password-loading{color:#666;font-size:.875rem;padding:2rem;text-align:center}.password-list{display:flex;flex-direction:column;gap:1rem}.password-item{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;transition:all .2s ease}.password-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.password-item-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.password-item-info{flex:1 1;min-width:0}.password-item-account{color:#333;font-size:1rem;font-weight:600;margin:0 0 .25rem}.password-item-url{color:#666;display:block;font-size:.875rem;margin-bottom:.25rem;text-decoration:none;transition:color .2s ease;word-break:break-all}.password-item-url:hover{color:#333}.password-item-username{color:#666;font-size:.875rem;margin-top:.25rem}.password-item-actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.password-copy-btn,.password-delete-btn,.password-edit-btn,.password-show-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:.875rem;justify-content:center;padding:.375rem .5rem;transition:all .2s ease}.password-copy-btn:hover:not(:disabled),.password-edit-btn:hover:not(:disabled),.password-show-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.password-copy-btn:disabled,.password-show-btn:disabled{cursor:not-allowed;opacity:.5}.password-delete-btn:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.password-item-password{background:#f9f9f9;border:1px solid #f0f0f0;border-radius:.25rem;margin:.75rem 0;padding:.75rem}.password-display{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;-webkit-user-select:all;user-select:all;word-break:break-all}.password-masked{letter-spacing:.1em}.password-item-notes{color:#666;font-size:.875rem;line-height:1.5}.password-item-meta,.password-item-notes{border-top:1px solid #f5f5f5;margin-top:.75rem;padding-top:.75rem}.password-item-meta{color:#999;font-size:.75rem}.password-form-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.password-form-modal{background:#fff;border-radius:.5rem;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.password-form-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.password-form-header h2{color:#333;font-size:1.25rem;font-weight:600;margin:0}.password-form-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;padding:0;transition:all .2s ease;width:2rem}.password-form-close:hover{background:#f5f5f5;color:#333}.password-form{padding:1.5rem}.password-form-group{margin-bottom:1.25rem}.password-form-group label{color:#333;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.password-form-group input[type=text],.password-form-group input[type=url],.password-form-group textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-sizing:border-box;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease;width:100%}.password-form-group input:focus,.password-form-group textarea:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.password-form-group textarea{min-height:80px;resize:vertical}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-field{padding-right:2.5rem}.password-toggle-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1rem;justify-content:center;padding:.25rem;position:absolute;right:.5rem;transition:all .2s ease}.password-toggle-btn:hover{background:#f5f5f5;color:#333}.password-form-actions{border-top:1px solid #f5f5f5;display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem}.password-form-cancel,.password-form-submit{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.password-form-cancel{background:#fff;color:#666}.password-form-cancel:hover{background:#f5f5f5;border-color:#ccc;color:#333}.password-form-submit{background:#333;border-color:#333;color:#fff}.password-form-submit:hover:not(:disabled){background:#000;border-color:#000}.password-form-submit:disabled{cursor:not-allowed;opacity:.5}.fullscreen-passwords{height:100vh;overflow:hidden}@media (max-width:768px){.password-search-input{width:100%}.password-item-header{align-items:stretch;flex-direction:column}.password-item-actions{justify-content:flex-start;margin-top:.75rem}.password-form-modal{border-radius:0;max-height:100vh;max-width:100%}}.meditation-container{background:#fff;color:#333;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.meditation-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem 1.5rem;position:sticky;top:0;z-index:100}.header-left{align-items:center;display:flex;gap:1rem}.header-right{display:flex;gap:.5rem}.logs-btn,.menu-toggle{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1rem;padding:.5rem;transition:all .2s ease}.logs-btn:hover,.menu-toggle:hover{background:#f5f5f5;border-color:#ccc;color:#333}.meditation-header h1{color:#333;font-size:1.5rem;font-weight:600;margin:0}.meditation-content{flex:1 1;overflow-y:auto;padding:1.5rem 1.5rem 80px}.error-message{background:#f8d7da;margin-bottom:1.5rem;padding:1rem;text-align:center}.loading-message{padding:2rem}.empty-state,.loading-message{color:#666;font-size:1rem;text-align:center}.empty-state{padding:3rem}.meditation-tab-content{padding:1rem 0}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.stat-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;text-align:center;transition:all .2s ease}.stat-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.stat-label{color:#666;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.stat-value{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.5rem;font-weight:600}.timer-wrapper{gap:2rem;padding:2rem 0}.timer-display-circle,.timer-wrapper{align-items:center;display:flex;flex-direction:column}.timer-display-circle{background:#fff;border:2px solid #e0e0e0;border-radius:50%;height:300px;justify-content:center;position:relative;transition:all .2s ease;width:300px}.timer-display-circle:hover{border-color:#ccc}.timer-time-large{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:3rem;font-weight:600;margin-bottom:.5rem}.timer-status-text{color:#666;font-size:1rem;font-weight:400}.timer-controls{max-width:500px;width:100%}.timer-inputs{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.meditation-name-input,.meditation-notes-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:inherit;font-size:1rem;padding:.75rem 1rem;transition:all .2s ease}.meditation-name-input:focus,.meditation-notes-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333;outline:none}.meditation-name-input:disabled,.meditation-notes-input:disabled{background:#f5f5f5;color:#666;cursor:not-allowed}.timer-buttons{display:flex;justify-content:center}.start-btn-meditation,.stop-btn-meditation{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.start-btn-meditation:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.start-btn-meditation:disabled{cursor:not-allowed;opacity:.5}.stop-btn-meditation:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.stop-btn-meditation:disabled{cursor:not-allowed;opacity:.5}.audio-player{padding:1rem 0}.audio-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.track-selector{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;flex:1 1;font-size:1rem;min-width:200px;padding:.5rem 1rem;transition:all .2s ease}.track-selector:focus{border-color:#333;box-shadow:0 0 0 2px #3333;outline:none}.audio-play-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.audio-play-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.audio-play-btn.playing{background:#f5f5f5;border-color:#333;color:#333}.volume-control{align-items:center;display:flex;gap:.5rem}.volume-control label{color:#666;font-size:.875rem;font-weight:500}.volume-slider{cursor:pointer;width:120px}.loop-checkbox{align-items:center;color:#666;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.loop-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.history-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:1rem}.history-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;transition:all .2s ease}.history-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.history-card-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.75rem}.history-duration,.history-name{color:#333;font-size:1rem;font-weight:600}.history-duration{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.history-card-details{margin-bottom:1rem}.history-date{margin-bottom:.25rem}.history-date,.history-time{color:#666;font-size:.875rem}.history-time{margin-bottom:.5rem}.history-description{border-top:1px solid #f0f0f0;color:#666;font-size:.875rem;margin-top:.5rem;padding-top:.5rem}.history-card-actions{display:flex;justify-content:flex-end}.delete-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.delete-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.meditation-bottom-nav{background:#fff;border-top:1px solid #e0e0e0;bottom:0;display:flex;left:0;position:fixed;right:0;z-index:100}.meditation-nav-item{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:.5rem;transition:all .2s ease}.meditation-nav-item:hover{background:#f9f9f9}.meditation-nav-item.active{background:#f5f5f5}.meditation-nav-item.active .meditation-nav-label{color:#333;font-weight:600}.meditation-nav-label{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400;transition:all .2s ease}@media (max-width:768px){.meditation-content{padding:1rem 1rem 80px}.meditation-header{padding:1rem}.timer-display-circle{height:250px;width:250px}.timer-time-large{font-size:2.5rem}.stats-grid{gap:.75rem;grid-template-columns:repeat(2,1fr)}.history-list{grid-template-columns:1fr}.audio-controls{align-items:stretch;flex-direction:column}.track-selector{width:100%}.meditation-nav-label{font-size:.8125rem}}.people-list-container{display:flex;flex-direction:column;height:100vh}.people-list-content{background-color:#f9f9f9;flex-grow:1;overflow-y:auto;padding:1.5rem}.people-search-container{margin-bottom:1.5rem}.page-header-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.2rem;font-weight:600}.people-search-input{font-size:1rem;padding:.75rem;width:100%}.add-person-btn,.people-search-input{border:1px solid #e0e0e0;border-radius:.25rem}.add-person-btn{background:none;color:#666;cursor:pointer;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.add-person-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.people-list-items{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;overflow:hidden}.people-list-item{border-bottom:1px solid #e0e0e0;color:inherit;display:block;text-decoration:none;transition:background-color .2s ease}.people-list-item:last-child{border-bottom:none}.people-list-item:hover{background-color:#f9f9f9}.people-list-item-content{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.5rem}.people-list-item-name{color:#333;font-size:1rem;font-weight:600;margin:0}.people-list-item-details{display:flex;flex-direction:column;gap:.25rem}.people-list-item-email,.people-list-item-phone{color:#666;font-size:.875rem}.no-people-message{color:#666;padding:2rem;text-align:center}@media (max-width:768px){.people-list-content{padding:1rem}.people-list-item-content{padding:.875rem 1rem}.people-list-item-name{font-size:.9375rem}.people-list-item-email,.people-list-item-phone{font-size:.8125rem}}@media (max-width:480px){.people-list-content,.people-list-item-content{padding:.75rem}.people-list-item-name{font-size:.875rem}.people-list-item-email,.people-list-item-phone{font-size:.75rem}}.people-detail-container{background-color:#fff;display:flex;flex-direction:column;height:100vh;width:100%}.people-detail-content{flex:1 1;overflow-y:auto;padding:0 1.5rem 1.5rem}.people-detail-actions{position:relative}.btn-menu{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:1.25rem;line-height:1;padding:.5rem;transition:all .2s}.btn-menu:hover{background:#f5f5f5;border-color:#ccc;color:#333}.dropdown-menu{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;padding:.5rem 0;position:absolute;right:0;top:calc(100% + 5px);width:160px;z-index:20}.menu-item{background:none;border:none;color:#333;cursor:pointer;display:block;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s;width:100%}.menu-item:hover{background-color:#f5f5f5}.menu-item.danger{color:#721c24}.menu-item.danger:hover{background-color:#f8d7da}.btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;padding:.5rem 1rem;transition:all .2s}.btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.btn-danger{border-color:#f8d7da;color:#721c24}.btn-danger:hover{background:#f8d7da}.details-section{background:#fff;border-bottom:1px solid #f5f5f5}.details-section-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 0;text-align:left;transition:background-color .2s ease;width:100%}.details-section-toggle:hover{background:#f9f9f9}.details-toggle-text{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400}.details-toggle-arrow{color:#999;font-size:.75rem;transition:transform .2s ease}.details-section-content{overflow:hidden;transition:all .3s ease-out}.details-section-content.collapsed{max-height:0;opacity:0}.details-section-content.expanded{max-height:500px;opacity:1}.details-section-content .person-info-card{background:#fafafa;border-top:1px solid #f5f5f5;padding:1rem 0}.person-info-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1.5rem;padding:1.5rem}.person-info-card h2{border-bottom:1px solid #f0f0f0;font-size:1.2rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.person-info-card p{color:#666;margin:0 0 .5rem}.note-back-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease;white-space:nowrap}.note-back-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.encounters-section{margin-top:2rem}.encounters-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.encounters-header h2{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.2rem;font-weight:600;margin:0}.encounters-header-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}@media (min-width:768px){.encounters-header{align-items:center;flex-direction:row;justify-content:space-between}}.encounter-date-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem;transition:all .2s}.encounter-date-input:hover{background:#f9f9f9;border-color:#ccc}.encounter-date-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.encounters-list{display:flex;flex-direction:column;gap:1rem}.encounter-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem}.encounter-card h3{font-size:1.1rem;font-weight:600;margin:0 0 .25rem}.encounter-date{color:#666;font-size:.75rem;margin-bottom:.5rem}.encounter-content p{color:#333;margin:0}.view-note-link{color:#007bff;display:inline-block;font-size:.875rem;margin-top:.5rem;text-decoration:none}.people-edit-container{margin:0 auto;max-width:800px;padding:1.5rem}.people-edit-container h1{font-size:1.8rem;margin-bottom:1.5rem}.people-edit-form .form-group{margin-bottom:1rem}.people-edit-form label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.people-edit-form input,.people-edit-form textarea{border:1px solid #e0e0e0;border-radius:.25rem;font-size:1rem;padding:.75rem;width:100%}.people-edit-form textarea{resize:vertical}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.btn-primary{background-color:#333;border-color:#333;color:#fff}.btn-primary:hover{background-color:#555;border-color:#555;color:#fff}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;margin-bottom:1rem;padding:.75rem}.ai-character-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;display:flex;flex-direction:column;gap:.75rem;padding:1rem;transition:all .2s ease}.ai-character-card:hover{border-color:#ccc;box-shadow:0 2px 4px #0000000d}.ai-character-card-header{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between}.ai-character-card-name{color:#333;flex:1 1;font-size:1rem;font-weight:600;margin:0}.ai-character-card-delete-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:24px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:24px}.ai-character-card-delete-btn:hover{background:#f5f5f5;color:#333}.ai-character-card-body{display:flex;flex-direction:column;gap:.5rem}.ai-character-card-info{align-items:center;display:flex;font-size:.875rem;gap:.5rem}.ai-character-card-provider{color:#666;text-transform:capitalize}.ai-character-card-model{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem}.ai-character-card-description{color:#666;font-size:.875rem;line-height:1.4;margin:0}.ai-character-card-status{align-items:center;display:flex;margin-top:.25rem}.ai-character-card-status-badge{border-radius:.25rem;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.ai-character-card-status-badge.active{background-color:#d4edda;color:#155724}.ai-character-card-status-badge.inactive{background-color:#f0f0f0;color:#666}.ai-character-management{display:flex;flex-direction:column;height:100vh}.ai-character-management-content{background-color:#f9f9f9;flex-grow:1;overflow-y:auto;padding:1.5rem}.ai-character-search-container{margin-bottom:1.5rem}.ai-character-search-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:1rem;padding:.75rem;width:100%}.ai-character-search-input:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.ai-character-empty,.ai-character-error,.ai-character-loading{color:#666;padding:1.5rem;text-align:center}.ai-character-error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;padding:.75rem}.ai-character-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.ai-character-add-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.ai-character-add-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.ai-character-detail{display:flex;flex-direction:column;height:100vh}.ai-character-detail-content{background-color:#f9f9f9;flex-grow:1;overflow-y:auto;padding:1.5rem}.ai-character-detail-error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;padding:.75rem}.ai-character-detail-back-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.ai-character-detail-back-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.ai-character-detail-actions,.ai-character-detail-menu-btn{align-items:center;display:flex}.ai-character-detail-menu-btn{background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;flex-shrink:0;font-size:1rem;height:32px;justify-content:center;opacity:1;padding:.25rem .5rem;transition:color .2s ease,background-color .2s ease;width:32px}.ai-character-detail-menu-btn:hover{background:#f5f5f5;color:#333}.ai-character-detail-menu-popup{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;min-width:150px;padding:.25rem 0;position:fixed;z-index:1000}.ai-character-detail-menu-option{background:none;border:none;color:#333;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.ai-character-detail-menu-option:hover{background:#f9f9f9;color:#333}.ai-character-detail-menu-option.delete{color:#dc3545}.ai-character-detail-menu-option.delete:hover{background:#f8d7da;color:#721c24}.ai-character-detail-menu-separator{background:#e0e0e0;height:1px;margin:.25rem 0}.ai-character-detail-section{margin-bottom:2rem}.ai-character-detail-section-title{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400;margin-bottom:1rem}.ai-character-detail-info{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;flex-direction:column;gap:.75rem;padding:1rem}.ai-character-detail-info-item{align-items:center;display:flex;gap:.75rem}.ai-character-detail-info-label{color:#333;font-size:.875rem;font-weight:500;min-width:120px}.ai-character-detail-info-value{color:#666;font-size:.875rem}.ai-character-detail-info-value-monospace{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.ai-character-detail-status-badge{border-radius:.25rem;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.ai-character-detail-status-badge.active{background-color:#d4edda;color:#155724}.ai-character-detail-status-badge.inactive{background-color:#f0f0f0;color:#666}.ai-character-detail-persona{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem}.ai-character-detail-persona-json{word-wrap:break-word;color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;margin:0;overflow-x:auto;white-space:pre-wrap}.ai-character-form{display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:600px}.ai-character-form-error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;font-size:.875rem;padding:.75rem}.ai-character-form-group{display:flex;flex-direction:column;gap:.5rem}.ai-character-form-group label{color:#333;font-size:.875rem;font-weight:500}.ai-character-form-input,.ai-character-form-select,.ai-character-form-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;padding:.75rem}.ai-character-form-input-monospace,.ai-character-form-textarea-monospace{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem}.ai-character-form-input:focus,.ai-character-form-select:focus,.ai-character-form-textarea:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.ai-character-form-textarea{min-height:150px;resize:vertical}.ai-character-form-checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:.5rem}.ai-character-form-checkbox{accent-color:#333;cursor:pointer;height:18px;width:18px}.ai-character-tools-selection{background:#fafafa;border:1px solid #e0e0e0;border-radius:.25rem;display:flex;flex-direction:column;gap:.75rem;padding:.75rem}.ai-character-tool-checkbox-label{align-items:center;color:#333;cursor:pointer;display:flex;font-size:.875rem;font-weight:400;gap:.5rem}.ai-character-form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.ai-character-form-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.ai-character-form-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.ai-character-form-btn:disabled{cursor:not-allowed;opacity:.5}.ai-character-form-btn-primary{background:#333;border-color:#333;color:#fff}.ai-character-form-btn-primary:hover:not(:disabled){background:#000;border-color:#000}.ai-character-form-btn-secondary{background:#fff}.ai-character-edit{display:flex;flex-direction:column;height:100vh}.ai-character-edit-content{background-color:#f9f9f9;flex-grow:1;overflow-y:auto;padding:1.5rem}.ai-character-edit-error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;font-size:.875rem;margin-bottom:1rem;padding:.75rem}.time-tunnel-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.time-tunnel-header-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.2rem;font-weight:600;margin:0}.time-tunnel-content{background:#f9f9f9;flex:1 1;overflow-y:auto;padding:1rem}.time-tunnel-error,.time-tunnel-loading{color:#666;padding:2rem;text-align:center}.time-tunnel-menu-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;line-height:1;padding:.5rem .75rem;transition:all .2s ease;width:32px}.time-tunnel-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.time-tunnel-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;min-width:180px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}.time-tunnel-menu-item{background:none;border:none;color:#333;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.time-tunnel-menu-item:hover{background:#f5f5f5}.time-tunnel-menu-item:active{background:#f0f0f0}.time-tunnel-menu-item.active{background:#f9f9f9;color:#333;font-weight:500}.time-tunnel-filters{animation:slideDown .3s ease-out;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1rem;padding:.75rem}@keyframes slideDown{0%{margin-bottom:0;max-height:0;opacity:0;padding-bottom:0;padding-top:0;transform:translateY(-10px)}to{margin-bottom:1rem;max-height:500px;opacity:1;padding-bottom:.75rem;padding-top:.75rem;transform:translateY(0)}}.time-tunnel-filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.time-tunnel-filter-group{align-items:center;display:flex;flex:1 1;gap:.5rem;min-width:120px}.time-tunnel-filter-group label{color:#666;font-size:.875rem;font-weight:500;white-space:nowrap}.time-tunnel-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;flex:1 1;font-size:.875rem;min-width:0;padding:.5rem;transition:all .2s ease}.time-tunnel-select:hover{border-color:#ccc}.time-tunnel-select:focus{border-color:#333;outline:none}.time-tunnel-clear-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease;white-space:nowrap}.time-tunnel-clear-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.year-timeline-container{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1rem;padding:.75rem}.year-timeline-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.year-timeline-controls-secondary{border-top:1px solid #f0f0f0;justify-content:space-between;padding-top:.75rem}.year-timeline-decade-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.375rem .75rem;transition:all .2s ease}.year-timeline-decade-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.year-timeline-zoom-controls{align-items:center;display:flex;gap:.5rem}.year-timeline-zoom-controls label{color:#666;font-size:.875rem;font-weight:500}.year-timeline-zoom-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.375rem .75rem;transition:all .2s ease}.year-timeline-zoom-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.year-timeline-zoom-btn.active{background:#333;border-color:#333;color:#fff}.year-timeline-expand-btn,.year-timeline-jump-btn,.year-timeline-scroll-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.375rem .75rem;transition:all .2s ease}.year-timeline-expand-btn:hover,.year-timeline-jump-btn:hover,.year-timeline-scroll-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.year-timeline-range{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;padding:0 .5rem}.year-timeline-scroll-container{overflow-x:auto;overflow-y:hidden;scrollbar-color:#ccc #f5f5f5;scrollbar-width:thin}.year-timeline-scroll-container::-webkit-scrollbar{height:8px}.year-timeline-scroll-container::-webkit-scrollbar-track{background:#f5f5f5}.year-timeline-scroll-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.year-timeline-scroll-container::-webkit-scrollbar-thumb:hover{background:#999}.year-timeline-density-bar{align-items:flex-end;background:#fafafa;border-radius:.25rem;display:flex;gap:.5rem;height:40px;margin-bottom:.5rem;overflow-x:auto;padding:.5rem 0;scrollbar-width:none}.year-timeline-density-bar::-webkit-scrollbar{display:none}.year-timeline-density-item{background:linear-gradient(0deg,#333,#666);border-radius:2px 2px 0 0;flex:1 1;min-width:4px;opacity:.6;transition:all .3s ease}.year-timeline-density-item:hover{background:linear-gradient(0deg,#000,#333);opacity:1}.year-timeline{display:flex;gap:.5rem;min-width:fit-content;padding:1rem 0;transition:all .3s ease}.year-timeline-compact{gap:.25rem}.year-timeline-compact .year-timeline-node{min-width:60px;padding:.5rem .75rem}.year-timeline-expanded{gap:1rem}.year-timeline-expanded .year-timeline-node{min-width:100px;padding:1rem 1.25rem}.year-timeline-decade-marker{align-items:center;display:flex;flex-direction:column;margin:0 .25rem;position:relative}.year-timeline-decade-line{background:linear-gradient(180deg,#0000,#ccc,#0000);height:100%;opacity:.5;width:2px}.year-timeline-decade-label{color:#999;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;font-weight:600;position:absolute;top:-1.5rem;white-space:nowrap}.year-timeline-node{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;min-width:80px;padding:.75rem 1rem;position:relative;transform-origin:center;transition:all .3s ease}.year-timeline-node:hover{background:#f9f9f9;border-color:#ccc;transform:scale(1.05)}.year-timeline-node.has-events{border-color:#333}.year-timeline-node.density-low{border-width:1px}.year-timeline-node.density-medium{border-width:2px;box-shadow:0 0 4px #3333331a}.year-timeline-node.density-high{border-width:2px;box-shadow:0 0 8px #3333;transform:scale(1.05)}.year-timeline-node.density-very-high{animation:pulse 2s ease-in-out infinite;border-width:3px;box-shadow:0 0 12px #3333334d;transform:scale(1.1)}@keyframes pulse{0%,to{box-shadow:0 0 12px #3333334d}50%{box-shadow:0 0 16px #33333380}}.year-timeline-node.hovered{transform:scale(1.1);z-index:10}.year-timeline-node.selected{background:#333;border-color:#333;color:#fff;transform:scale(1.05)}.year-timeline-node.selected .year-timeline-node-year{color:#fff}.year-timeline-node-year{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500}.year-timeline-node-marker{align-items:center;display:flex;justify-content:center;position:relative}.year-timeline-node-dot{background:#333;border-radius:50%;height:8px;width:8px}.year-timeline-node.selected .year-timeline-node-dot{background:#fff}.year-timeline-node-count{background:#333;border-radius:.25rem;color:#fff;font-size:.625rem;font-weight:600;min-width:16px;padding:.125rem .25rem;position:absolute;right:-8px;text-align:center;top:-8px}.year-timeline-node.selected .year-timeline-node-count{background:#fff;color:#333}.year-timeline-hover-card{animation:fadeInCard .2s ease-out;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 4px 12px #00000026;left:50%;margin-top:.5rem;max-width:300px;min-width:250px;padding:.75rem;pointer-events:none;position:absolute;top:100%;transform:translateX(-50%);z-index:100}@keyframes fadeInCard{0%{opacity:0;transform:translateX(-50%) translateY(-10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.hover-card-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}.hover-card-header strong{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem}.hover-card-total{color:#666;font-size:.75rem;font-weight:500}.hover-card-content{display:flex;flex-direction:column;gap:.5rem}.hover-card-country{align-items:center;background:#fafafa;border-radius:.25rem;display:flex;font-size:.8125rem;justify-content:space-between;padding:.375rem .5rem}.hover-card-country-name{color:#333;font-weight:500}.hover-card-country-count{background:#e0e0e0;border-radius:.25rem;color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;padding:.125rem .375rem}.hover-card-events{border-top:1px solid #f0f0f0;margin-top:.5rem;padding-top:.5rem}.hover-card-event-preview{color:#666;font-size:.8125rem;line-height:1.4;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hover-card-more{color:#999;font-size:.75rem;font-style:italic;margin-top:.25rem}.event-list-container{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:.75rem}.event-list-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}.event-list-header h3{color:#333;font-size:1rem;font-weight:600;margin:0}.event-list-filter{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem}.event-list{display:flex;flex-direction:column;gap:.75rem}.event-list-empty{color:#666;padding:2rem;text-align:center}.event-list-item{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;padding:.75rem;transition:all .2s ease}.event-list-item:hover{background:#fff;border-color:#ccc}.event-list-item-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.5rem}.event-list-item-date{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500}.event-list-item-country{color:#666;flex:1 1;font-size:.875rem}.event-list-item-actions{display:flex;gap:.5rem}.event-list-item-delete-btn,.event-list-item-edit-btn{background:none;border:none;cursor:pointer;font-size:1rem;opacity:.6;padding:.25rem;transition:opacity .2s ease}.event-list-item-delete-btn:hover,.event-list-item-edit-btn:hover{opacity:1}.event-list-item-title{color:#333;font-size:1rem;font-weight:600;margin-bottom:.5rem}.event-list-item-description{color:#666;font-size:.875rem;line-height:1.5}.event-list-by-location{display:flex;flex-direction:column;gap:.75rem}.event-list-country-section{border:1px solid #e0e0e0;border-radius:.375rem;overflow:hidden;transition:all .2s ease}.event-list-country-section:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.event-list-country-header{align-items:center;background:#fafafa;border:none;border-bottom:1px solid #e0e0e0;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:all .2s ease;width:100%}.event-list-country-header:hover{background:#f5f5f5}.event-list-country-info{align-items:center;display:flex;flex:1 1;gap:.75rem}.event-list-country-dot{background:#333;border-radius:50%;flex-shrink:0;height:12px;width:12px}.event-list-country-name{color:#333;flex:1 1;font-size:.875rem;font-weight:600}.event-list-country-count{background:#e0e0e0;border-radius:.25rem;color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.event-list-country-arrow{color:#666;font-size:.75rem;transition:transform .2s ease}.event-list-country-events{animation:expandSection .3s ease-out;background:#fff;display:flex;flex-direction:column;gap:.75rem;padding:.75rem}@keyframes expandSection{0%{max-height:0;opacity:0}to{max-height:2000px;opacity:1}}.event-form-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.event-form-modal{background:#fff;border-radius:.5rem;box-shadow:0 2px 8px #00000026;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.event-form-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.event-form-header h2{color:#333;font-size:1.25rem;font-weight:600;margin:0}.event-form-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.event-form-close:hover{background:#f5f5f5;color:#333}.event-form{padding:1.5rem}.event-form-error{background:#f8d7da;border-radius:.25rem;color:#721c24;font-size:.875rem;padding:.75rem}.event-form-error,.event-form-group{margin-bottom:1rem}.event-form-group label{color:#333;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.event-form-input,.event-form-select,.event-form-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:inherit;font-size:.875rem;padding:.75rem;transition:all .2s ease;width:100%}.event-form-input:focus,.event-form-select:focus,.event-form-textarea:focus{border-color:#333;outline:none}.event-form-textarea{min-height:100px;resize:vertical}.event-form-actions{border-top:1px solid #f0f0f0;display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}.event-form-cancel-btn,.event-form-save-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.event-form-cancel-btn{background:#fff;color:#666}.event-form-cancel-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.event-form-save-btn{background:#333;border-color:#333;color:#fff}.event-form-save-btn:hover:not(:disabled){background:#444;border-color:#444}.event-form-save-btn:disabled{cursor:not-allowed;opacity:.6}.ai-generate-form-modal{background:#fff;border-radius:.5rem;box-shadow:0 2px 8px #00000026;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.ai-generate-form-content{padding:1.5rem}.ai-generate-results{display:flex;flex-direction:column;gap:1rem}.ai-generate-results-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding-bottom:1rem}.ai-generate-results-header h3{color:#333;font-size:1rem;font-weight:600;margin:0}.ai-generate-select-all-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.ai-generate-select-all-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.ai-generate-events-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto;padding:.5rem 0}.ai-generate-event-item{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;transition:all .2s ease}.ai-generate-event-item:hover{background:#fafafa;border-color:#ccc}.ai-generate-event-item.selected{background:#f9f9f9;border-color:#333}.ai-generate-event-checkbox{align-items:flex-start;cursor:pointer;display:flex;margin:0;padding:1rem}.ai-generate-event-checkbox input[type=checkbox]{accent-color:#333;cursor:pointer;height:18px;margin-right:.75rem;margin-top:.25rem;width:18px}.ai-generate-event-content{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.ai-generate-event-header{align-items:center;display:flex;font-size:.875rem;gap:1rem}.ai-generate-event-year{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-weight:500}.ai-generate-event-country{color:#666;font-size:.8125rem}.ai-generate-event-title{color:#333;font-size:.9375rem;font-weight:500;line-height:1.4}.ai-generate-event-description{color:#666;font-size:.875rem;line-height:1.5;margin-top:.25rem}.location-comparison-container{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;margin-bottom:1rem;padding:.75rem}.location-comparison-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}.location-comparison-header h3{color:#333;font-size:1rem;font-weight:600;margin:0}.location-comparison-filter{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem}.location-comparison-empty{color:#666;padding:2rem;text-align:center}.location-comparison-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));max-height:600px}.location-comparison-column{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;flex-direction:column;overflow:hidden;transition:all .2s ease}.location-comparison-column:hover{border-color:#ccc;box-shadow:0 2px 8px #00000014}.location-comparison-country-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;border-top:3px solid #333;display:flex;gap:.5rem;padding:.75rem 1rem;position:sticky;top:0;z-index:1}.location-comparison-country-dot{background:#333;border-radius:50%;flex-shrink:0;height:10px;width:10px}.location-comparison-country-name{color:#333;flex:1 1;font-size:.875rem;font-weight:600}.location-comparison-country-count{background:#f0f0f0;border-radius:.25rem;color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.location-comparison-events{display:flex;flex:1 1;flex-direction:column;gap:.75rem;overflow-y:auto;padding:.75rem;scrollbar-color:#ccc #f5f5f5;scrollbar-width:thin}.location-comparison-events::-webkit-scrollbar{width:6px}.location-comparison-events::-webkit-scrollbar-track{background:#f5f5f5}.location-comparison-events::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.location-comparison-events::-webkit-scrollbar-thumb:hover{background:#999}.location-comparison-event{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;padding:.75rem;transition:all .2s ease}.location-comparison-event:hover{border-color:#333;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.location-comparison-event-date{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;font-weight:500;margin-bottom:.375rem}.location-comparison-event-title{color:#333;font-size:.875rem;font-weight:600;line-height:1.4;margin-bottom:.25rem}.location-comparison-event-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:.8125rem;line-height:1.5;overflow:hidden}@media (max-width:768px){.time-tunnel-content{padding:.75rem}.time-tunnel-filters{padding:.5rem}.time-tunnel-filter-row{flex-direction:column;gap:.5rem}.time-tunnel-filter-group{flex:none;width:100%}.time-tunnel-clear-btn,.time-tunnel-select{width:100%}.year-timeline-container{padding:.5rem}.year-timeline-controls,.year-timeline-controls-secondary{align-items:stretch;flex-direction:column;gap:.5rem}.year-timeline-zoom-controls{justify-content:space-between;width:100%}.year-timeline-node{min-width:60px;padding:.5rem .75rem}.year-timeline-hover-card{left:50%;max-width:calc(100vw - 2rem);min-width:220px;right:auto;transform:translateX(-50%)}.event-list-container{padding:.5rem}.event-list-header{align-items:flex-start;flex-direction:column}.event-list-item{padding:.5rem}.event-list-item-header{align-items:flex-start;flex-direction:column;gap:.5rem}.event-form-modal{border-radius:0;margin:0;max-height:100vh;max-width:100%}.event-form,.event-form-header{padding:1rem}.location-comparison-container{padding:.5rem}.location-comparison-grid{gap:.5rem;grid-template-columns:1fr;max-height:500px}}@media (max-width:480px){.time-tunnel-content{padding:.5rem}.time-tunnel-header-title{font-size:1rem}.event-list-container,.location-comparison-container,.time-tunnel-filters,.year-timeline-container{padding:.5rem}.year-timeline-node{min-width:50px;padding:.5rem}.year-timeline-node-year{font-size:.75rem}.event-list-item{padding:.5rem}.event-list-item-title{font-size:.875rem}.year-timeline-hover-card{max-width:calc(100vw - 1rem);min-width:200px}}.activities-page{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.activities-page-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.5rem;font-weight:400;margin:0}.activities-filter-container{position:relative}.activities-filter-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;font-weight:500;height:40px;justify-content:center;padding:.5rem .75rem;transition:all .2s ease;width:40px}.activities-filter-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.activities-filter-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:1rem;min-width:250px;padding:1rem;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}.activities-filter-group{display:flex;flex-direction:column;gap:.5rem}.activities-filter-label{color:#666;font-size:.875rem;font-weight:500}.activities-filter-input,.activities-filter-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.activities-filter-input:focus,.activities-filter-select:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.activities-filter-close{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;margin-top:.5rem;padding:.5rem 1rem;transition:all .2s ease}.activities-filter-close:hover{background:#f5f5f5;border-color:#ccc;color:#333}.activities-page-content{flex:1 1;overflow-y:auto;padding:1.5rem}.activities-empty,.activities-loading{color:#666;font-size:.875rem;padding:2rem;text-align:center}.activities-list{display:flex;flex-direction:column;gap:1.5rem}.activities-date-group{display:flex;flex-direction:column;gap:.75rem}.activities-date-header{border-bottom:1px solid #f0f0f0;color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:500;margin:0;padding-bottom:.5rem}.activities-date-items{display:flex;flex-direction:column}.activities-item{padding:.75rem 0}.activities-item-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.5rem}.activities-item-time{color:#666;font-size:.75rem;font-weight:400}.activities-item-time,.activities-item-type{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.activities-item-type{color:#333;font-size:.875rem;font-weight:500}.activities-item-divider{background:#e0e0e0;height:1px;margin:.5rem 0}.activities-item-details{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem}.activities-detail-row{color:#666;display:flex;font-size:.875rem;gap:.5rem}.activities-detail-label{color:#333;font-weight:500;min-width:fit-content}.activities-detail-value{color:#666;word-break:break-word}@media (max-width:768px){.activities-page-content{padding:1rem}.activities-date-header{font-size:.9375rem}.activities-filter-dropdown{left:auto;min-width:200px;right:0}}@media (max-width:480px){.activities-page-content{padding:.75rem}.activities-item{padding:.5rem 0}.activities-item-time{font-size:.6875rem}.activities-detail-row,.activities-item-type{font-size:.8125rem}.activities-filter-dropdown{min-width:180px}}.past-drawings-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:2000}.past-drawings-modal{background:#fff;border:1px solid #e0e0e0;border-radius:.5rem;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;max-height:80vh;max-width:800px;width:100%}.past-drawings-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.past-drawings-title{color:#333;font-size:1.25rem;font-weight:600;margin:0}.past-drawings-close,.past-drawings-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.past-drawings-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.past-drawings-close:hover{background:#f5f5f5;color:#333}.past-drawings-empty,.past-drawings-loading{padding:3rem 1.5rem;text-align:center}.past-drawings-empty-text,.past-drawings-loading-text{color:#666}.past-drawings-empty-text,.past-drawings-error,.past-drawings-loading-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem}.past-drawings-error{background:#f8d7da;border-top:1px solid #e0e0e0;color:#721c24;padding:1rem 1.5rem}.past-drawings-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));overflow-y:auto;padding:1rem}.past-drawings-item{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;flex-direction:column;overflow:hidden;transition:all .2s ease}.past-drawings-item:hover{border-color:#ccc;box-shadow:0 2px 4px #0000001a}.past-drawings-thumbnail-wrapper{align-items:center;aspect-ratio:1;background:#fff;display:flex;justify-content:center;overflow:hidden;width:100%}.past-drawings-thumbnail{display:block;height:100%;object-fit:contain;width:100%}.past-drawings-info{display:flex;flex-direction:column;gap:.5rem;padding:.75rem}.past-drawings-date{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem}.past-drawings-actions{display:flex;gap:.5rem}.past-drawings-action-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem;transition:all .2s ease}.past-drawings-action-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.past-drawings-load-btn:hover{background:#333;border-color:#333;color:#fff}.past-drawings-delete-btn:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}@media (max-width:768px){.past-drawings-modal{margin:.5rem;max-height:90vh;max-width:100%}.past-drawings-header{padding:.875rem 1rem}.past-drawings-title{font-size:1.125rem}.past-drawings-list{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));padding:.75rem}.past-drawings-info{padding:.625rem}.past-drawings-action-btn{font-size:.8125rem;padding:.5rem}}@media (max-width:480px){.past-drawings-list{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.past-drawings-info{padding:.5rem}.past-drawings-action-btn{font-size:.75rem;padding:.375rem}}.drawing-container{background:#fff;display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.drawing-toolbar{align-items:center;background:#fafafa;border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1.5rem}.drawing-tool-group{display:flex;gap:.5rem}.drawing-tool-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.drawing-tool-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.drawing-tool-btn.active{background:#333;border-color:#333;color:#fff}.drawing-size-controls{align-items:center;display:flex;gap:1rem}.drawing-size-control{align-items:center;display:flex;gap:.75rem}.drawing-size-label{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;min-width:100px}.drawing-size-slider{appearance:none;background:#f0f0f0;border-radius:2px;height:4px;outline:none;width:150px}.drawing-size-slider::-webkit-slider-thumb{appearance:none;background:#333;border-radius:50%;cursor:pointer;height:16px;-webkit-transition:all .2s ease;transition:all .2s ease;width:16px}.drawing-size-slider::-webkit-slider-thumb:hover{background:#000;transform:scale(1.1)}.drawing-size-slider::-moz-range-thumb{background:#333;border:none;border-radius:50%;cursor:pointer;height:16px;-moz-transition:all .2s ease;transition:all .2s ease;width:16px}.drawing-size-slider::-moz-range-thumb:hover{background:#000;transform:scale(1.1)}.drawing-canvas-wrapper{background:#fafafa;flex:1 1;overflow:hidden;position:relative}.drawing-background-image{height:100%;left:0;object-fit:contain;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}.drawing-canvas{cursor:crosshair;display:block;height:100%;position:relative;touch-action:none;width:100%;z-index:1}.drawing-loading-overlay{align-items:center;background:#ffffffe6;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.drawing-loading-text{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem}.drawing-menu-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;font-weight:500;height:40px;justify-content:center;min-width:40px;padding:.5rem .75rem;transition:all .2s ease}.drawing-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.drawing-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 8px #0000001a;min-width:160px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}.drawing-menu-item{background:none;border:none;color:#333;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.drawing-menu-item:hover{background:#f5f5f5}.drawing-menu-item:active{background:#f0f0f0}.drawing-menu-item:disabled{cursor:not-allowed;opacity:.5}.drawing-menu-item:disabled:hover{background:none}.drawing-opacity-control{align-items:center;display:flex;gap:.75rem}.drawing-background-toggle{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;min-width:40px;padding:.5rem .75rem;transition:all .2s ease}.drawing-background-toggle:hover{color:#333}.drawing-background-toggle.active,.drawing-background-toggle:hover{background:#f5f5f5;border-color:#ccc}.drawing-generate-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:2000}.drawing-generate-modal-content{background:#fff;border:1px solid #e0e0e0;border-radius:.5rem;box-shadow:0 4px 12px #00000026;max-width:500px;padding:1.5rem;width:100%}.drawing-generate-modal-title{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.25rem;font-weight:600;margin:0 0 .75rem}.drawing-generate-modal-description{color:#666;line-height:1.5;margin:0 0 1rem}.drawing-generate-modal-description,.drawing-generate-prompt{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem}.drawing-generate-prompt{border:1px solid #e0e0e0;border-radius:.25rem;color:#333;margin-bottom:1rem;padding:.75rem;resize:vertical;transition:border-color .2s ease;width:100%}.drawing-generate-prompt:focus{border-color:#333;outline:none}.drawing-generate-prompt:disabled{background:#f5f5f5;cursor:not-allowed}.drawing-generate-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.drawing-generate-btn{background:#333;border:1px solid #333;border-radius:.25rem;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.drawing-generate-btn:hover:not(:disabled){background:#000;border-color:#000}.drawing-generate-btn:disabled{cursor:not-allowed;opacity:.5}.drawing-generate-cancel{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.drawing-generate-cancel:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.drawing-generate-cancel:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.drawing-toolbar{flex-wrap:wrap;gap:.75rem;padding:.625rem 1rem}.drawing-tool-btn{font-size:.8125rem;padding:.5rem .875rem}.drawing-size-control{gap:.5rem}.drawing-size-label{font-size:.8125rem;min-width:80px}.drawing-size-slider{width:120px}.drawing-menu-dropdown{min-width:140px}.drawing-menu-item{font-size:.8125rem;padding:.625rem .875rem}}@media (max-width:480px){.drawing-toolbar{align-items:stretch;flex-direction:column;padding:.5rem .75rem}.drawing-size-controls,.drawing-tool-group{justify-content:center}.drawing-size-slider{max-width:200px;width:100%}.drawing-menu-btn{font-size:1.125rem;height:36px;min-width:36px;padding:.5rem}.drawing-menu-dropdown{min-width:120px}.drawing-menu-item{font-size:.75rem;padding:.5rem .75rem}.drawing-opacity-control{gap:.5rem}.drawing-generate-modal-content{padding:1rem}.drawing-generate-modal-title{font-size:1.125rem}}.memory-technique-container{background:#fff;display:flex;flex-direction:column;height:100vh;overflow:hidden}.memory-technique-content{display:flex;flex:1 1;flex-direction:column;gap:1.5rem;overflow-y:auto;padding:1.5rem}.memory-technique-header-actions{position:relative}.memory-technique-menu-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;font-weight:500;height:40px;justify-content:center;padding:.5rem .75rem;transition:all .2s ease;width:40px}.memory-technique-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.memory-technique-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 4px #0000000d;min-width:200px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}.memory-technique-menu-item{background:none;border:none;color:#333;cursor:pointer;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.memory-technique-menu-item:hover{background:#f5f5f5}.memory-technique-menu-item:not(:last-child){border-bottom:1px solid #f0f0f0}.memory-technique-reference-section{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem}.memory-technique-character-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));margin-top:.75rem}.memory-technique-character-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;display:flex;flex-direction:column;padding:.5rem}.memory-technique-character-digit{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.memory-technique-character-value{font-size:.75rem}.memory-technique-character-value,.memory-technique-section-title{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.memory-technique-section-title{font-size:.875rem;font-weight:400;margin:0 0 .75rem}.memory-technique-input-section{display:flex;flex-direction:column;gap:.5rem}.memory-technique-label{color:#333;font-size:.875rem;font-weight:500}.memory-technique-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;padding:.75rem;transition:all .2s ease}.memory-technique-input:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.memory-technique-input::placeholder{color:#999}.memory-technique-breakdown-section{display:flex;flex-direction:column}.memory-technique-breakdown{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem}.memory-technique-breakdown-pairs{display:flex;flex-direction:column;gap:.75rem}.memory-technique-pair-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;display:flex;gap:.75rem;padding:.75rem}.memory-technique-pair-number{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600;min-width:40px}.memory-technique-pair-separator{color:#666;font-size:.875rem}.memory-technique-pair-picture{color:#333;font-size:1rem;font-weight:500}.memory-technique-story-section{display:flex;flex-direction:column}.memory-technique-story-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.memory-technique-story-actions{align-items:center;display:flex;gap:.5rem}.memory-technique-generate-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.memory-technique-generate-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.memory-technique-generate-btn:disabled{cursor:not-allowed;opacity:.5}.memory-technique-story-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.5;padding:.75rem;resize:vertical;transition:all .2s ease;width:100%}.memory-technique-story-textarea:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.memory-technique-story-textarea::placeholder{color:#999}.memory-technique-images-section{border-top:1px solid #e0e0e0;margin-top:1.5rem;padding-top:1.5rem}.memory-technique-images-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:.75rem}.memory-technique-image-container{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;overflow:hidden;transition:all .2s ease}.memory-technique-image-container:hover{border-color:#ccc;box-shadow:0 2px 4px #0000000d}.memory-technique-image{display:block;height:auto;object-fit:contain;width:100%}.memory-technique-save-section{display:flex;justify-content:flex-end;margin-top:.75rem}.memory-technique-save-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.memory-technique-save-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.memory-technique-save-btn:disabled{cursor:not-allowed;opacity:.5}.memory-technique-saved-section{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;overflow:hidden}.memory-technique-saved-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:background-color .2s ease;width:100%}.memory-technique-saved-toggle:hover{background:#f9f9f9}.memory-technique-toggle-arrow{color:#666;font-size:.75rem;transition:transform .2s ease}.memory-technique-saved-content{background:#fafafa;border-top:1px solid #f5f5f5;display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto;padding:0 1.5rem 1.5rem}.memory-technique-entry-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;transition:all .2s ease}.memory-technique-entry-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.memory-technique-entry-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.memory-technique-entry-info{display:flex;flex-direction:column;gap:.25rem}.memory-technique-entry-number{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600}.memory-technique-entry-date{color:#666;font-size:.75rem}.memory-technique-entry-actions{display:flex;gap:.5rem}.memory-technique-entry-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.8125rem;padding:.375rem .75rem;transition:all .2s ease}.memory-technique-entry-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.memory-technique-entry-btn-delete:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.memory-technique-entry-story-preview{color:#666;font-size:.875rem;line-height:1.5;margin-top:.5rem}@media (max-width:768px){.memory-technique-content{gap:1rem;padding:1rem}.memory-technique-character-grid{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.memory-technique-section-title{font-size:.8125rem}}@media (max-width:480px){.memory-technique-content{gap:.75rem;padding:.75rem}.memory-technique-character-grid{grid-template-columns:repeat(3,1fr)}.memory-technique-pair-item{flex-wrap:wrap;gap:.5rem}.memory-technique-story-header{align-items:flex-start;flex-direction:column;gap:.5rem}.memory-technique-story-actions{flex-direction:column;width:100%}.memory-technique-generate-btn{width:100%}.memory-technique-images-grid{grid-template-columns:1fr}}.dashboard-container{background:#fff;display:flex;flex-direction:column;height:100vh}.dashboard-main-content{flex:1 1;overflow-y:auto;padding:1.5rem}.dashboard-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:3rem}.dashboard-spinner{animation:dashboard-spin 1s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:40px;margin-bottom:1rem;width:40px}@keyframes dashboard-spin{to{transform:rotate(1turn)}}.dashboard-loading p{color:#666;font-size:.875rem}.dashboard-error{align-items:center;color:#721c24;display:flex;flex-direction:column;justify-content:center;padding:3rem}.dashboard-error p{font-size:.875rem;margin-bottom:1rem}.dashboard-retry-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.dashboard-retry-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.dashboard-charts{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr;margin:0 auto;max-width:1200px}.dashboard-chart-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1.5rem;transition:all .2s ease}.dashboard-chart-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.dashboard-chart-toggle{align-items:center;background:none;border:none;border-radius:.25rem;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:0;padding:.75rem 0;transition:background-color .2s ease;width:100%}.dashboard-chart-toggle:hover{background:#f9f9f9}.dashboard-chart-title{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:600;margin:0}.dashboard-chart-arrow{color:#666;font-size:.75rem;margin-left:1rem;transition:transform .2s ease}.dashboard-chart-content{overflow:hidden;transition:all .3s ease-out}.dashboard-chart-content.expanded{max-height:5000px;padding-top:1.5rem}.dashboard-chart-content.collapsed{max-height:0;padding-top:0}.dashboard-empty{color:#666;padding:2rem;text-align:center}.dashboard-empty p{font-size:.875rem;margin:0}.dashboard-chart-wrapper{height:100%;width:100%}.dashboard-chart-tooltip{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 4px #0000000d;padding:.5rem .75rem}.dashboard-chart-tooltip-label{color:#333;font-size:.875rem;font-weight:500;margin:0 0 .25rem}.dashboard-chart-tooltip-value{color:#666;font-size:.875rem;margin:0}.dashboard-kc-table-container{overflow-x:auto;width:100%}.dashboard-kc-table{background:#fff;border:1px solid #e0e0e0;border-collapse:collapse;border-radius:.375rem;width:100%}.dashboard-kc-table-header{background:#f9f9f9;border-bottom:1px solid #e0e0e0;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem;text-align:left;transition:background .2s;-webkit-user-select:none;user-select:none}.dashboard-kc-table-header:hover{background:#f5f5f5}.dashboard-kc-table-header.sorted{color:#333}.dashboard-kc-sort-indicator{font-size:.75rem;margin-left:.5rem}.dashboard-kc-table-row{transition:background .2s}.dashboard-kc-table-row:hover{background:#fafafa}.dashboard-kc-table-cell{border-bottom:1px solid #f0f0f0;color:#333;font-size:.875rem;padding:.75rem}.dashboard-kc-table-cell-name{font-weight:500}.dashboard-kc-table-cell-count{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;text-align:right}.dashboard-kc-table-empty{color:#666;font-size:.875rem;padding:2rem;text-align:center}.dashboard-menu-container{position:relative}.dashboard-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 4px #0000001a;margin-top:.5rem;max-width:300px;min-width:200px;position:absolute;right:0;top:100%;z-index:1000}.dashboard-menu-section{padding:.5rem 0}.dashboard-menu-section-title{font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase}.dashboard-menu-item,.dashboard-menu-section-title{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.dashboard-menu-item{background:none;border:none;cursor:pointer;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.dashboard-menu-item:hover{background:#f9f9f9;color:#333}.dashboard-menu-item.active{background:#f5f5f5;color:#333;font-weight:500}.dashboard-menu-divider{background:#f0f0f0;height:1px;margin:.5rem 0}.dashboard-custom-range{background:#fafafa;border-top:1px solid #f0f0f0;padding:.5rem 1rem}.dashboard-custom-range-inputs{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.dashboard-custom-range-inputs label{color:#666;display:flex;flex-direction:column;font-size:.8125rem;gap:.25rem}.dashboard-custom-range-inputs label,.dashboard-date-input{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.dashboard-date-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-size:.875rem;padding:.5rem;transition:border-color .2s ease}.dashboard-date-input:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}@media (max-width:768px){.dashboard-main-content{padding:1rem}.dashboard-charts{gap:1rem}.dashboard-chart-card{padding:1rem}.dashboard-chart-title{font-size:.9375rem;margin-bottom:1rem}.dashboard-kc-table-cell,.dashboard-kc-table-header{font-size:.8125rem;padding:.5rem}.dashboard-menu-dropdown{max-width:250px;min-width:180px}}@media (max-width:480px){.dashboard-chart-card,.dashboard-main-content{padding:.75rem}.dashboard-chart-title{font-size:.875rem}.dashboard-kc-table-cell,.dashboard-kc-table-header{font-size:.75rem;padding:.5rem}}.whiteboard-container{background:#fff;display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.whiteboard-content{flex:1 1;overflow-y:auto;padding:1.5rem}.whiteboard-create-section{border-bottom:1px solid #e0e0e0;display:flex;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1.5rem}.whiteboard-create-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem;transition:all .2s ease}.whiteboard-create-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.whiteboard-create-input:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.whiteboard-create-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.whiteboard-create-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.whiteboard-create-btn:disabled{cursor:not-allowed;opacity:.5}.whiteboard-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.whiteboard-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;padding:1rem;transition:all .2s ease}.whiteboard-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.whiteboard-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.whiteboard-card-title{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:600;margin:0}.whiteboard-card-delete-btn{background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem .5rem;transition:all .2s ease}.whiteboard-card-delete-btn:hover{background:#f5f5f5;color:#333}.whiteboard-card-meta{color:#666;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;gap:.25rem}.whiteboard-card-date,.whiteboard-card-objects{margin:0}.whiteboard-empty-state,.whiteboard-loading{align-items:center;color:#666;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;justify-content:center;padding:3rem}.whiteboard-header-center{align-items:center;display:flex;gap:.75rem}.whiteboard-name-input{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.5rem;font-weight:600;min-width:200px;padding:.5rem}.whiteboard-name-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.whiteboard-name-display{margin:0}.whiteboard-saving-indicator{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;font-weight:400}.whiteboard-toolbar{align-items:center;background:#fafafa;border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1.5rem}.whiteboard-add-note-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.whiteboard-add-note-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.whiteboard-zoom-controls{align-items:center;display:flex;gap:.5rem}.whiteboard-zoom-controls button{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.375rem .75rem;transition:all .2s ease}.whiteboard-zoom-controls button:hover{background:#f5f5f5;border-color:#ccc;color:#333}.whiteboard-zoom-controls span{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;min-width:50px;text-align:center}.whiteboard-menu-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;font-weight:500;height:40px;justify-content:center;padding:.5rem;transition:all .2s ease;width:40px}.whiteboard-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.whiteboard-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 4px #0000000d;margin-top:.5rem;min-width:150px;position:absolute;right:0;top:100%;z-index:1000}.whiteboard-menu-item{background:none;border:none;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.whiteboard-menu-item:hover{background:#f5f5f5;color:#333}.whiteboard-menu-item:first-child{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.whiteboard-menu-item:last-child{border-bottom-left-radius:.375rem;border-bottom-right-radius:.375rem}.whiteboard-menu-divider{background:#e0e0e0;height:1px;margin:.5rem 0}.whiteboard-menu-zoom-section{padding:.5rem 1rem}.whiteboard-menu-zoom-controls{align-items:center;display:flex;gap:.75rem;justify-content:center;margin-bottom:.5rem}.whiteboard-menu-zoom-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;min-width:32px;padding:.375rem .75rem;transition:all .2s ease}.whiteboard-menu-zoom-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.whiteboard-menu-zoom-display{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;min-width:50px;text-align:center}.whiteboard-menu-item-danger{color:#721c24}.whiteboard-menu-item-danger:hover{background:#f8d7da;color:#721c24}.whiteboard-canvas{background:#f9f9f9;background-image:linear-gradient(#e0e0e0 1px,#0000 0),linear-gradient(90deg,#e0e0e0 1px,#0000 0);background-size:20px 20px;flex:1 1;min-height:0;overflow:hidden;position:relative}.whiteboard-canvas-content{height:5000px;min-height:5000px;min-width:5000px;position:relative;width:5000px}.whiteboard-sticky-note{background:#ffeb3b;border:1px solid #0000001a;border-radius:.25rem;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;overflow:hidden;position:absolute}.whiteboard-sticky-note-header{align-items:center;background:#ffffff4d;border-bottom:1px solid #0000001a;display:flex;justify-content:space-between;padding:.5rem}.whiteboard-sticky-note-color-wrapper{position:relative}.whiteboard-sticky-note-color-btn{border:1px solid #0003;border-radius:.25rem;cursor:pointer;height:20px;padding:0;transition:all .2s ease;width:20px}.whiteboard-sticky-note-color-btn:hover{box-shadow:0 1px 3px #0003;transform:scale(1.1)}.whiteboard-sticky-note-color-picker{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 4px #0000001a;display:flex;gap:.25rem;left:0;margin-top:.25rem;padding:.5rem;position:absolute;top:100%;z-index:1000}.whiteboard-sticky-note-color-option{border:1px solid #0003;border-radius:.25rem;cursor:pointer;height:24px;padding:0;transition:all .2s ease;width:24px}.whiteboard-sticky-note-color-option:hover{box-shadow:0 1px 3px #0003;transform:scale(1.1)}.whiteboard-sticky-note-delete-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:24px;justify-content:center;line-height:1;padding:.25rem;transition:all .2s ease;width:24px}.whiteboard-sticky-note-delete-btn:hover{background:#0000001a;color:#333}.whiteboard-sticky-note-content{flex:1 1;overflow:hidden;padding:.5rem}.whiteboard-sticky-note-text{word-wrap:break-word;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;height:100%;line-height:1.5;overflow-wrap:break-word;width:100%}.whiteboard-sticky-note-placeholder{color:#999;font-style:italic}.whiteboard-sticky-note-textarea{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;height:100%;line-height:1.5;resize:none;width:100%}@media (max-width:768px){.whiteboard-content{padding:1rem}.whiteboard-create-section{flex-direction:column}.whiteboard-list{grid-template-columns:1fr}.whiteboard-toolbar{align-items:stretch;flex-direction:column;gap:.75rem}.whiteboard-zoom-controls{justify-content:center}}@media (max-width:480px){.whiteboard-content{padding:.75rem}.whiteboard-create-btn,.whiteboard-create-input{font-size:.8125rem;padding:.625rem}}.garden-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;overflow:hidden;width:100%}.garden-title.page-header-center-title{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.garden-menu-container{position:relative}.garden-menu-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;line-height:1;min-width:36px;padding:.5rem .75rem;transition:all .2s ease}.garden-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.garden-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 4px #0000001a;margin-top:.25rem;min-width:150px;position:absolute;right:0;top:100%;z-index:1000}.garden-menu-item{background:none;border:none;color:#333;cursor:pointer;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.garden-menu-item:hover{background:#f5f5f5}.garden-loading{align-items:center;color:#666;display:flex;font-size:.875rem;height:100%;justify-content:center}.garden-error{background:#f8d7da;border-bottom:1px solid #e0e0e0;color:#721c24;font-size:.875rem;padding:1rem 1.5rem}.garden-canvas-container{-webkit-overflow-scrolling:touch;background:#fafafa;flex:1 1;overflow:auto;position:relative;scroll-behavior:smooth;scroll-snap-type:x mandatory}.garden-canvas{background:#fff;display:flex;position:relative}.garden-area{border:none;border-radius:0;cursor:default;padding:0;pointer-events:none;position:absolute;scroll-snap-align:start;scroll-snap-stop:always;transition:all .2s ease}.garden-area-year-display{align-items:center;display:flex;flex-direction:column;gap:.25rem;left:50%;pointer-events:none;position:absolute;top:2rem;transform:translateX(-50%);z-index:10}.garden-area-year-number{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:2.5rem;font-weight:600;line-height:1}.garden-area-age-label{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400}.garden-area-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.garden-area-name{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500}.garden-area-menu-container{position:relative}.garden-area-menu-btn{background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;font-size:1rem;line-height:1;opacity:0;padding:.25rem .5rem;transition:all .2s ease}.garden-area:hover .garden-area-menu-btn{opacity:1}.garden-area-menu-btn:hover{background:#0000000d;color:#333}.garden-area-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 4px #0000001a;margin-top:.25rem;min-width:120px;position:absolute;right:0;top:100%;z-index:1000}.garden-area-menu-item{background:none;border:none;color:#333;cursor:pointer;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.garden-area-menu-item:hover{background:#f5f5f5}.garden-area-plant-count{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400}.garden-empty-cell{background:#fafafa;border:1px solid #e0e0e0;border-radius:.25rem;height:24px;opacity:.5;pointer-events:none;width:24px;z-index:1}.garden-empty-cell,.garden-plant{align-items:center;display:flex;justify-content:center;position:absolute;transform:translate(-50%,-50%)}.garden-plant{cursor:pointer;pointer-events:auto;touch-action:none;transition:transform .1s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;will-change:transform;z-index:100}.garden-plant:hover:not(.garden-plant-dragging){transform:translate(-50%,-50%) scale(1.1)}.garden-plant-dragging{cursor:grabbing;transform:translate(-50%,-50%);transition:none;z-index:1000}.garden-plant-emoji{display:block;font-size:2rem;line-height:1;pointer-events:none}.garden-plant-menu-container{opacity:0;position:absolute;right:-.5rem;top:-.5rem;transition:opacity .2s ease}.garden-plant:hover .garden-plant-menu-container{opacity:1}.garden-plant-menu-btn{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 1px 2px #0000001a;color:#666;cursor:pointer;font-size:.875rem;line-height:1;padding:.25rem .5rem;transition:all .2s ease}.garden-plant-menu-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.garden-plant-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 4px #0000001a;margin-top:.25rem;min-width:120px;position:absolute;right:0;top:100%;z-index:1000}.garden-plant-menu-item{background:none;border:none;color:#333;cursor:pointer;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.garden-plant-menu-item:hover{background:#f5f5f5}.garden-modal-overlay{align-items:center;background:#0000004d;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.garden-modal{background:#fff;border:1px solid #e0e0e0;border-radius:.5rem;box-shadow:0 4px 8px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.garden-modal-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.garden-modal-title{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.25rem;font-weight:600;margin:0}.garden-modal-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.garden-modal-close:hover{background:#f5f5f5;color:#333}.garden-modal-form{padding:1.5rem}.garden-form-group{margin-bottom:1rem}.garden-form-row{display:flex;gap:1rem}.garden-form-row .garden-form-group{flex:1 1}.garden-form-label{display:block;font-weight:500;margin-bottom:.5rem}.garden-form-input,.garden-form-label{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem}.garden-form-input{border:1px solid #e0e0e0;border-radius:.25rem;padding:.5rem .75rem;transition:all .2s ease;width:100%}.garden-form-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.garden-color-picker{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.garden-color-option{border:2px solid #0000;border-radius:.25rem;cursor:pointer;height:40px;transition:all .2s ease;width:40px}.garden-color-option:hover{border-color:#ccc;transform:scale(1.1)}.garden-color-option.active{border-color:#333;box-shadow:0 0 0 2px #3333}.garden-color-input{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;height:40px;padding:0;width:40px}.garden-modal-actions{border-top:1px solid #f0f0f0;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.garden-btn{border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.garden-btn-primary{background:#333;border-color:#333;color:#fff}.garden-btn-primary:hover{background:#000;border-color:#000}.garden-btn-secondary{background:none;color:#666}.garden-btn-secondary:hover{background:#f5f5f5;border-color:#ccc;color:#333}.garden-plant-selector-modal{max-width:600px}.garden-plant-selector-content{padding:1.5rem}.garden-plant-category{margin-bottom:2rem}.garden-plant-category:last-child{margin-bottom:0}.garden-plant-category-title{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:500;margin-bottom:1rem}.garden-plant-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.garden-plant-option{align-items:center;aspect-ratio:1;background:none;border:1px solid #e0e0e0;border-radius:.25rem;cursor:pointer;display:flex;font-size:2rem;justify-content:center;padding:.75rem;transition:all .2s ease}.garden-plant-option:hover{background:#f5f5f5;border-color:#ccc;transform:scale(1.1)}.garden-plant-modal-overlay{align-items:center;background:#0000004d;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.garden-plant-modal{border:1px solid #e0e0e0;border-radius:.5rem;box-shadow:0 4px 8px #00000026;max-height:90vh;max-width:500px;min-width:300px;overflow:hidden;width:90%}.garden-plant-modal,.garden-plant-note-popover{background:#fff;display:flex;flex-direction:column}.garden-plant-note-popover{border-radius:.375rem;height:100%;position:relative}.garden-plant-note-popover-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.75rem 1rem}.garden-plant-note-popover-title{align-items:center;display:flex;gap:.5rem}.garden-plant-note-popover-emoji{font-size:1.5rem;line-height:1}.garden-plant-note-popover-plant-type{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;text-transform:capitalize}.garden-plant-note-popover-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:24px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:24px}.garden-plant-note-popover-close:hover{background:#f5f5f5;color:#333}.garden-plant-note-popover-error{background:#f8d7da;border-bottom:1px solid #e0e0e0;color:#721c24;font-size:.875rem;padding:.5rem 1rem}.garden-plant-note-popover-loading{color:#666;font-size:.875rem;padding:1.5rem;text-align:center}.garden-plant-note-popover-edit,.garden-plant-note-popover-view{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow-y:auto}.garden-plant-note-popover-content{flex:1 1;min-height:100px;padding:1rem}.garden-plant-note-popover-text{word-wrap:break-word;color:#333;line-height:1.6;white-space:pre-wrap}.garden-plant-note-popover-empty,.garden-plant-note-popover-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem}.garden-plant-note-popover-empty{color:#666;font-style:italic;padding:2rem 1rem;text-align:center}.garden-plant-note-popover-textarea{border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.6;min-height:150px;padding:.75rem;resize:vertical;transition:all .2s ease;width:100%}.garden-plant-note-popover-textarea:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.garden-plant-note-popover-actions{border-top:1px solid #f0f0f0;display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1rem}.garden-plant-note-popover-actions .garden-btn{font-size:.875rem;padding:.5rem 1rem}.garden-plant-note-popover-actions .garden-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.garden-canvas{min-height:2000px;min-width:2000px}.garden-modal{max-height:95vh;width:95%}.garden-form-row{flex-direction:column;gap:0}.garden-plant-grid{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(50px,1fr))}.garden-plant-option{font-size:1.5rem;padding:.5rem}.garden-plant-modal{max-width:95vw;min-width:280px;width:95%}}@media (max-width:480px){.garden-area-name{font-size:.75rem}.garden-plant-emoji{font-size:1.5rem}.garden-modal{padding:0}.garden-modal-actions,.garden-modal-form,.garden-modal-header{padding:1rem}}.garden-birthdate-setup-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.garden-birthdate-setup-dialog{background:#fff;border-radius:.5rem;box-shadow:0 4px 6px #0000001a;max-width:500px;padding:2rem;width:90%}.garden-birthdate-setup-title{color:#333;font-size:1.5rem;font-weight:600}.garden-birthdate-setup-description,.garden-birthdate-setup-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 0 1rem}.garden-birthdate-setup-description{color:#666;font-size:.875rem;line-height:1.6}.garden-birthdate-setup-form{margin-top:1.5rem}.garden-birthdate-setup-field{margin-bottom:1.5rem}.garden-birthdate-setup-label{display:block;font-weight:500;margin-bottom:.5rem}.garden-birthdate-setup-input,.garden-birthdate-setup-label{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem}.garden-birthdate-setup-input{border:1px solid #e0e0e0;border-radius:.25rem;padding:.75rem;transition:all .2s ease;width:100%}.garden-birthdate-setup-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.garden-birthdate-setup-error{background:#f8d7da;border-radius:.25rem;color:#721c24;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;margin-bottom:1rem;padding:.75rem}.garden-birthdate-setup-actions{display:flex;gap:.5rem;justify-content:flex-end}.garden-birthdate-setup-button{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.garden-birthdate-setup-button:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.garden-birthdate-setup-button:disabled{cursor:not-allowed;opacity:.5}.garden-generation-dialog-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.garden-generation-dialog{background:#fff;border-radius:.5rem;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.garden-generation-dialog-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.garden-generation-dialog-title{color:#333;font-weight:600;margin:0}.garden-generation-dialog-close,.garden-generation-dialog-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.5rem}.garden-generation-dialog-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.garden-generation-dialog-close:hover:not(:disabled){background:#f5f5f5;color:#333}.garden-generation-dialog-close:disabled{cursor:not-allowed;opacity:.5}.garden-generation-dialog-form{padding:1.5rem}.garden-generation-dialog-description{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.6;margin:0 0 1.5rem}.garden-generation-dialog-fields{gap:1rem;margin-bottom:1.5rem}.garden-generation-dialog-field,.garden-generation-dialog-fields{display:flex;flex-direction:column}.garden-generation-dialog-label{font-weight:500;margin-bottom:.5rem}.garden-generation-dialog-input,.garden-generation-dialog-label{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem}.garden-generation-dialog-input{border:1px solid #e0e0e0;border-radius:.25rem;padding:.75rem;transition:all .2s ease}.garden-generation-dialog-input:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.garden-generation-dialog-error{background:#f8d7da;border-radius:.25rem;color:#721c24;margin-bottom:1rem;padding:.75rem}.garden-generation-dialog-error,.garden-generation-dialog-loading{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem}.garden-generation-dialog-loading{color:#666;padding:1rem;text-align:center}.garden-generation-dialog-actions{border-top:1px solid #f0f0f0;display:flex;gap:.5rem;justify-content:flex-end;padding-top:1rem}.garden-generation-dialog-button{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.garden-generation-dialog-button:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.garden-generation-dialog-button:disabled{cursor:not-allowed;opacity:.5}.garden-generation-dialog-button-secondary{background:#f9f9f9}.garden-generation-dialog-result{padding:1.5rem;text-align:center}.garden-generation-dialog-success{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:500;margin:0 0 1.5rem}.garden-generation-dialog-summary{background:#f9f9f9;border-radius:.25rem;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.garden-generation-dialog-summary-item{align-items:center;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;justify-content:space-between}.garden-generation-dialog-summary-label{color:#666}.garden-generation-dialog-summary-value{color:#333;font-weight:500}@media (max-width:768px){.garden-birthdate-setup-dialog,.garden-generation-dialog{padding:1.5rem;width:95%}.garden-generation-dialog-fields{flex-direction:column}}.garden-plant-activity-info{padding:0}.garden-plant-activity-date,.garden-plant-activity-score{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.6;margin-bottom:1rem}.garden-plant-activity-date strong,.garden-plant-activity-score strong{color:#333;font-weight:600}.garden-plant-activity-description{border-top:1px solid #f0f0f0;color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.8125rem;line-height:1.6;margin-top:1rem;padding-top:1rem}.garden-plant-activity-description p{margin:0 0 .5rem}.garden-plant-activity-description ul{margin:.5rem 0;padding-left:1.5rem}.garden-plant-activity-description li{margin-bottom:.25rem}.garden-plant-view-day-link{border-top:1px solid #f0f0f0;margin:1rem 0;padding-top:1rem}.garden-plant-view-day-link .garden-btn{width:100%}.garden-jump-year-form{padding:0}.garden-jump-year-field{margin-bottom:1.5rem}.garden-jump-year-label{color:#333;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.garden-jump-year-dropdown-container{position:relative;width:100%}.garden-jump-year-select{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;justify-content:space-between;padding:.75rem;text-align:left;transition:all .2s ease;width:100%}.garden-jump-year-select:hover{background:#f9f9f9;border-color:#ccc}.garden-jump-year-select:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.garden-jump-year-chevron{color:#666;flex-shrink:0;font-size:.75rem;margin-left:.5rem}.garden-jump-year-dropdown-list{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;box-shadow:0 2px 8px #00000026;left:0;margin-top:.25rem;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.garden-jump-year-option{background:none;border:none;color:#333;cursor:pointer;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem;text-align:left;transition:background-color .2s ease;width:100%}.garden-jump-year-option:hover{background:#f5f5f5}.garden-jump-year-option-selected{background:#f0f0f0;color:#333;font-weight:500}.garden-jump-year-option-selected:hover{background:#e8e8e8}.garden-jump-year-actions{border-top:1px solid #f0f0f0;display:flex;gap:.5rem;justify-content:flex-end;padding-top:1rem}.garden-jump-year-button{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.garden-jump-year-button:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.garden-jump-year-button:disabled{cursor:not-allowed;opacity:.5}.garden-jump-year-button-secondary{background:#f9f9f9}.skillmap-container{background:#fff;color:#333;display:flex;flex-direction:column;height:100%;overflow:hidden}.skillmap-header-title{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400;margin:0}.skillmap-content{flex:1 1;overflow-y:auto;padding:1.5rem}.skillmap-auth-required,.skillmap-loading{color:#666;padding:2rem;text-align:center}.skillmap-error-banner{align-items:center;background:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem 1.5rem}.skillmap-error-banner button{align-items:center;background:none;border:none;color:#721c24;cursor:pointer;display:flex;font-size:1.5rem;height:24px;justify-content:center;padding:0;width:24px}.skillmap-success-banner{background:#d4edda;border:1px solid #c3e6cb;border-radius:.25rem;color:#155724;margin-bottom:1rem;padding:1rem 1.5rem}.skillmap-add-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem .75rem;transition:all .2s}.skillmap-add-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.skillmap-view-toggle-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem .75rem;transition:all .2s}.skillmap-view-toggle-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.skillmap-empty-state{color:#666;padding:3rem 1.5rem;text-align:center}.skillmap-empty-state h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.skillmap-empty-state p{color:#666;margin:0 0 1.5rem}.skillmap-empty-add-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.skillmap-empty-add-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.skillmap-skills-list{display:flex;flex-direction:column;gap:1rem}.skillmap-skill-item{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;transition:all .2s ease}.skillmap-skill-item:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.skillmap-skill-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.skillmap-skill-info{flex:1 1}.skillmap-skill-name{color:#333;font-size:1rem;font-weight:600;margin:0 0 .5rem}.skillmap-skill-meta{align-items:center;display:flex;gap:1rem;margin-bottom:.5rem}.skillmap-skill-level{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem}.skillmap-skill-goals-count{background:#f5f5f5;border-radius:.25rem;color:#666;font-size:.75rem;padding:.25rem .5rem}.skillmap-skill-description{color:#666;font-size:.875rem;line-height:1.5;margin:.5rem 0 0}.skillmap-skill-actions{display:flex;flex-shrink:0;gap:.5rem}.skillmap-action-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem .75rem;transition:all .2s}.skillmap-action-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.skillmap-progress-table-wrapper{border-top:1px solid #f5f5f5;margin-top:1rem;padding-top:1rem}.skillmap-progress-empty,.skillmap-progress-error,.skillmap-progress-loading{color:#666;font-size:.875rem;padding:1rem;text-align:center}.skillmap-progress-table{overflow-x:auto;width:100%}.skillmap-progress-table-content{border-collapse:collapse;font-size:.875rem;width:100%}.skillmap-progress-table-content thead{border-bottom:1px solid #e0e0e0}.skillmap-progress-table-content th{color:#333;font-size:.75rem;font-weight:500;letter-spacing:.05em;padding:.75rem;text-align:left;text-transform:uppercase}.skillmap-progress-table-content td{border-bottom:1px solid #f5f5f5;color:#666;padding:.75rem}.skillmap-progress-table-content tbody tr:hover{background:#f9f9f9}.skillmap-progress-bar{background:#f0f0f0;border-radius:2px;height:4px;overflow:hidden;width:100%}.skillmap-progress-fill{background:#333;border-radius:2px;height:100%;transition:width .3s ease}.skillmap-edit-form{margin:0 auto;max-width:600px}.skillmap-form-group{margin-bottom:1.5rem}.skillmap-form-group label{color:#333;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.skillmap-input,.skillmap-select,.skillmap-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem;transition:all .2s;width:100%}.skillmap-input:focus,.skillmap-select:focus,.skillmap-textarea:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.skillmap-textarea{min-height:100px;resize:vertical}.skillmap-form-help{color:#666;display:block;font-size:.75rem;margin-top:.25rem}.skillmap-linked-goals{margin-top:.5rem}.skillmap-no-goals{color:#666;font-size:.875rem;margin:.5rem 0}.skillmap-linked-goal-item{align-items:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.25rem;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.75rem}.skillmap-goal-title{color:#333;font-size:.875rem}.skillmap-unlink-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.75rem;padding:.25rem .5rem;transition:all .2s}.skillmap-unlink-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.skillmap-add-goal-section{margin-top:.5rem}.skillmap-add-goal-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s}.skillmap-add-goal-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.skillmap-goal-selector{align-items:center;display:flex;gap:.5rem}.skillmap-goal-selector select{flex:1 1}.skillmap-goal-selector-actions{display:flex;gap:.5rem}.skillmap-cancel-link-btn,.skillmap-link-goal-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s}.skillmap-cancel-link-btn:hover,.skillmap-link-goal-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.skillmap-link-goal-btn:disabled{cursor:not-allowed;opacity:.5}.skillmap-form-actions{border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.skillmap-cancel-btn,.skillmap-save-btn{border-radius:.25rem;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.skillmap-cancel-btn{background:none;border:1px solid #e0e0e0;color:#666}.skillmap-cancel-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.skillmap-save-btn{background:#333;border:1px solid #333;color:#fff}.skillmap-save-btn:hover:not(:disabled){background:#000;border-color:#000}.skillmap-save-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.skillmap-content{padding:1rem}.skillmap-skill-header{flex-direction:column;gap:.75rem}.skillmap-skill-actions{justify-content:flex-start;width:100%}.skillmap-form-actions{flex-direction:column}.skillmap-cancel-btn,.skillmap-save-btn{width:100%}}@media (max-width:480px){.skillmap-content{padding:.75rem}.skillmap-skill-meta{align-items:flex-start;flex-direction:column;gap:.5rem}}.skillroadmap-container{background:#fff;height:100%;overflow:auto;width:100%}.skillroadmap-timeline{display:flex;flex-direction:column;min-width:fit-content}.skillroadmap-header{background:#fff;border-bottom:2px solid #e0e0e0;display:flex;position:sticky;top:0;z-index:10}.skillroadmap-header-skill-column{background:#fff;border-right:1px solid #e0e0e0;color:#333;font-size:.75rem;font-weight:500;left:0;letter-spacing:.05em;min-width:200px;padding:1rem 1.5rem;position:sticky;text-transform:uppercase;width:200px;z-index:11}.skillroadmap-header-years{display:flex;flex:1 1}.skillroadmap-year-header{border-right:1px solid #e0e0e0;color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400;min-width:150px;padding:1rem 1.5rem;text-align:center}.skillroadmap-year-header.current-year{background:#f9f9f9;font-weight:600}.skillroadmap-skills{display:flex;flex-direction:column}.skillroadmap-skill-row{border-bottom:1px solid #f5f5f5;display:flex;min-height:120px;position:relative}.skillroadmap-skill-row:hover{background:#fafafa}.skillroadmap-skill-name{align-items:center;background:#fff;border-right:1px solid #e0e0e0;color:#333;display:flex;font-size:.875rem;font-weight:500;left:0;min-width:200px;padding:1rem 1.5rem;position:sticky;width:200px;z-index:5}.skillroadmap-skill-timeline{display:flex;flex:1 1;padding:1rem 0;position:relative}.skillroadmap-year-column{border-right:1px solid #f5f5f5;min-width:150px;padding:0 1.5rem}.skillroadmap-milestone-node,.skillroadmap-year-column{align-items:center;display:flex;flex-direction:column;justify-content:center;position:relative}.skillroadmap-milestone-node{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;min-height:60px;padding:.75rem;transition:all .2s ease;width:80px}.skillroadmap-milestone-node:hover{border-color:#ccc;box-shadow:0 2px 4px #0000000d}.skillroadmap-milestone-node.past{background:#f5f5f5;border-color:#d0d0d0}.skillroadmap-milestone-node.current{background:#333;border-color:#333;color:#fff}.skillroadmap-milestone-node.future{background:#fff;border-color:#e0e0e0;opacity:.7}.skillroadmap-milestone-node.planned{background:#fafafa;border-color:#e0e0e0;border-style:dashed}.skillroadmap-milestone-level{color:inherit;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.skillroadmap-milestone-node.current .skillroadmap-milestone-level{color:#fff}.skillroadmap-milestone-status{color:#666;font-size:.75rem;text-align:center}.skillroadmap-milestone-node.current .skillroadmap-milestone-status{color:#fff}.skillroadmap-milestone-node.future .skillroadmap-milestone-status{color:#999}.skillroadmap-connecting-line{background:#e0e0e0;height:2px;position:absolute;top:50%;z-index:1}.skillroadmap-connecting-line.past{background:#333}.skillroadmap-connecting-line.future{background:#e0e0e0;opacity:.5}.skillroadmap-empty-state{color:#666;padding:3rem 1.5rem;text-align:center}.skillroadmap-empty-state h3{color:#333;font-size:1rem;font-weight:600;margin:0 0 .5rem}.skillroadmap-empty-state p{font-size:.875rem;margin:0}.skillroadmap-loading{color:#666;font-size:.875rem;padding:3rem 1.5rem;text-align:center}.skillroadmap-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;font-size:.875rem;margin:1rem;padding:1rem 1.5rem}@media (max-width:768px){.skillroadmap-header-skill-column,.skillroadmap-skill-name{font-size:.75rem;min-width:150px;padding:.75rem 1rem;width:150px}.skillroadmap-year-column,.skillroadmap-year-header{min-width:120px;padding:0 1rem}.skillroadmap-milestone-node{padding:.5rem;width:70px}.skillroadmap-milestone-level{font-size:.75rem}.skillroadmap-milestone-status{font-size:.6875rem}}@media (max-width:480px){.skillroadmap-header-skill-column,.skillroadmap-skill-name{min-width:120px;padding:.5rem .75rem;width:120px}.skillroadmap-year-column,.skillroadmap-year-header{min-width:100px;padding:0 .75rem}.skillroadmap-milestone-node{min-height:50px;padding:.5rem;width:60px}}.life-events-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.life-events-content{background:#f9f9f9;flex:1 1;overflow-y:auto;padding:1.5rem}.life-events-search-container{margin-bottom:1.5rem}.life-events-search-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;padding:.75rem;width:100%}.life-events-search-input:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.life-events-error,.life-events-loading{color:#666;padding:2rem;text-align:center}.life-events-empty{color:#666;padding:3rem;text-align:center}.life-events-add-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.life-events-add-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.life-events-timeline{margin:0 auto;max-width:800px;position:relative}.life-events-year-group{margin-bottom:3rem}.life-events-year-header{border-bottom:2px solid #e0e0e0;margin-bottom:1.5rem;padding-bottom:.5rem}.life-events-year-title{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.5rem;font-weight:600;margin:0}.life-events-month-group{margin-bottom:2rem;margin-left:1.5rem;padding-left:2rem;position:relative}.life-events-month-group:before{background:#e0e0e0;bottom:0;content:"";left:0;position:absolute;top:0;width:2px}.life-events-month-header{margin-bottom:1rem}.life-events-month-title{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:500;margin:0}.life-events-events-list{display:flex;flex-direction:column;gap:1rem}.life-events-event-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem;position:relative;transition:all .2s ease}.life-events-event-card:before{background:#333;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #e0e0e0;content:"";height:8px;left:-2.5rem;position:absolute;top:1.25rem;width:8px}.life-events-event-card:hover{border-color:#ccc;box-shadow:0 2px 4px #0000000d}.life-events-event-date{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;margin-bottom:.5rem}.life-events-event-content{margin-bottom:.75rem}.life-events-event-title{color:#333;font-size:1rem;font-weight:600;margin:0 0 .5rem}.life-events-event-description{color:#666;font-size:.875rem;line-height:1.5;margin:0}.life-events-event-actions{display:flex;gap:.5rem;margin-top:.75rem}.life-events-delete-btn,.life-events-edit-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.8125rem;padding:.375rem .75rem;transition:all .2s}.life-events-edit-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.life-events-delete-btn:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.life-events-form-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.life-events-form-modal{background:#fff;border-radius:.5rem;box-shadow:0 4px 12px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.life-events-form-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.life-events-form-header h2{color:#333;font-size:1.25rem;font-weight:600;margin:0}.life-events-form-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.life-events-form-close:hover{background:#f5f5f5;color:#333}.life-events-form{padding:1.5rem}.life-events-form-error{background:#f8d7da;border-radius:.25rem;color:#721c24;font-size:.875rem;margin-bottom:1rem;padding:.75rem}.life-events-form-group{margin-bottom:1.5rem}.life-events-form-group label{color:#666;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.life-events-form-input,.life-events-form-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;padding:.75rem;width:100%}.life-events-form-input:focus,.life-events-form-textarea:focus{border-color:#ccc;box-shadow:0 0 0 2px #3333331a;outline:none}.life-events-form-textarea{min-height:100px;resize:vertical}.life-events-form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:2rem}.life-events-form-cancel-btn,.life-events-form-submit-btn{border-radius:.25rem;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.life-events-form-cancel-btn{background:none;border:1px solid #e0e0e0;color:#666}.life-events-form-cancel-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.life-events-form-submit-btn{background:#333;border:1px solid #333;color:#fff}.life-events-form-submit-btn:hover:not(:disabled){background:#000;border-color:#000}.life-events-form-cancel-btn:disabled,.life-events-form-submit-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.life-events-content{padding:1rem}.life-events-month-group{margin-left:1rem;padding-left:1.5rem}.life-events-event-card:before{left:-2rem}.life-events-form-modal{margin:1rem;max-width:100%}}.period-form-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.period-form-modal-content{background:#fff;border-radius:.5rem;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.period-form-modal-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:1.5rem}.period-form-modal-header h3{color:#333;font-size:1.25rem;font-weight:600;margin:0}.period-form-modal-close-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.period-form-modal-close-btn:hover{background:#f5f5f5;color:#333}.period-form-modal-form{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem}.period-form-modal-group{display:flex;flex-direction:column;gap:.5rem}.period-form-modal-group label{color:#333;font-size:.875rem;font-weight:500}.period-form-modal-group input[type=date],.period-form-modal-group textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem;transition:all .2s}.period-form-modal-group input[type=date]:focus,.period-form-modal-group textarea:focus{border-color:#999;box-shadow:0 0 0 2px #3333331a;outline:none}.period-form-modal-group input[type=date]:disabled,.period-form-modal-group textarea:disabled{background:#f5f5f5;cursor:not-allowed}.period-form-modal-hint{color:#999;font-size:.75rem;margin-top:.25rem}.period-form-modal-footer{border-top:1px solid #f0f0f0;display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem}.period-form-modal-cancel-btn,.period-form-modal-submit-btn{border-radius:.25rem;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.period-form-modal-cancel-btn{background:none;border:1px solid #e0e0e0;color:#666}.period-form-modal-cancel-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.period-form-modal-submit-btn{background:#333;border:1px solid #333;color:#fff}.period-form-modal-submit-btn:hover:not(:disabled){background:#000;border-color:#000}.period-form-modal-cancel-btn:disabled,.period-form-modal-submit-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.period-form-modal-content{border-radius:0;max-height:100vh}.period-form-modal-form,.period-form-modal-header{padding:1rem}}.period-calendar-view{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;padding:1.5rem}.period-calendar-view-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.period-calendar-view-month-year{align-items:baseline;display:flex;flex:1 1;gap:.5rem;justify-content:center}.period-calendar-view-month{color:#333;font-size:1.25rem;font-weight:600}.period-calendar-view-year{color:#666;font-size:1rem}.period-calendar-view-nav-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:36px;justify-content:center;padding:.5rem .75rem;transition:all .2s;width:36px}.period-calendar-view-nav-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.period-calendar-view-today-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.period-calendar-view-today-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.period-calendar-view-grid{display:flex;flex-direction:column;gap:.5rem}.period-calendar-view-weekdays{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem}.period-calendar-view-weekday{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;font-weight:500;padding:.5rem;text-align:center}.period-calendar-view-days{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(7,1fr)}.period-calendar-view-day{align-items:center;aspect-ratio:1;background:#fff;border:1px solid #f0f0f0;border-radius:.25rem;cursor:pointer;display:flex;flex-direction:column;justify-content:center;position:relative;transition:all .2s}.period-calendar-view-day:hover:not(.empty){background:#f9f9f9;border-color:#e0e0e0}.period-calendar-view-day.empty{border:none;cursor:default}.period-calendar-view-day.has-period{background:#f8d7da;border-color:#f5c6cb}.period-calendar-view-day.has-period:hover{background:#f5c6cb}.period-calendar-view-day.has-predicted-period{background:#fff3cd;border-color:#ffeaa7;border-style:dashed}.period-calendar-view-day.has-predicted-period:hover{background:#ffeaa7}.period-calendar-view-day.today{border-color:#333;border-width:2px}.period-calendar-view-day.end-date,.period-calendar-view-day.start-date{background:#f8d7da;border-color:#dc3545;border-width:2px}.period-calendar-view-day.predicted-end-date,.period-calendar-view-day.predicted-start-date{background:#fff3cd;border:2px dashed #f39c12}.period-calendar-view-day-number{color:#333;font-size:.875rem;font-weight:400}.period-calendar-view-day.has-period .period-calendar-view-day-number{color:#721c24;font-weight:500}.period-calendar-view-day.has-predicted-period .period-calendar-view-day-number{color:#856404;font-weight:500}.period-calendar-view-day.today .period-calendar-view-day-number{font-weight:600}.period-calendar-view-period-indicator{background:#dc3545;border-radius:50%;bottom:2px;height:4px;left:50%;position:absolute;transform:translateX(-50%);width:4px}.period-calendar-view-period-indicator.predicted{background:#f39c12;border:1px solid #856404}.period-calendar-view-legend{border-top:1px solid #f0f0f0;display:flex;gap:1.5rem;justify-content:center;margin-top:1.5rem;padding-top:1rem}.period-calendar-view-legend-item{align-items:center;color:#666;display:flex;font-size:.75rem;gap:.5rem}.period-calendar-view-legend-color{border:1px solid #e0e0e0;border-radius:.25rem;height:16px;width:16px}.period-calendar-view-legend-color.has-period{background:#f8d7da;border-color:#f5c6cb}.period-calendar-view-legend-color.has-predicted-period{background:#fff3cd;border-color:#ffeaa7;border-style:dashed}.period-calendar-view-legend-color.today{background:#fff;border-color:#333;border-width:2px}@media (max-width:768px){.period-calendar-view{padding:1rem}.period-calendar-view-header{flex-wrap:wrap}.period-calendar-view-month{font-size:1rem}.period-calendar-view-day-number{font-size:.75rem}.period-calendar-view-weekday{font-size:.625rem;padding:.25rem}}.period-calendar-container{background:#fff;display:flex;flex-direction:column;height:100vh}.period-calendar-content{flex:1 1;overflow-y:auto;padding:1.5rem 1.5rem 4rem}.period-calendar-header-actions{display:flex;gap:.5rem}.period-calendar-add-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.period-calendar-add-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.period-calendar-error,.period-calendar-loading{color:#666;padding:1rem;text-align:center}.period-calendar-error{background:#f8d7da;border-radius:.25rem;color:#721c24;margin-bottom:1rem}.period-calendar-calendar-section,.period-calendar-periods-section,.period-calendar-predictions-section,.period-calendar-stats-section{margin-bottom:1.5rem}.period-calendar-calendar-section h3,.period-calendar-periods-section h3,.period-calendar-predictions-section h3,.period-calendar-stats-section h3{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:600;margin:0 0 1rem}.period-calendar-stats-grid{grid-gap:1rem;background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:1rem}.period-calendar-stat-item{display:flex;flex-direction:column;gap:.25rem}.period-calendar-stat-label{color:#666;font-size:.75rem}.period-calendar-stat-value{color:#333;font-size:1rem;font-weight:600}.period-calendar-predictions-list{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.period-calendar-prediction-item{align-items:center;background:#fff;border:1px solid #f0f0f0;border-radius:.25rem;display:flex;justify-content:space-between;padding:.75rem}.period-calendar-prediction-date{color:#333;font-size:.875rem;font-weight:500}.period-calendar-prediction-label{color:#666;font-size:.75rem}.period-calendar-periods-list{display:flex;flex-direction:column;gap:.75rem}.period-calendar-period-item{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;padding:1rem}.period-calendar-period-dates{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.period-calendar-period-end,.period-calendar-period-start{color:#333;font-size:.875rem;font-weight:500}.period-calendar-period-separator{color:#666;font-size:.875rem}.period-calendar-period-cycle{color:#666;font-size:.75rem;margin-bottom:.5rem}.period-calendar-period-notes{background:#fff;border-radius:.25rem;color:#666;font-size:.875rem;margin-bottom:.75rem;padding:.5rem}.period-calendar-period-actions{display:flex;gap:.5rem}.period-calendar-delete-btn,.period-calendar-edit-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-size:.75rem;padding:.375rem .75rem;transition:all .2s}.period-calendar-edit-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.period-calendar-delete-btn:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.period-calendar-empty{background:#fafafa;border:1px solid #e0e0e0;border-radius:.375rem;color:#666;font-size:.875rem;padding:2rem;text-align:center}.period-calendar-bottom-tabs{background:#fff;border-top:1px solid #e0e0e0;bottom:0;display:flex;left:0;position:fixed;right:0;z-index:100}.period-calendar-tab{background:none;border:none;border-right:1px solid #e0e0e0;color:#666;cursor:pointer;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:1rem;transition:all .2s ease}.period-calendar-tab:last-child{border-right:none}.period-calendar-tab:hover{background:#f9f9f9;color:#333}.period-calendar-tab.active{background:#f5f5f5;color:#333;font-weight:600}@media (max-width:768px){.period-calendar-content{padding:1rem 1rem 4rem}.period-calendar-stats-grid{grid-template-columns:1fr}}.project-list-loading-overlay{align-items:center;color:#666;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem}.project-list-loading-spinner{animation:project-list-spin .8s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:40px;width:40px}@keyframes project-list-spin{to{transform:rotate(1turn)}}.project-list-empty-state{margin:0 auto;max-width:500px;padding:3rem 1rem;text-align:center}.project-list-empty-state h3{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.project-list-empty-state p{color:#666;font-size:1rem;line-height:1.5;margin-bottom:2rem}.project-list-add-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1rem;transition:all .2s}.project-list-add-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.project-list-add-btn-primary{background:#333;border-color:#333;color:#fff;font-size:.875rem;padding:.75rem 1.5rem}.project-list-add-btn-primary:hover{background:#000;border-color:#000}.project-list-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin:0 auto;max-width:1200px}.project-list-card{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;cursor:pointer;padding:1rem;transition:all .2s ease}.project-list-card:hover{border-color:#ccc;box-shadow:0 1px 3px #0000001a}.project-list-card-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.75rem}.project-list-title{color:#333;flex:1 1;font-size:1rem;margin:0}.project-list-status-badge,.project-list-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500}.project-list-status-badge{border-radius:.25rem;display:inline-block;flex-shrink:0;font-size:.75rem;padding:.25rem .5rem;white-space:nowrap}.project-list-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.5;margin:0 0 .75rem;overflow:hidden}.project-list-progress{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.project-list-progress-bar{background:#f0f0f0;border-radius:2px;flex:1 1;height:4px;overflow:hidden}.project-list-progress-fill{background:#333;border-radius:2px;height:100%;transition:width .3s ease}.project-list-progress-text{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;font-weight:500;min-width:35px;text-align:right}.project-list-dates{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.project-list-dates small{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem}@media (max-width:768px){.project-list-grid{gap:.75rem;grid-template-columns:1fr}.project-list-empty-state{padding:2rem 1rem}}@media (max-width:480px){.project-list-card{padding:.75rem}.project-list-card-header{align-items:flex-start;flex-direction:column;gap:.5rem}}.project-management{background:#fff;display:flex;flex-direction:column;height:100vh}.project-management-header-title{color:#333;font-size:1.5rem;font-weight:600;margin:0}.project-management-auth-required,.project-management-header-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.project-management-auth-required{align-items:center;color:#666;display:flex;flex:1 1;justify-content:center;padding:2rem}.project-management-content{flex:1 1;overflow-y:auto;padding:1.5rem}.project-management-menu-container{position:relative}.project-management-menu-btn{background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.25rem;padding:.5rem;transition:all .2s}.project-management-menu-btn:hover{background:#f5f5f5;color:#333}.project-management-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 2px 4px #0000000d;margin-top:.5rem;min-width:180px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.project-management-menu-item{background:none;border:none;color:#666;cursor:pointer;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s;width:100%}.project-management-menu-item:hover{background:#f5f5f5;color:#333}.project-management-menu-item.active{background:#f9f9f9;color:#333;font-weight:500}.project-management-menu-separator{background:#f0f0f0;height:1px;margin:.25rem 0}.project-management-error-banner{align-items:center;background:#f8d7da;color:#721c24;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;justify-content:space-between;padding:.75rem 1rem}.project-management-error-banner button{align-items:center;background:none;border:none;border-radius:.25rem;color:#721c24;cursor:pointer;display:flex;font-size:1.25rem;height:24px;justify-content:center;padding:0;transition:background-color .2s;width:24px}.project-management-error-banner button:hover{background:#721c241a}@media (max-width:768px){.project-management-content{padding:1rem}}.project-edit-page{background:#fff;display:flex;flex-direction:column;height:100vh}.project-edit-header-title{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.5rem;font-weight:600;margin:0}.project-edit-auth-required,.project-edit-error-container,.project-edit-loading-container{align-items:center;color:#666;display:flex;flex:1 1;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;padding:2rem}.project-edit-loading-spinner{animation:project-edit-spin .8s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top-color:#333;height:40px;margin-bottom:1rem;width:40px}@keyframes project-edit-spin{to{transform:rotate(1turn)}}.project-edit-error-container button{background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;margin-top:1rem;padding:.75rem 1.5rem;transition:background-color .2s}.project-edit-error-container button:hover{background:#000}.project-edit-error-banner,.project-edit-success-banner{align-items:center;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;justify-content:space-between;padding:.75rem 1rem}.project-edit-error-banner{background:#f8d7da;color:#721c24}.project-edit-success-banner{background:#d4edda;color:#155724}.project-edit-error-banner button,.project-edit-success-banner button{align-items:center;background:none;border:none;border-radius:.25rem;cursor:pointer;display:flex;font-size:1.25rem;height:24px;justify-content:center;padding:0;transition:background-color .2s;width:24px}.project-edit-error-banner button{color:#721c24}.project-edit-success-banner button{color:#155724}.project-edit-error-banner button:hover{background:#721c241a}.project-edit-success-banner button:hover{background:#1557241a}.project-edit-content{flex:1 1;margin:0 auto;max-width:800px;overflow-y:auto;padding:1.5rem;width:100%}.project-edit-form{display:flex;flex-direction:column;gap:2rem}.project-edit-form-section{display:flex;flex-direction:column;gap:1rem}.project-edit-form-section h2{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.project-edit-form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.project-edit-form-group{display:flex;flex-direction:column;gap:.5rem}.project-edit-form-group label{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500}.project-edit-form-input,.project-edit-form-select,.project-edit-form-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem;transition:border-color .2s}.project-edit-form-input:focus,.project-edit-form-select:focus,.project-edit-form-textarea:focus{border-color:#333;outline:none}.project-edit-form-textarea{min-height:80px;resize:vertical}.project-edit-form-actions{border-top:1px solid #f0f0f0;display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem}.project-edit-cancel-btn,.project-edit-save-btn{border-radius:.25rem;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.project-edit-cancel-btn{background:none;border:1px solid #e0e0e0;color:#666}.project-edit-cancel-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc;color:#333}.project-edit-save-btn{background:#333;border:1px solid #333;color:#fff}.project-edit-save-btn:hover:not(:disabled){background:#000;border-color:#000}.project-edit-cancel-btn:disabled,.project-edit-save-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.project-edit-content{padding:1rem}.project-edit-form-row{grid-template-columns:1fr}}.critical-thinking-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.critical-thinking-content{flex:1 1;margin:0 auto;max-width:900px;overflow-y:auto;padding:1.5rem 1.5rem 4.5rem;width:100%}.critical-thinking-header-title{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400;margin:0}.critical-thinking-error{background:#f8d7da;border-radius:.25rem;color:#721c24;font-size:.875rem;margin-bottom:1rem;padding:.75rem 1rem}.critical-thinking-section{margin-bottom:2rem}.critical-thinking-section-title{color:#666;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400;margin:0 0 1rem;text-transform:lowercase}.critical-thinking-generate-section{max-width:500px}.critical-thinking-form-group{margin-bottom:1.5rem}.critical-thinking-label{color:#333;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.critical-thinking-input,.critical-thinking-select{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;padding:.5rem;transition:all .2s ease;width:100%}.critical-thinking-input:hover,.critical-thinking-select:hover{border-color:#ccc}.critical-thinking-input:focus,.critical-thinking-select:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.critical-thinking-input:disabled,.critical-thinking-select:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.critical-thinking-generate-btn,.critical-thinking-new-btn,.critical-thinking-new-exercise-btn,.critical-thinking-submit-btn{background:none;border:1px solid #e0e0e0;border-radius:.25rem;color:#666;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.critical-thinking-generate-btn:hover,.critical-thinking-new-btn:hover,.critical-thinking-new-exercise-btn:hover,.critical-thinking-submit-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.critical-thinking-generate-btn:disabled,.critical-thinking-submit-btn:disabled{background:#f5f5f5;border-color:#e0e0e0;color:#999;cursor:not-allowed}.critical-thinking-exercise-section{display:flex;flex-direction:column;height:100%;min-height:0}.critical-thinking-tab-content{flex:1 1;overflow-y:auto;padding-bottom:1rem}.critical-thinking-problem{background:#fafafa;border:1px solid #f0f0f0;border-radius:.375rem;color:#333;font-size:.875rem;line-height:1.6;padding:1rem 1.5rem;white-space:pre-wrap}.critical-thinking-prompts-list{list-style:decimal;margin:0;padding-left:1.5rem}.critical-thinking-prompt-item{color:#333;font-size:.875rem;line-height:1.6;margin-bottom:.75rem}.critical-thinking-textarea{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.6;padding:.75rem;resize:vertical;transition:all .2s ease;width:100%}.critical-thinking-textarea:hover{border-color:#ccc}.critical-thinking-textarea:focus{border-color:#333;box-shadow:0 0 0 2px #3333331a;outline:none}.critical-thinking-textarea:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.critical-thinking-char-count{color:#666;font-size:.75rem;margin-bottom:1rem;margin-top:.5rem}.critical-thinking-score{align-items:baseline;display:flex;gap:.5rem;margin-bottom:1.5rem}.critical-thinking-score-value{color:#333;font-size:2rem;font-weight:600}.critical-thinking-score-label{color:#666;font-size:1rem}.critical-thinking-summary{background:#fafafa;border:1px solid #f0f0f0;border-radius:.375rem;color:#333;font-size:.875rem;line-height:1.6;margin-bottom:1.5rem;padding:1rem}.critical-thinking-feedback-group{margin-bottom:1.5rem}.critical-thinking-feedback-title{color:#333;font-size:.875rem;font-weight:600;margin:0 0 .75rem}.critical-thinking-feedback-list{list-style:disc;margin:0;padding-left:1.5rem}.critical-thinking-feedback-list li{margin-bottom:.5rem}.critical-thinking-detailed-feedback,.critical-thinking-feedback-list li{color:#333;font-size:.875rem;line-height:1.6}.critical-thinking-detailed-feedback p{margin:0 0 1rem}.critical-thinking-detailed-feedback p:last-child{margin-bottom:0}.critical-thinking-tabs{background:#fff;border-top:1px solid #e0e0e0;bottom:0;display:flex;left:0;margin:0;padding:0;position:fixed;right:0;z-index:100}.critical-thinking-tab{background:none;border:none;border-right:1px solid #f0f0f0;color:#666;cursor:pointer;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1rem;transition:all .2s ease}.critical-thinking-tab:last-child{border-right:none}.critical-thinking-tab:hover{background:#f9f9f9;color:#333}.critical-thinking-tab.active{background:#f5f5f5;border-bottom:2px solid #333;color:#333}@media (max-width:768px){.critical-thinking-content{padding:1rem 1rem 4.5rem}.critical-thinking-section{margin-bottom:1.5rem}.critical-thinking-problem{padding:.75rem 1rem}.critical-thinking-tab{font-size:.8125rem;padding:.625rem .5rem}}.auth-container{align-items:center;background:#fff;justify-content:center;min-height:400px;padding:2rem}.auth-container,.auth-content{display:flex;flex-direction:column}.auth-content{gap:1.5rem;max-width:400px;width:100%}.auth-content p{color:#666;font-size:1rem;margin:0;text-align:center}.auth-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;font-size:.875rem;padding:.75rem;text-align:center}.auth-form{gap:1rem}.auth-form,.form-group{display:flex;flex-direction:column}.form-group input{border:1px solid #e0e0e0;border-radius:.25rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;padding:.75rem;transition:border-color .2s ease}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.auth-button{align-items:center;background:#333;border:none;border-radius:.25rem;color:#fff;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .2s ease}.auth-button:hover:not(:disabled){background:#555}.auth-button:disabled{background:#ccc;cursor:not-allowed}.button-spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.auth-divider{align-items:center;display:flex;margin:.5rem 0;text-align:center}.auth-divider:after,.auth-divider:before{background:#e0e0e0;content:"";flex:1 1;height:1px}.auth-divider span{background:#fff;color:#666;font-size:.875rem;padding:0 1rem}.google-signin-button-container{align-items:center;display:flex;justify-content:center;margin:0;width:100%}.google-signin-button-container>div{width:100%!important}.google-signin-button-container iframe{margin:0 auto}.auth-switch{margin-top:1rem;text-align:center}.switch-btn{background:none;border:none;color:#667eea;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;text-decoration:underline;transition:color .2s ease}.switch-btn:hover:not(:disabled){color:#5a67d8}.switch-btn:disabled{color:#999;cursor:not-allowed;text-decoration:none}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:.5rem;box-shadow:0 10px 25px #0003;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.auth-modal{padding:0}.modal-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:0;padding:1.5rem 2rem 0}.modal-header h2{color:#333;font-size:1.25rem;font-weight:600;margin:0}.close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem;transition:color .2s ease}.close-btn:hover{color:#333}.loading-container{align-items:center;background:#fafafa;display:flex;justify-content:center;min-height:100vh}.loading-content{padding:2rem;text-align:center}.loading-content h2{color:#333;font-size:1.5rem;margin-bottom:1rem}.loading-content p{color:#666;margin-top:1rem}@media (max-width:480px){.auth-container{padding:1rem}.auth-content{max-width:none}.modal-overlay{padding:.5rem}.modal-header{padding:1rem 1.5rem 0}.auth-container{padding:1.5rem}}.quick-command-button{align-items:center;background:#8f8f8fbd;border:1px solid #e0e0e0;border-radius:50%;bottom:1rem;box-shadow:0 2px 4px #0000001a;color:#333;cursor:move;display:flex;font-size:1.5rem;height:3.5rem;justify-content:center;position:fixed;right:1rem;touch-action:none;transition:box-shadow .2s ease,transform .2s ease;user-select:none;-webkit-user-select:none;width:3.5rem;z-index:1002}.quick-command-button.dragging{box-shadow:0 4px 12px #0003;cursor:grabbing;transform:scale(1.05);transition:none}.quick-command-button:hover:not(.dragging){background:#f5f5f5;border-color:#ccc;box-shadow:0 2px 8px #00000026;cursor:grab}.quick-command-button:active:not(.dragging){transform:scale(.95)}.quick-command-overlay{animation:fadeIn .2s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.quick-command-modal{animation:slideIn .3s ease;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;left:50%;max-height:70vh;max-width:600px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1000}.quick-command-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:.75rem;padding:1.5rem}.quick-command-radio-group{align-items:center;background:#fafafa;border-bottom:1px solid #f0f0f0;display:flex;gap:1.5rem;padding:1rem 1.5rem}.quick-command-radio-label{align-items:center;color:#666;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;-webkit-user-select:none;user-select:none}.quick-command-radio-label input[type=radio]{accent-color:#333;cursor:pointer;height:16px;margin:0;width:16px}.quick-command-radio-label input[type=radio]:checked+span{color:#333;font-weight:500}.quick-command-radio-label:hover{color:#333}.quick-command-input{background:#fff;border:1px solid #e0e0e0;border-radius:.25rem;color:#333;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;padding:.75rem;transition:all .2s ease}.quick-command-input:focus{border-color:#666;box-shadow:0 0 0 2px #3333331a;outline:none}.quick-command-input::placeholder{color:#999}.quick-command-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:1.75rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.quick-command-close:hover{background:#f5f5f5;color:#333}.quick-command-results{flex:1 1;overflow-y:auto;padding:.5rem 0}.quick-command-item{border-left:3px solid #0000;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1.5rem;transition:background-color .2s ease}.quick-command-item.placeholder{cursor:default;opacity:.7}.quick-command-item.loading{cursor:wait;font-style:italic;opacity:.8}.quick-command-item.selected,.quick-command-item:hover{background:#f9f9f9;border-left-color:#333}.quick-command-item-text{color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:500}.quick-command-item-label{color:#666;font-size:.75rem}.quick-command-empty{color:#666;font-size:.875rem;padding:2rem 1.5rem;text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}@media (max-width:768px){.quick-command-button{bottom:.75rem;font-size:1.25rem;height:3rem;right:.75rem;width:3rem}.quick-command-modal{max-height:80vh;width:95%}.quick-command-header{padding:1rem}.quick-command-input{font-size:.875rem;padding:.625rem}.quick-command-item{padding:.625rem 1rem}}.quick-command-task-modal{animation:slideIn .3s ease;background:#fff;border:1px solid #e0e0e0;border-radius:.375rem;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;left:50%;max-height:85vh;max-width:600px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}.quick-command-task-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.quick-command-task-title{color:#333;font-size:1.5rem;font-weight:600;margin:0}.quick-command-task-content{flex:1 1;overflow-y:auto;padding:1.5rem}@media (max-width:768px){.quick-command-task-modal{max-height:90vh;width:95%}.quick-command-task-header{padding:1rem}.quick-command-task-title{font-size:1.25rem}.quick-command-task-content{padding:1rem}}.App{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;overflow-x:hidden;position:relative;width:100%}.App.fullscreen-activities,.App.fullscreen-cashflow,.App.fullscreen-chat,.App.fullscreen-chinese,.App.fullscreen-critical-thinking,.App.fullscreen-dashboard,.App.fullscreen-drawing,.App.fullscreen-finance,.App.fullscreen-finance-investor,.App.fullscreen-french,.App.fullscreen-garden,.App.fullscreen-goals,.App.fullscreen-habits,.App.fullscreen-hindi,.App.fullscreen-journey,.App.fullscreen-knowledge,.App.fullscreen-learn,.App.fullscreen-library,.App.fullscreen-logs,.App.fullscreen-maps,.App.fullscreen-meditation,.App.fullscreen-metrics,.App.fullscreen-months,.App.fullscreen-notes,.App.fullscreen-novels,.App.fullscreen-reading,.App.fullscreen-social,.App.fullscreen-tasks,.App.fullscreen-timeline,.App.fullscreen-timelogs,.App.fullscreen-videos,.App.fullscreen-weeks,.App.fullscreen-whiteboard{bottom:0;height:100vh;height:100dvh;left:0;overflow:hidden;padding-bottom:0;position:fixed;right:0;top:0;z-index:1000}.App.fullscreen-reading .app-main{flex:1 1;height:100%;margin:0;max-width:none;overflow-y:auto;padding:0}.app-main{flex:1 1;margin:0 auto;max-width:1200px;width:100%}.books-header-condensed{margin-bottom:1rem}.header-row{gap:1rem;justify-content:space-between;margin-bottom:.5rem}.header-info,.header-row{align-items:center;display:flex}.header-info{flex:1 1;gap:.75rem}.header-info h2{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0}.book-count{color:#64748b;font-size:.875rem;font-weight:500}.header-controls{gap:.5rem}.header-controls,.sort-controls-inline{align-items:center;display:flex}.sort-select-compact{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.875rem;min-width:120px;padding:.5rem .75rem;transition:border-color .2s ease}.sort-select-compact:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.filter-toggle-btn-compact{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:1rem;height:40px;justify-content:center;padding:.5rem;transition:all .2s;width:40px}.filter-toggle-btn-compact:hover{background:#f9fafb;border-color:#667eea}@media (max-width:768px){.header-row{align-items:stretch;flex-direction:column;gap:.75rem}.header-info{align-items:center;justify-content:space-between}.header-info h2{font-size:1.125rem}.header-controls{gap:.75rem;justify-content:center}.sort-select-compact{flex:1 1;min-width:auto}.filter-actions-row{justify-content:center}}@media (max-width:480px){.header-info h2{font-size:1rem}.book-count{font-size:.75rem}.sort-select-compact{font-size:.75rem;padding:.375rem .5rem}.filter-toggle-btn-compact{font-size:.875rem;height:36px;width:36px}}
/*# sourceMappingURL=main.c4570fd2.css.map*/