:root{--bg-color:#fcfbf7;--bg-surface:#f7f5ed;--bg-sidebar:#f2efe4;--border-color:#dfdbcb;--text-primary:#2d2a24;--text-secondary:#6e6757;--text-muted:#9c9380;--accent-color:#a87e43;--accent-light:#f5edd6;--accent-hover:#916833;--shadow-sm:0 1px 3px #2d2a240d;--shadow-md:0 4px 12px #2d2a2414;--shadow-lg:0 12px 24px #2d2a241f;--font-serif:"Lora", Georgia, serif;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--header-height:64px;--sidebar-width:280px;--max-content-width:800px}[data-theme=dark]{--bg-color:#1a1917;--bg-surface:#22211e;--bg-sidebar:#171614;--border-color:#383530;--text-primary:#e0dcd3;--text-secondary:#adaba1;--text-muted:#7d7a72;--accent-color:#d1ab6e;--accent-light:#302b21;--accent-hover:#e0be88;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 12px 24px #00000080}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-sans);line-height:1.6;transition:background-color .3s,color .3s;overflow-x:hidden}.app-container{min-height:100vh;display:flex;position:relative}.app-header{top:0;right:0;left:var(--sidebar-width);height:var(--header-height);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);z-index:50;background-color:#fcfbf7d9;justify-content:space-between;align-items:center;padding:0 32px;transition:left .3s,background-color .3s,border-color .3s;display:flex;position:fixed}[data-theme=dark] .app-header{background-color:#1a1917d9}.distraction-free .app-header{left:0}.header-left{align-items:center;gap:16px;display:flex}.menu-toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px;transition:background-color .2s;display:flex}.menu-toggle:hover{background-color:var(--border-color);color:var(--text-primary)}.progress-container{align-items:center;gap:12px;min-width:200px;display:flex}.progress-label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.progress-bar-bg{background-color:var(--border-color);border-radius:3px;flex-grow:1;height:6px;overflow:hidden}.progress-bar-fill{background-color:var(--accent-color);border-radius:3px;height:100%;transition:width .4s}.header-right{align-items:center;gap:12px;display:flex}.app-sidebar{width:var(--sidebar-width);background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);z-index:100;flex-direction:column;transition:transform .3s,background-color .3s,border-color .3s;display:flex;position:fixed;top:0;bottom:0;left:0}.distraction-free .app-sidebar{transform:translate(-100%)}.sidebar-header{height:var(--header-height);border-bottom:1px solid var(--border-color);align-items:center;padding:0 24px;display:flex}.sidebar-title{color:var(--text-primary);letter-spacing:.5px;align-items:center;gap:8px;font-size:1.1rem;font-weight:600;display:flex}.sidebar-nav{flex-direction:column;flex-grow:1;gap:16px;padding:24px 12px;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:2px}.nav-section-title{text-transform:uppercase;color:var(--text-muted);letter-spacing:1px;margin-bottom:8px;padding-left:12px;font-size:.75rem;font-weight:700}.nav-list{flex-direction:column;gap:4px;list-style:none;display:flex}.nav-item{width:100%}.nav-button{text-align:left;cursor:pointer;width:100%;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.nav-button:hover{background-color:var(--border-color);color:var(--text-primary)}.nav-button.active{background-color:var(--accent-light);color:var(--accent-color);font-weight:600}.badge-dot{background-color:var(--border-color);border-radius:50%;width:8px;height:8px;transition:background-color .2s}.badge-dot.completed{background-color:var(--accent-color)}.sidebar-footer{border-top:1px solid var(--border-color);flex-direction:column;gap:8px;padding:16px;display:flex}.main-content{margin-left:var(--sidebar-width);margin-top:var(--header-height);flex-grow:1;justify-content:center;padding:48px 32px;transition:margin-left .3s;display:flex}.distraction-free .main-content{margin-left:0}.content-wrapper{width:100%;max-width:var(--max-content-width);flex-direction:column;animation:.4s fadeIn;display:flex}h1{font-family:var(--font-serif);color:var(--text-primary);margin-bottom:16px;font-size:2.2rem;font-weight:500}h2{font-family:var(--font-serif);color:var(--text-primary);margin-bottom:12px;font-size:1.6rem;font-weight:500}p{color:var(--text-secondary);margin-bottom:24px;font-size:1.05rem;line-height:1.7}.instruction-box{background-color:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:36px;padding:28px}.instruction-paragraph{font-family:var(--font-serif);color:var(--text-secondary);margin-bottom:18px;font-size:1.1rem;line-height:1.85}.instruction-paragraph:last-child{margin-bottom:0}.instruction-paragraph.highlighted{color:var(--text-primary);font-weight:500}.instruction-list{margin-bottom:18px;padding-left:28px;list-style-type:circle}.instruction-list-item{font-family:var(--font-serif);color:var(--text-secondary);margin-bottom:10px;font-size:1.1rem;line-height:1.8}.instruction-list-item:last-child{margin-bottom:0}.editor-container{flex-direction:column;gap:16px;display:flex;position:relative}.text-textarea{width:100%;min-height:320px;font-family:var(--font-serif);color:var(--text-primary);background-color:var(--bg-color);border:1px solid var(--border-color);resize:vertical;border-radius:8px;outline:none;padding:24px;font-size:1.15rem;line-height:1.8;transition:border-color .2s,box-shadow .2s;box-shadow:inset 0 2px 4px #00000003}.text-textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #a87e4326}.textarea-footer{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.character-count{align-items:center;gap:8px;display:flex}.character-count.error{color:#c94a4a}.character-count.success{color:var(--accent-color)}.btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--accent-color);color:#fff}.btn-primary:hover{background-color:var(--accent-hover)}.btn-primary:disabled{background-color:var(--border-color);color:var(--text-muted);cursor:not-allowed}.btn-secondary{border:1px solid var(--border-color);color:var(--text-secondary);background-color:#0000}.btn-secondary:hover{background-color:var(--bg-surface);color:var(--text-primary)}.btn-text{color:var(--text-secondary);background:0 0;border:none;padding:6px 12px}.btn-text:hover{color:var(--text-primary)}.button-row{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:40px;padding-top:24px;display:flex}.timer-widget{background-color:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;font-weight:600;display:flex}.timer-widget.active{color:var(--accent-color);border-color:var(--accent-color);background-color:var(--accent-light);animation:2s infinite pulse}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{box-shadow:0 0 #a87e4333}70%{box-shadow:0 0 0 6px #a87e4300}to{box-shadow:0 0 #a87e4300}}.goal-input-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:16px;margin-bottom:16px;padding:24px;animation:.3s fadeIn;display:flex}.goal-card-header{justify-content:space-between;align-items:center;font-size:.95rem;font-weight:600;display:flex}.goal-card-remove{color:#c94a4a;cursor:pointer;background:0 0;border:none;font-size:.85rem}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{text-transform:uppercase;color:var(--text-muted);font-size:.8rem;font-weight:600}.input-text,.input-textarea{border:1px solid var(--border-color);background-color:var(--bg-color);width:100%;color:var(--text-primary);border-radius:6px;outline:none;padding:10px 14px;font-size:.95rem;transition:border-color .2s}.input-text:focus,.input-textarea:focus{border-color:var(--accent-color)}.input-textarea{resize:vertical;min-height:80px}.goals-list{flex-direction:column;gap:16px;display:flex}.goal-rank-item{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:16px;padding:16px 20px;transition:all .2s;display:flex}.rank-number{font-size:1.5rem;font-family:var(--font-serif);color:var(--accent-color);min-width:32px;font-weight:600}.goal-rank-info{flex-grow:1}.goal-rank-title{margin-bottom:2px;font-size:1rem;font-weight:600}.goal-rank-desc{color:var(--text-secondary);font-size:.85rem}.rank-buttons{flex-direction:column;gap:2px;display:flex}.rank-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:22px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1rem;transition:all .2s;display:flex}.rank-btn:hover{background-color:var(--border-color);color:var(--text-primary);border-color:var(--text-secondary)}.rank-btn:disabled{color:var(--text-muted);cursor:not-allowed;background:0 0}.strategize-progress-header{flex-direction:column;gap:12px;margin-bottom:32px;display:flex}.goal-heading-badge{background-color:var(--accent-light);color:var(--accent-color);text-transform:uppercase;letter-spacing:.5px;border-radius:12px;width:fit-content;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-block}.strategize-steps-bar{gap:8px;margin-top:8px;display:flex}.strategize-step-dot{background-color:var(--border-color);border-radius:2px;flex-grow:1;height:4px;transition:background-color .2s}.strategize-step-dot.active{background-color:var(--accent-color)}.strategize-step-dot.completed{background-color:var(--text-secondary)}.alert-banner{color:#c94a4a;background-color:#c94a4a1a;border-left:3px solid #c94a4a;border-radius:0 6px 6px 0;margin-bottom:24px;padding:12px 16px;font-size:.9rem}.report-section{border-bottom:1px solid var(--border-color);margin-bottom:48px;padding-bottom:32px}.report-section:last-child{border-bottom:none;padding-bottom:0}.report-question-block{margin-bottom:28px}.report-question{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:.95rem;font-weight:600}.report-answer{font-family:var(--font-serif);color:var(--text-primary);white-space:pre-wrap;font-size:1.1rem;line-height:1.8}.report-goal-card{border:1px solid var(--border-color);background-color:var(--bg-surface);border-radius:8px;margin-bottom:24px;padding:24px}.report-goal-header{border-bottom:1px solid var(--border-color);align-items:baseline;gap:12px;margin-bottom:16px;padding-bottom:8px;display:flex}.report-goal-title{font-family:var(--font-serif);font-size:1.3rem;font-weight:600}.report-goal-description{color:var(--text-secondary);margin-bottom:16px;font-size:.95rem;font-style:italic}.backup-box{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:16px;margin-top:32px;padding:24px;display:flex}.backup-actions{align-items:center;gap:12px;display:flex}.file-input-wrapper{display:inline-block;position:relative;overflow:hidden}.file-input-wrapper input[type=file]{opacity:0;cursor:pointer;font-size:100px;position:absolute;top:0;left:0}.goal-desc-preview{color:var(--text-secondary);margin-top:4px;font-size:.85rem}@media print{body{font-size:12pt;color:#000!important;background-color:#fff!important}.app-header,.app-sidebar,.button-row,.backup-box,.btn,.timer-widget,.menu-toggle{display:none!important}.main-content{margin-top:0!important;margin-left:0!important;padding:0!important}.content-wrapper{max-width:100%!important}h1{margin-top:0;font-size:24pt}h2{page-break-before:always;font-size:18pt}.report-section{page-break-inside:avoid;border-bottom:none}.report-goal-card{page-break-inside:avoid;background:0 0!important;border:none!important;padding:0!important}.report-answer{font-size:11pt;line-height:1.6}}
