*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}:root{--surface-bg: #e8e6e1;--panel-bg: #f5f4f0;--panel-elevated: #fafaf8;--text-primary: #1f1d1a;--text-secondary: #5a5752;--text-tertiary: #8a8780;--border-subtle: #d4d2cc;--border-panel: #bfbdb5;--accent-primary: #2d5366;--accent-hover: #1e3d4d}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--surface-bg);color:var(--text-primary);line-height:1.65}h1{font-weight:700;letter-spacing:-.03em;line-height:1.2}h2{font-weight:600;letter-spacing:-.02em;line-height:1.3}h3{font-weight:600;letter-spacing:-.01em;line-height:1.4}.app{min-height:100vh;padding:0;position:relative}.global-header{position:fixed;top:0;left:0;right:0;height:4rem;background:var(--panel-elevated);border-bottom:1px solid var(--border-panel);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;z-index:1000}.header-brand{display:flex;flex-direction:column;gap:.125rem}.brand-name{font-size:1.125rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.brand-tagline{font-size:.75rem;font-weight:400;color:var(--text-tertiary);letter-spacing:.01em}.login-btn{padding:.5rem;border:1px solid var(--border-panel);background:transparent;color:var(--text-secondary);border-radius:4px;cursor:pointer;transition:background-color .2s ease,color .2s ease;display:flex;align-items:center;justify-content:center}.login-btn:hover{background:var(--panel-bg);color:var(--text-primary)}.login-btn:active{transform:translateY(1px)}.login-btn svg{display:block}.setup-mode{max-width:900px;margin:0 auto;padding:8rem 2rem 4rem;min-height:calc(100vh - 4rem)}.hero-section{text-align:center;margin-bottom:5rem}.hero-section h1{font-size:2.875rem;font-weight:700;margin-bottom:1.5rem;color:var(--text-primary);letter-spacing:-.03em;line-height:1.15}.hero-subheading{font-size:1.1875rem;color:var(--text-secondary);line-height:1.7;max-width:680px;margin:0 auto}.track-container{position:relative;display:flex;gap:2rem}.time-track{position:absolute;left:1rem;top:0;bottom:0;width:2px;background:var(--border-subtle);flex-shrink:0}.track-content{flex:1;margin-left:3rem}.empty-state-hint{font-size:.9375rem;color:var(--text-tertiary);margin-bottom:1.25rem;font-style:italic;line-height:1.6}.setup-section{background:var(--panel-elevated);padding:2.25rem;border-radius:6px;margin-bottom:2.5rem;border:1px solid var(--border-panel);box-shadow:0 1px 3px #0000000d}.setup-section h2{font-size:.875rem;font-weight:600;margin-bottom:1.5rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em}.agenda-input{width:100%;min-height:200px;padding:1rem;font-size:1rem;border:1px solid var(--border-subtle);border-radius:4px;font-family:inherit;resize:vertical;background:var(--panel-bg);transition:border-color .2s ease,background-color .2s ease;color:var(--text-primary)}.agenda-input:focus{outline:none;border-color:var(--accent-primary);background:var(--panel-elevated)}.duration-input-group{display:flex;align-items:center;gap:.75rem}.duration-input-group input{width:80px;padding:.625rem;font-size:1rem;border:1px solid var(--border-subtle);border-radius:4px;background:var(--panel-bg);transition:border-color .2s ease,background-color .2s ease;color:var(--text-primary)}.duration-input-group input:focus{outline:none;border-color:var(--accent-primary);background:var(--panel-elevated)}.duration-input-group span{color:var(--text-secondary);font-size:.9375rem}.agenda-generated-section{margin-top:5rem;padding-top:4rem;border-top:2px solid var(--border-panel)}.agenda-list{display:flex;flex-direction:column;gap:.75rem}.agenda-item-edit{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:var(--panel-bg);border:1px solid var(--border-subtle);border-radius:4px;transition:transform .2s ease;position:relative}.agenda-item-edit:hover{transform:translate(2px)}.track-item .track-marker{position:absolute;left:-2.5rem;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--border-panel);border:2px solid var(--panel-elevated)}.agenda-item-title{font-size:1rem;font-weight:500;color:var(--text-primary);flex:1}.time-summary{margin-top:2rem;padding:1.5rem;background:var(--panel-bg);border:1px solid var(--border-subtle);border-radius:4px;display:flex;flex-direction:column;gap:.625rem;font-size:.9375rem}.time-summary strong{font-weight:600;color:var(--text-primary)}.warning{color:#b45309;font-weight:500;margin-top:.25rem}.btn{padding:.9375rem 1.875rem;font-size:1rem;font-weight:600;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease,transform .1s ease;font-family:inherit;letter-spacing:.01em}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-success{background:var(--text-primary);color:var(--panel-elevated);width:100%;padding:1.25rem;font-size:1.0625rem;margin-top:2rem}.btn-success:hover{background:#0f0e0c}.btn-secondary{background:var(--text-secondary);color:var(--panel-elevated)}.btn-secondary:hover{background:#4a4843}.btn-large{padding:1.25rem 2.75rem;font-size:1.0625rem}.running-mode{min-height:100vh;background:#dad8d2;display:flex;flex-direction:column;padding-top:4rem}.running-mode .header{padding:1.75rem 2.5rem;background:#fafaf899;border-bottom:1px solid var(--border-panel);box-shadow:0 1px 2px #0000000a}.running-layout{display:grid;grid-template-columns:45% 55%;flex:1;gap:0}.topics-pane{background:#eceae3cc;padding:3rem 2.5rem;border-right:1px solid var(--border-panel);overflow-y:auto}.topics-track-container{position:relative;display:flex;gap:2rem}.topics-track-container .time-track{position:absolute;left:.5rem;top:0;bottom:0;width:2px;background:var(--border-subtle);flex-shrink:0}.topics-content{flex:1;margin-left:2rem}.completed-topics{margin-bottom:3.5rem}.completed-topics h3{font-size:.75rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.75rem}.completed-topic-item{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.125rem;background:#fafaf866;border-radius:4px;margin-bottom:.75rem;border:1px solid rgba(191,189,181,.2);opacity:.7;position:relative}.completed-topic-item .track-marker{position:absolute;left:-1.75rem;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--text-tertiary);opacity:.5}.completed-topic-item .topic-title{font-size:.9375rem;color:var(--text-secondary);text-decoration:line-through;text-decoration-color:var(--text-tertiary);flex:1}.completed-topic-item .topic-time{font-size:.875rem;font-weight:600;color:var(--text-tertiary)}.current-topic-item{background:var(--panel-elevated);padding:2rem;border-radius:6px;margin-bottom:3rem;border:2px solid var(--accent-primary);position:relative}.current-topic-item .track-marker{position:absolute;left:-2rem;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:var(--accent-primary);border:3px solid var(--panel-elevated);box-shadow:0 0 0 2px var(--accent-primary)}.topic-number{font-size:.75rem;font-weight:600;color:var(--accent-primary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem}.current-topic-item h2{font-size:2rem;margin-bottom:1rem;color:var(--text-primary);line-height:1.2}.topic-duration{font-size:1rem;color:var(--text-secondary);font-weight:600}.upcoming-topics h3{font-size:.75rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.75rem}.upcoming-topic-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#fafaf899;border-radius:4px;margin-bottom:.75rem;border:1px solid rgba(191,189,181,.3);cursor:pointer;transition:all .2s ease;position:relative}.upcoming-topic-item:hover{background:#fafaf8e6;border-color:var(--accent-primary);transform:translate(4px)}.upcoming-topic-item:active{transform:translate(2px)}.upcoming-topic-item .track-marker{position:absolute;left:-1.75rem;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--border-panel);border:2px solid rgba(250,250,248,.8)}.topic-title{font-size:.9375rem;color:var(--text-secondary);flex:1}.topic-time{font-size:.875rem;font-weight:600;color:var(--text-tertiary)}.no-upcoming{text-align:center;color:var(--text-tertiary);padding:2rem;font-size:.875rem}.timer-pane{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem;background:#dad8d280}.timer-microcopy{font-size:.8125rem;color:var(--text-tertiary);margin-bottom:2.5rem;letter-spacing:.02em;text-transform:lowercase;line-height:1.5}.timer-display{text-align:center;margin-bottom:3rem}.timer{font-size:8rem;font-weight:400;font-family:Courier New,monospace;color:var(--text-primary);letter-spacing:.08em;line-height:1;margin-bottom:2rem}.progress-bar{width:400px;height:12px;background:#2d536626;border-radius:6px;overflow:hidden;margin:0 auto}.progress-fill{height:100%;background:var(--accent-primary);transition:width .3s ease;border-radius:6px}.controls{display:flex;justify-content:center;gap:1rem}.complete-message{display:flex;justify-content:center;align-items:center;min-height:100vh;text-align:center;padding:3rem}.complete-message h1{font-size:4rem;font-weight:600;color:#3b9f6d;letter-spacing:-.03em}@media(max-width:1024px){.running-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.topics-pane{border-right:none;border-bottom:1px solid var(--border-panel);padding:2rem 1.5rem}.timer{font-size:5rem}.progress-bar{width:300px}}@media(max-width:768px){.hero-section h1{font-size:2rem}.hero-subheading{font-size:1rem}.setup-mode{padding:6rem 1.5rem 2rem}.track-container,.topics-track-container{gap:1rem}.time-track{left:.25rem}.track-content,.topics-content{margin-left:1.5rem}.current-topic-item h2{font-size:1.5rem}.timer{font-size:4rem}.progress-bar{width:250px}}.app-footer{padding:3rem 2rem 2rem;text-align:center;border-top:1px solid var(--border-subtle);background:var(--surface-bg)}.footer-content{max-width:900px;margin:0 auto;font-size:.8125rem;color:var(--text-tertiary);letter-spacing:.01em}.running-mode+.app-footer{margin-top:0}
