.actions-button-group{display:inline-flex;gap:4px;font-size:14px}.action-btn{padding:2px 6px;font-size:.8em;cursor:pointer;border:1px solid #ccc;background-color:#f0f0f0;border-radius:3px;transition:background-color .2s ease}@media (max-width: 768px){.actions-button-group{gap:12px;font-size:24px}.action-btn{padding:6px 14px;font-size:1.1em}}@property --glow-hue{syntax: "<number>"; inherits: false; initial-value: 226;}.popup-approve-btn{position:fixed;bottom:20px;right:20px;background:linear-gradient(135deg,var(--primary-color),rgba(30,0,0,.8));color:#fff;border:none;padding:12px 24px;cursor:pointer;border-radius:50px;font-size:1em;font-weight:700;box-shadow:0 4px 12px #0000004d,0 0 20px hsl(var(--glow-hue),76%,69%);transition:all .3s ease;z-index:1000;min-width:120px;animation:rhythmicGlow 2s ease-in-out infinite,hueCycle 6s linear infinite}@keyframes rhythmicGlow{0%,to{box-shadow:0 4px 12px #0000004d,0 0 20px hsl(var(--glow-hue),76%,69%)}50%{box-shadow:0 4px 12px #0000004d,0 0 30px hsl(var(--glow-hue),76%,69%)}}@keyframes hueCycle{0%{--glow-hue: 226}50%{--glow-hue: 267}to{--glow-hue: 226}}.popup-approve-btn:hover{background:linear-gradient(135deg,var(--primary-hover-color),var(--primary-color));box-shadow:0 6px 16px #0006,0 0 25px hsl(var(--glow-hue),76%,69%);transform:translateY(-2px);animation-play-state:paused}.popup-approve-btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}.popup-approve-btn:disabled{background:#ccc;cursor:not-allowed;box-shadow:none;transform:none;animation:none}@media (min-width: 768px){.popup-approve-btn{bottom:5%;right:5%;left:auto}}.popup-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:15px;border-top:1px solid var(--medium-gray);flex-shrink:0}.popup-buttons button{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:1em;font-weight:500;transition:background-color .2s ease,transform .1s ease}.popup-buttons button:hover{opacity:.9}.popup-buttons button:active{transform:scale(.98)}#approve-goal,.approve-button{background-color:var(--success-color);color:#fff;box-shadow:0 2px 6px #00000026}#cancel-goal,.cancel-button{background-color:var(--danger-color);color:#fff}.cancel-button.secondary{background-color:var(--light-gray);color:var(--dark-gray);border:1px solid var(--medium-gray)}.cancel-button.secondary:hover{background-color:var(--medium-gray)}.popup-close-btn{position:absolute;top:5px;right:5px;background:transparent;border:none;font-size:1.8em;line-height:1;color:var(--dark-gray);cursor:pointer;padding:5px;transition:color .2s ease;z-index:1;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.popup-close-btn:hover{color:var(--danger-color)}.popup-close-btn:focus{outline:none}.approve-goal-btn,.approve-task-btn{background-color:var(--primary-color);color:#fff;border:none;padding:6px 12px;cursor:pointer;border-radius:4px;font-size:.9em;transition:background-color .2s ease;z-index:100}.approve-goal-btn:hover,.approve-task-btn:hover{background-color:var(--primary-hover-color)}.approve-goal-btn:focus,.approve-task-btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}.actions-button-group{margin-left:8px}.action-btn{padding:2px 6px;font-size:.8em;cursor:pointer;border:1px solid #ccc;background-color:#f0f0f0;border-radius:3px}.skeleton-actions-button-group{position:absolute;top:5px;right:5px;z-index:100;background:#fff;padding:2px;border-radius:4px;box-shadow:0 2px 4px #0000001a}.skeleton-action-btn{padding:2px 6px;font-size:.8em;cursor:pointer;border:1px solid #ddd;background-color:#f9f9f9;border-radius:3px}.skeleton-action-btn:hover{background-color:#eee}@media (max-width: 768px){.popup-buttons{flex-direction:column;gap:40px}.popup-buttons button{width:100%;padding:12px 24px;font-size:1.1em}.action-btn,.skeleton-action-btn{padding:6px 12px;font-size:1em}.approve-goal-btn,.approve-task-btn{padding:8px 16px;font-size:1em}.actions-button-group{gap:8px}}.task-item.task-session-instruction,.task-item.task-data-point{border-radius:4px;margin-bottom:10px;padding:10px;transition:all .2s ease}.datapoints-section{margin-top:10px;border-top:1px solid #e9ecef;padding-top:10px}.datapoints-header{cursor:pointer;position:relative;padding-right:20px;font-size:1.1em;color:#495057;margin-bottom:5px}.datapoints-header:after{content:"▸";position:absolute;right:0;top:50%;transform:translateY(-50%);transition:transform .2s ease}.datapoints-section.expanded .datapoints-header:after{content:"▾"}.datapoints-container{display:none;padding-left:10px}.datapoints-section.expanded .datapoints-container{display:block;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.task-item.task-data-point{background-color:#f8f9fa;border-left:4px dashed #adb5bd;border-top:1px solid #e9ecef;border-right:1px solid #e9ecef;border-bottom:1px solid #e9ecef;padding:8px 12px;box-shadow:none;transition:background-color .2s ease,box-shadow .2s ease}.task-item.task-data-point:hover{transform:none;box-shadow:0 2px 8px #0000000d;background-color:#f1f3f5}.task-data-point .task-title .title-text{font-size:.95em;font-weight:600;color:#495057}.task-data-point .task-description{font-size:.85em;color:#6c757d;margin-top:8px}.task-data-point .task-meta .task-type-indicator{background-color:#6c757d;color:#fff}.task-session-instruction .task-meta .task-state,.task-data-point .task-meta .task-state{display:none}.task-priority-debug{font-size:.8em;padding:2px 6px;border-radius:3px;margin-left:5px}.task-priority-debug[style*=high]{background-color:#ff00001a;color:#d00}.task-priority-debug[style*=medium]{background-color:#ffa5001a;color:#f80}.task-priority-debug[style*=low]{background-color:#0080001a;color:#080}.datapoints-header:hover{color:#007bff;transition:color .2s ease}.goal-popup>.goal-container.goal-level-0{padding:10px;position:relative}.goal-container:not(.goal-level-0){position:relative}.goal-container:hover{box-shadow:0 0 8px #007bff1a}.goal-container:last-child{margin-bottom:1}.goal-container{background-color:var(--popup-bg-content);margin:5px 0;padding:var(--goal-container-padding);border-radius:4px;border:1px solid var(--medium-gray);transition:box-shadow .2s ease;word-wrap:break-word;overflow-wrap:break-word;scroll-snap-align:start;position:relative;display:block;max-width:100%;box-sizing:border-box}.tasks-container,.subgoals-container{box-sizing:border-box;width:calc(100% - 20px);margin-top:15px;padding-top:10px;border-top:1px dashed var(--medium-gray)}.tasks-container h5,.subgoals-container h5{margin:0 10px 10px;font-size:1em;font-weight:500;color:var(--dark-gray);overflow-wrap:break-word;word-break:break-word}.goal-header{box-sizing:border-box;margin-bottom:12px;width:calc(100% - 20px);overflow-x:auto;white-space:normal}.goal-title{display:flex;align-items:center;margin:0 0 5px;font-size:1.25em;font-weight:600;color:var(--primary-color);overflow-wrap:anywhere}.title-text{display:block;flex:1;min-width:0;margin-left:10px;white-space:normal;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.goal-meta,.task-meta{font-size:.85em;color:var(--dark-gray);display:flex;flex-wrap:wrap;gap:10px;overflow-wrap:break-word;word-break:break-word}.goal-meta span{background-color:var(--light-gray);padding:3px 8px;border-radius:4px;overflow-wrap:break-word;word-break:break-word}.task-item{background-color:#fff;padding:10px 12px;margin-bottom:8px;border-radius:6px;border:1px solid #e0e0e0;display:flex;flex-direction:column;gap:8px;transition:transform .2s ease,box-shadow .2s ease;word-wrap:break-word}.task-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.task-item:last-child{margin-bottom:0}.task-info .task-title{font-weight:500;margin-bottom:4px;color:#444;overflow-wrap:break-word;word-break:break-word}.task-info .task-description{font-size:.9em;color:#666;margin-bottom:6px;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word}.task-meta .task-state{font-weight:700;padding:2px 6px;border-radius:4px;color:#fff;overflow-wrap:break-word;word-break:break-word}.task-state-in-progress{background-color:var(--primary-color)}.task-state-completed{background-color:var(--success-color)}.task-state-blocked{background-color:var(--danger-color)}.task-highlighted{border-left:4px solid var(--primary-color);box-shadow:0 0 15px #007bff33}.task-item .toggle-task-state{align-self:flex-start;padding:6px 12px;font-size:.9em}.tasks-container{display:flex;flex-direction:column}.tasks-container>h5{order:-3}.task-item.task-skeleton{order:-2}.task-item.task-session-instruction{order:-1}.task-priority-debug{font-size:.7rem;font-style:italic;color:#888}.task-state-completed{box-shadow:0 0 8px #22c55e4d}.task-state-active{box-shadow:0 0 6px #476aa46e;border-left:3px solid #2e2121;background-color:#2b82bc}.task-badge{font-size:.85em;padding:2px 6px;border-radius:4px;margin-left:5px;overflow-wrap:break-word;word-break:break-word}.task-badge.completed{background-color:#dcfce7;color:#166534;border:1px solid #bbf7d0}.task-badge.active{background-color:#dbeafe;color:#1d4ed8;border:1px solid #bfdbfe}.generation-icon,.generate-icon{margin-right:5px;font-size:1.1em;flex-shrink:0}.completed-icon,.active-icon{flex-shrink:0;margin-right:5px}.action-btn{background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px;padding:4px 8px;font-size:.9em;cursor:pointer;transition:background-color .2s ease}.action-btn:hover{background-color:#e0e0e0}.action-btn[title="Cancel Generate"]{background-color:#fcc;border-color:#f99}.action-btn[title="Cancel Generate"]:hover{background-color:#f99}.goal-state-completed{box-shadow:0 0 8px #22c55e4d}.goal-badge{font-size:.85em;padding:2px 6px;border-radius:4px;margin-left:5px;overflow-wrap:break-word;word-break:break-word}@media (max-width: 768px){.task-item{padding:5px 8px;margin-bottom:4px;border-radius:0;box-shadow:none}.task-item:hover{transform:none;box-shadow:none}}.subgoals-container{width:100%;max-width:var(--popup-max-width)}#goal-popup{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--popup-bg-overlay);display:flex;justify-content:center;align-items:flex-start;z-index:99;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s;padding:50px 20px;box-sizing:border-box;overflow-y:auto;overflow-x:auto;-webkit-overflow-scrolling:touch}#goal-popup.visible{opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s linear 0s}.popup-content{background-color:var(--popup-bg-content);padding:20px 25px;border-radius:var(--popup-border-radius);width:100%;max-width:var(--popup-max-width);max-height:calc(100vh - 100px);min-height:fit-content;box-shadow:var(--popup-shadow);position:relative;display:flex;flex-direction:column;flex-shrink:0;overflow:auto;transform:scale(.95);transition:transform .3s ease}#goal-popup.visible .popup-content{transform:scale(1);animation:popup-fade-in .3s ease-out}.popup-content>h3{margin:0 0 10px;font-size:1.6em;color:var(--popup-text-color);font-weight:600;border-bottom:1px solid var(--medium-gray);padding-bottom:10px;flex-shrink:0}.popup-content .goal-display-area,.popup-content.scrollable-dynamic-content{flex-grow:1;overflow-y:auto;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-right:10px;margin-right:-10px;min-height:0}.goal-display-area::-webkit-scrollbar,.scrollable-dynamic-content::-webkit-scrollbar{width:8px}.goal-display-area::-webkit-scrollbar-track,.scrollable-dynamic-content::-webkit-scrollbar-track{background:var(--light-gray);border-radius:10px}.goal-display-area::-webkit-scrollbar-thumb,.scrollable-dynamic-content::-webkit-scrollbar-thumb{background:var(--medium-gray);border-radius:10px}.goal-display-area::-webkit-scrollbar-thumb:hover,.scrollable-dynamic-content::-webkit-scrollbar-thumb:hover{background:var(--dark-gray)}@keyframes popup-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.pending-notice{display:none}@media (max-width: 768px){#goal-popup{padding:0}.popup-content{max-width:100vw}.keyboard-visible #goal-popup{z-index:101}.keyboard-visible .popup-content{max-height:calc(100vh - 120px - var(--kb-height, 0px) - env(safe-area-inset-bottom,0px))}}@keyframes constellation-pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes constellation-glow{0%{opacity:1;filter:drop-shadow(0 0 2px #F6E05E)}to{opacity:1;filter:drop-shadow(0 0 6px #F6E05E)}}@keyframes star-pulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.1);opacity:1}}@keyframes star-glow{0%{filter:drop-shadow(0 0 4px #F6E05E)}to{filter:drop-shadow(0 0 8px #F6E05E)}}@keyframes trail-shimmer{0%,to{opacity:.2}50%{opacity:.6}}@keyframes nova-expand{0%{r:8;opacity:.3}to{r:16;opacity:0}}@keyframes panelFadeIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.editor-panel{position:relative;overflow:visible;max-height:100vh}.editor-header{position:relative;display:flex;align-items:center;height:48px;min-height:48px;padding:0 12px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1);transition:background .3s ease;z-index:10;flex-shrink:0}.editor-container.closed{max-height:48px}.editor-header{position:relative;display:flex;align-items:center;height:48px;padding:0 12px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1);transition:background .3s ease;z-index:10}.editor-header .title{font-size:1.2em;font-weight:700;color:#fff;flex:1}.editor-container.closed .editor-header{background:#ffffff05;border-bottom:none}.editor-content{flex:1;display:flex;position:relative;z-index:1;padding:20px;transition:opacity .3s ease,max-height .4s cubic-bezier(.4,0,.2,1);max-height:25vh}.editor-container.closed .editor-content{opacity:0;max-height:0;padding:0;overflow:hidden;pointer-events:none}.drawer-toggle-btn{position:relative;width:32px;height:32px;background:transparent;color:#fff;border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1001;display:flex;justify-content:center;align-items:center;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;padding:0}.drawer-toggle-btn:hover{transform:scale(1.1)}.drawer-toggle-btn:active{transform:scale(.95)}.chevron-icon{width:20px;height:20px;transition:transform .4s cubic-bezier(.4,0,.2,1);transform-origin:center}.drawer-toggle-btn.rotated .chevron-icon{transform:rotate(180deg)}@media (max-width: 768px){.drawer-toggle-btn{width:28px;height:28px}.chevron-icon{width:18px;height:18px}.editor-content{padding:12px}.editor-header{height:44px;padding:0 10px}.editor-container.closed{max-height:44px}.editor-header .title{font-size:1em}}.drawer-toggle-btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.editor-content{scroll-behavior:smooth}.editor-content::-webkit-scrollbar{width:8px}.editor-content::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.editor-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.editor-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.long-press-active{opacity:.7;transform:scale(.98);transition:all .1s ease}@media (max-width: 767px){.hover-context-menu{min-width:140px!important;border-radius:8px!important;box-shadow:0 6px 20px #0003!important}.hover-menu-item{padding:12px 16px!important;font-size:1rem!important;min-height:44px!important;display:flex!important;align-items:center!important}.hover-context-menu,.hover-menu-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.hover-menu-item:active{background-color:#0000001a;transform:scale(.98)}.dark .hover-menu-item:active{background-color:#ffffff1a}}@media (max-width: 767px){.dark .hover-context-menu{box-shadow:0 6px 20px #00000080!important}}.mobile-menu-open{overflow:hidden!important}@supports (backdrop-filter: blur(4px)){@media (max-width: 767px){.hover-context-menu{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffe6!important}.dark .hover-context-menu{background:#2c2c2ce6!important}}}@media (max-width: 480px){.hover-menu-item{padding:14px 18px!important;min-height:48px!important}}.edit-input-title,.edit-textarea-description{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:transparent;border:1px solid var(--primary-color);padding:0;margin:0;outline:none;box-shadow:none;border-radius:0;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:#000;letter-spacing:inherit;text-align:inherit;width:100%;box-sizing:border-box;resize:vertical;overflow:auto;min-height:1.2em}.edit-textarea-description{min-height:2.4em}.original-text-content{display:none}.action-btn-cancel[title="Undo Delete"]{background-color:var(--danger-color);color:#fff;display:inline-block}.status-marked-for-deletion .action-btn-delete,.status-marked-for-deletion .action-btn-edit,.status-marked-for-deletion .action-btn-autogenerate{display:none}.approval-legend{margin:10px 0;padding:10px;background-color:#f9fafb;border-radius:4px}.legend-item{display:flex;align-items:center;margin:5px 0}.legend-color{width:20px;height:20px;display:inline-block;margin-right:10px;border:1px solid #d1d5db}.legend-color.status-approved{background-color:#3b82f6}.legend-color.status-unapproved{background-color:#f97316}.legend-color.status-pending{background-color:#eab308}.legend-color.status-proposed{background-color:#8b5cf6}.legend-color.status-completed{background-color:#22c55e}*{margin:0;padding:0;box-sizing:border-box}.chat-container{width:100%;max-width:800px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;height:100dvh;height:100vh;position:relative;transition:background .3s}@media (max-width: 768px){html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.main-container{width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.chat-container{width:100vw;height:100dvh;height:100vh;max-width:none;border-radius:0;box-shadow:none}.chat-input{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #ddd;border-bottom-left-radius:0;border-bottom-right-radius:0;z-index:100;padding-bottom:env(safe-area-inset-bottom,0px);transform:translateZ(0)}.dark .chat-input{background:#2a2a2a;border-top-color:#555}.chat-messages{padding-bottom:var(--input-padding, calc(150px + env(safe-area-inset-bottom, 0px)) );overflow-y:auto;-webkit-overflow-scrolling:touch}.chat-input-container{height:0;overflow:hidden}.chat-input textarea{resize:none!important;overflow-y:auto}input,textarea{font-size:18px;-webkit-appearance:none;appearance:none;border-radius:8px;text-decoration-skip-ink:none}.chat-input input:focus,.chat-input textarea:focus{scroll-margin-bottom:0;position:relative;z-index:101}.chat-input textarea.autocorrect-detected{border-color:red;box-shadow:0 0 5px #ff000080}}body{font-family:Segoe UI,Arial,sans-serif;background:#f5f5f5;color:#333;display:flex;justify-content:center;align-items:center;height:100vh;transition:background .3s,color .3s;line-height:1.6;-webkit-user-select:none;user-select:none}input,textarea,.message{-webkit-user-select:text;user-select:text}body.dark{background:#1a1a1a;color:#ddd}.dark .chat-container{background:#2a2a2a}header{padding:15px;background:linear-gradient(135deg,#4b5159,#9d9595);color:#fff;border-top-left-radius:12px;border-top-right-radius:12px;display:flex;justify-content:space-between;align-items:center}h1{font-size:1.6rem}.chat-messages{flex:1;padding:20px;overflow-y:auto;scroll-behavior:smooth}.message{margin:16px 0;padding:12px;border-radius:8px;max-width:80%;opacity:0;animation:fadeIn .3s ease forwards;word-wrap:break-word;overflow-wrap:break-word}.bot li{list-style:disc;margin-left:20px}.user{background:#007bff;color:#fff;align-self:flex-end;margin-left:auto}.bot{background:#e9ecef;color:#333;align-self:flex-start}.dark .bot{background:#3a3a3a;color:#ddd}.loading{display:flex;align-items:center;gap:10px;padding:12px;background:#e9ecef;border-radius:8px;align-self:flex-start}.dark .loading{background:#3a3a3a}.spinner{border:4px solid rgba(0,0,0,.1);border-left-color:#333;border-radius:50%;width:24px;height:24px;animation:spin 1s linear infinite;display:inline-block}.goal-manager-spinner{border:4px solid rgba(0,0,255,.1);border-left-color:#00f;border-radius:50%;width:24px;height:24px;animation:spin 1s linear infinite;display:inline-block;margin-right:8px}.message.goal-manager-loading{display:flex;align-items:center;color:#00f;font-style:italic}.message.goal-manager-loading .goal-manager-label{margin-left:8px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{to{opacity:1}}.typing{font-style:italic;color:#666}.dark .typing{color:#999}.chat-input{display:flex;padding:15px;background:#fff;border-bottom-left-radius:12px;border-bottom-right-radius:12px;transition:background .3s;gap:10px;align-items:flex-end;min-height:70px}.dark .chat-input{background:#2a2a2a}#goal-picker{padding:10px;border:1px solid #ddd;border-radius:6px;font-size:1rem;background:#fff;outline:none;min-width:120px;flex-shrink:0}.dark #goal-picker{background:#333;color:#ddd;border-color:#555}input,textarea{flex:1;padding:12px;border:1px solid #ddd;border-radius:8px;outline:none;font-size:1rem;transition:border .2s,box-shadow .2s;font-family:inherit;resize:none;min-height:44px;max-height:120px;line-height:1.5;overflow-y:hidden;white-space:pre-wrap;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#ccc transparent}textarea::-webkit-scrollbar{width:6px}textarea::-webkit-scrollbar-track{background:transparent}textarea::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}textarea::-webkit-scrollbar-thumb:hover{background:#aaa}.dark input,.dark textarea{background:#333;color:#ddd;border-color:#555;scrollbar-color:#666 transparent}.dark textarea::-webkit-scrollbar-thumb{background:#666}.dark textarea::-webkit-scrollbar-thumb:hover{background:#777}input:focus,textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}button[type=submit]{padding:12px 20px;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:background .2s,transform .1s;flex-shrink:0;min-height:44px;display:flex;align-items:center;justify-content:center}button[type=submit]:hover{background:#0056b3;transform:translateY(-1px)}button[type=submit]:active{transform:translateY(0)}#editor-panel{background:#fff;border-left:1px solid #ddd;border-radius:0 8px 8px 0;min-height:0;opacity:0;transform:translate(20px);animation:panelFadeIn .3s ease forwards}@keyframes panelFadeIn{to{opacity:1;transform:translate(0)}}.dark #editor-panel{background:#2a2a2a;border-left-color:#555}.goal-header{font-size:1.2rem;font-weight:700;color:#333;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.dark .goal-header{color:#ddd}.chat-list{margin-bottom:10px}.chat-list.goal-linked{padding-left:15px;border-left:2px solid #007bff;margin-left:5px}.dark .chat-list.goal-linked{border-left-color:#1a73e8}.goal-header.active{background:#007bff1a;box-shadow:0 0 10px #007bff80;border-left:4px solid #007bff;padding-left:8px;transition:all .2s ease}.dark .goal-header.active{background:#1a73e833;box-shadow:0 0 10px #1a73e880;border-left-color:#1a73e8}.keyboard-visible .chat-messages{padding-bottom:calc(120px + var(--kb-height, 0px) + env(safe-area-inset-bottom,0px))}.keyboard-visible .chat-container{overflow:hidden}@keyframes twinkle{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}:root{--primary-color: #007bff;--success-color: #28a745;--danger-color: #dc3545;--warning-color: #ffc107;--light-gray: #f8f9fa;--medium-gray: #e9ecef;--dark-gray: #6c757d;--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--primary-hover-color: #0056b3;--popup-max-width: 800px;--status-border-left-width: 4px;--goal-container-padding: 10px}@media (max-width: 768px){:root{--popup-max-width: 100vw;--status-border-left-width: 1px;--goal-container-padding: 0px}}.no-transition{transition:none!important}.no-transition .line{transition:all .35s cubic-bezier(.4,0,.2,1)!important}.toggle-data-btn{position:absolute;width:55px;height:55px;top:80px;right:20px;padding:0;background-color:var(--primary-color);color:#fff;border:none;border-radius:50%;font-size:2.5em;cursor:pointer;box-shadow:0 4px 10px #0003;z-index:999;display:flex;justify-content:center;align-items:center;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.toggle-data-btn:hover{background-color:var(--primary-hover-color);box-shadow:0 6px 16px #0000004d}.toggle-data-btn:active{background-color:var(--primary-hover-color)}.toggle-data-btn-phase1{position:absolute;bottom:0;right:20px;width:55px;height:55px;font-size:2.5em;margin:0}.toggle-data-btn-phase2{position:relative;top:0;right:0;width:32px;height:32px;font-size:1.2em;margin-left:8px;margin-top:0}.toggle-data-btn-fading{opacity:0!important}.editor-header .toggle-data-btn-phase2{position:relative;top:0;right:10px;width:32px;height:32px;font-size:1.2em;margin-left:8px;margin-top:0}@media (max-width: 768px){.toggle-data-btn-phase1{bottom:0}.editor-header .toggle-data-btn-phase2{width:28px;height:28px;font-size:1em;margin-left:6px}}.hamburger-icon{width:100%;height:100%}.hamburger-icon .line{transition:all .35s cubic-bezier(.4,0,.2,1);transform-origin:center}#chats-toggle .line-top,#seeds-toggle .line-top{transform:translateY(0) rotate(0)}#chats-toggle .line-middle,#seeds-toggle .line-middle{opacity:1;transform:scaleX(1)}#chats-toggle .line-bottom,#seeds-toggle .line-bottom{transform:translateY(0) rotate(0)}#chats-toggle.open .line-top{transform:translateY(3px) rotate(45deg)}#chats-toggle.open .line-middle{opacity:0;transform:scaleX(0)}#chats-toggle.open .line-bottom{transform:translateY(-3px) rotate(-45deg)}#seeds-toggle.open .line-top{transform:translateY(3px) rotate(-45deg)}#seeds-toggle.open .line-middle{opacity:0;transform:scaleX(0)}#seeds-toggle.open .line-bottom{transform:translateY(-3px) rotate(45deg)}#chats-toggle:not(.no-transition):hover .hamburger-icon,#seeds-toggle:not(.no-transition):hover .hamburger-icon{transform:scale(1.08);transition:transform .2s ease}#chats-toggle:not(.no-transition):active .hamburger-icon,#seeds-toggle:not(.no-transition):active .hamburger-icon{transform:scale(.95);transition:transform .1s ease}#chats-toggle{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;color:#fff}.chats-toggle-phase1{position:absolute;left:10%;width:55px;height:55px;font-size:2.5em;color:#000}.chats-toggle-phase2{position:absolute;right:0;width:32px;height:32px;font-size:1.2em}.chat-sidebar .sidebar-header .chats-toggle-phase2{right:10px;left:auto}#chats-toggle-fading{opacity:0!important}@media (max-width: 768px){.chats-toggle-phase1{right:20px}}#seeds-toggle{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;color:#fff}.seeds-toggle-phase1{position:absolute;right:10%;width:55px;height:55px;font-size:2.5em}.seeds-toggle-phase2{position:absolute;left:0;width:32px;height:32px;font-size:1.2em}.goals-sidebar .sidebar-header .seeds-toggle-phase2{left:10px;right:auto}#seeds-toggle-fading{opacity:0!important}@media (max-width: 768px){.seeds-toggle-phase1{right:90px}#chats-toggle.chats-toggle-phase1.open .hamburger-icon,#seeds-toggle.seeds-toggle-phase1.open .hamburger-icon{transform:scale(.8)}}.menu-toggle-fading,.goals-toggle-fading{opacity:0}.hamburger-icon{width:100%;height:100%;transition:all .3s ease}.hamburger-icon path{transition:transform .3s ease,opacity .3s ease;transform-origin:center}.sidebar-toggle-btn.open .line1{transform:translateY(6px) rotate(45deg)}.sidebar-toggle-btn.open .line2{opacity:0}.sidebar-toggle-btn.open .line3{transform:translateY(-6px) rotate(-45deg)}.sidebar{position:absolute;top:0;width:300px;height:100%;background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid rgba(255,255,255,.2);transition:all .3s ease,background .3s ease,opacity .3s ease,border-color .3s ease;z-index:1;padding:15px;overflow:visible;opacity:.9}.sidebar.left{left:-330px;border-top-left-radius:12px;border-bottom-left-radius:12px}.sidebar.right{right:-330px;border-top-right-radius:12px;border-bottom-right-radius:12px;border-right:none;border-left:1px solid rgba(255,255,255,.2)}.sidebar.open{left:0;opacity:1;background:#ffffff26}.sidebar.right.open{right:0;left:auto;background:#ffffff26}.dark .sidebar{background:#0f0f0ff2;border-color:#ffffff1a}.dark .sidebar.open{background:#0f0f0ffa}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;font-size:.95rem;position:relative;transition:background .3s ease .1s,border-bottom-color .3s ease .1s,color .3s ease .1s,opacity .3s ease;opacity:.9}#new-chat,.chat-item,#close-chat-sidebar,#close-goals-sidebar{padding:10px;background:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem}.chat-item{width:100%;margin:5px 0;background:#e0e0e0;color:#333;text-align:left}.dark .chat-item{background:#3a3a3a;color:#ddd}.seed-goal{border-left:4px solid #6c757d;background:linear-gradient(to right,#e9ecef,#f8f9fa);-webkit-user-select:none;user-select:none}.dark .seed-goal{background:linear-gradient(to right,#3a3a3a,#2c2c2c);border-left-color:#adb5bd;-webkit-user-select:none;user-select:none}.seed-goal .progress-bar{background:#dee2e6}.dark .seed-goal .progress-bar{background:#495057}.seed-goal .progress-fill{background:#6c757d}.goal-header-compact{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:6px 8px;border-radius:4px;background:#f8f9fa;position:relative;overflow:visible;-webkit-user-select:none;user-select:none}.dark .goal-header-compact{background:#2c2c2c;-webkit-user-select:none;user-select:none}.goal-header-compact h2{margin:0;font-size:.9rem;font-weight:500;padding-right:60px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.goal-header-compact.pinned{border-left:4px solid #6c757d;background:linear-gradient(to right,#e9ecef,#f8f9fa)}.dark .goal-header-compact.pinned{background:linear-gradient(to right,#3a3a3a,#2c2c2c);border-left-color:#adb5bd}.goal-header-compact.pinned h2{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;padding-right:0;font-weight:500;font-size:.9rem;color:inherit}.toggle-icon{font-size:1rem;color:#6c757d;cursor:pointer}.chat-list{margin-top:4px;padding-left:12px;margin-bottom:10px}.chat-list.hidden{display:none}.chat-item-compact{padding:2px 8px;font-size:.75rem;margin:2px 0;background:transparent;border:1px solid #dee2e6;border-radius:4px;text-align:left}.dark .chat-item-compact{border-color:#495057;color:#ddd}.plan-header-compact{display:flex;justify-content:space-between;align-items:center;padding:4px 8px 4px 20px;background:#f8f9fa;font-size:.95rem;border-radius:2px;margin:4px 0;position:relative;overflow:visible;-webkit-user-select:none;user-select:none}.dark .plan-header-compact{background:#2c2c2c;-webkit-user-select:none;user-select:none}.plan-header-compact.pinned{border-left:4px solid #6c757d;background:linear-gradient(to right,#e9ecef,#f8f9fa)}.dark .plan-header-compact.pinned{background:linear-gradient(to right,#3a3a3a,#2c2c2c);border-left-color:#adb5bd}.plan-header-compact h3{margin:0;font-weight:400;font-size:.9rem;padding-right:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.plan-header-compact.pinned h3{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;padding-right:0;font-weight:500;font-size:.9rem;color:inherit}.plan-chat-list{padding-left:32px;margin-top:2px}.plans-container{border-left:4px solid #007bff;margin-left:10px;margin-bottom:10px;background:#007bff0d;border-radius:4px;padding:8px;-webkit-user-select:none;user-select:none}.dark .plans-container{border-left-color:#1a73e8;background:#78140a12;-webkit-user-select:none;user-select:none}.chat-sidebar-header{border-bottom:2px solid gainsboro}.goals-sidebar-header{justify-content:flex-end;border-bottom:2px solid gainsboro}.skeleton-actions-button-group{position:absolute;top:5px;right:5px;z-index:100;background:var(--light-gray);padding:2px;border-radius:4px;box-shadow:0 2px 4px #0000001a}.skeleton-action-btn{padding:2px 6px;font-size:.8em;cursor:pointer;border:1px solid var(--medium-gray);background-color:var(--light-gray);border-radius:3px;color:var(--dark-gray);transition:background-color .2s ease}.skeleton-action-btn:hover{background-color:var(--medium-gray)}.skeleton-action-btn:active{transform:scale(.98)}.task-skeleton{background-color:#f9f9f9;border-color:#d0d0d0}.task-skeleton .task-title{color:#333}.task-skeleton .skeleton-stats{margin-top:10px;padding:10px;background-color:#f0f0f0;border-radius:4px}.task-skeleton .skeleton-stats ul{list-style-type:none;padding:0}.task-skeleton .skeleton-stats li{margin-bottom:5px}.task-skeleton .branching-table{width:100%;border-collapse:collapse;margin-top:10px}.task-skeleton .branching-table th,.task-skeleton .branching-table td{border:1px solid #ddd;padding:8px;text-align:left}.task-skeleton .branching-table th{background-color:#e0e0e0}.task-skeleton .skeleton-visual{margin-top:10px;height:400px;width:100%;border:1px solid #ddd;border-radius:4px;overflow:visible;position:relative}.skeleton-editor-preview{width:100%;height:100%;position:relative;background-color:#fff}.skeleton-editor-preview canvas,.skeleton-editor-preview svg{position:absolute;top:0;left:0;width:100%;height:100%}.skeleton-task-info{position:relative;padding:10px}.settings-trigger{width:100%;padding:16px;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:space-between;margin:15px 0;transition:all .2s ease;box-shadow:0 2px 8px #007bff4d;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;touch-action:manipulation}.settings-trigger:hover{transform:translateY(-1px);box-shadow:0 4px 12px #007bff66}.settings-trigger:active{transform:scale(.98)}.settings-trigger .trigger-icon{font-size:18px;margin-right:8px}.settings-trigger .trigger-arrow{font-size:16px;transition:transform .3s ease}.bottom-sheet-overlay{position:fixed;inset:0;background:#0009;z-index:1000;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.bottom-sheet-overlay.active{opacity:1;visibility:visible}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -10px 40px #0000004d;transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);z-index:1001;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.bottom-sheet.active{transform:translateY(0)}.sheet-handle{width:40px;height:4px;background:#d1d1d6;border-radius:2px;margin:12px auto 0;cursor:grab;flex-shrink:0}.sheet-header{padding:20px 24px 16px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.sheet-title{font-size:20px;font-weight:600;color:#1a1a1a;text-align:center;margin:0}.sheet-subtitle{font-size:14px;color:#666;text-align:center;margin:4px 0 0}.sheet-content{padding:20px 24px;overflow-y:auto;flex:1}.sheet-setting-item{padding:20px 0;border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;align-items:center;min-height:64px}.sheet-setting-item:last-child{border-bottom:none}.sheet-setting-label{display:flex;align-items:center;gap:16px;flex:1}.sheet-setting-icon{font-size:24px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border-radius:8px;flex-shrink:0}.sheet-setting-info{flex:1}.sheet-setting-title{font-weight:500;color:#1a1a1a;margin:0 0 2px;font-size:16px}.sheet-setting-desc{font-size:14px;color:#666;margin:0}.sheet-setting-control{flex-shrink:0;margin-left:16px}.sheet-level-selector{display:flex;gap:8px;background:#f8f9fa;padding:4px;border-radius:12px}.sheet-level-btn{flex:1;min-width:44px;height:44px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease;color:#666;touch-action:manipulation}.sheet-level-btn:hover{background:#e9ecef;color:#333}.sheet-level-btn.active{background:#007bff;color:#fff;transform:scale(1.05);box-shadow:0 2px 8px #007bff4d}.sheet-level-btn:active{transform:scale(.95)}.sheet-shape-btn{padding:12px 20px;border:2px solid #007bff;background:#fff;color:#007bff;border-radius:12px;cursor:pointer;font-weight:500;transition:all .2s ease;min-width:120px;touch-action:manipulation}.sheet-shape-btn:hover{background:#f8f9ff}.sheet-shape-btn:active{background:#007bff;color:#fff;transform:scale(.98)}.sheet-toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.sheet-toggle-switch input{opacity:0;width:0;height:0}.sheet-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.sheet-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%;box-shadow:0 2px 4px #0003}input:checked+.sheet-slider{background-color:#007bff}input:checked+.sheet-slider:before{transform:translate(26px)}.sheet-footer{padding:20px 24px;border-top:1px solid #f0f0f0;flex-shrink:0}.sheet-done-btn{width:100%;padding:16px;background:#007bff;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;touch-action:manipulation}.sheet-done-btn:active{background:#0056b3;transform:scale(.98)}.skeleton-ui{display:none}.skeleton-visual{margin-top:20px;height:400px;width:100%;border:1px solid #e0e0e0;border-radius:10px;overflow:hidden;position:relative;background-color:#fff}@media (max-width: 767px){.bottom-sheet{max-height:90vh}.sheet-content{padding:16px 20px}.sheet-setting-item{padding:16px 0;min-height:60px}.sheet-setting-icon{font-size:20px;width:28px;height:28px}.sheet-level-btn{min-width:40px;height:40px;font-size:14px}.skeleton-visual{height:300px;margin-top:12px}.settings-trigger{font-size:15px;padding:14px}}.settings-trigger,.sheet-level-btn,.sheet-shape-btn,.sheet-toggle-switch{-webkit-tap-highlight-color:rgba(0,0,0,.1);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.task-item.task-session-instruction{background-color:#1a1a1a;border:1px solid #33ff33;color:#f0f0f0;font-family:SF Mono,Consolas,Courier New,monospace;box-shadow:0 4px 15px #3f33;margin-top:15px;margin-bottom:15px}.task-item.task-session-instruction:hover{transform:none;box-shadow:0 6px 20px #33ff334d;border-color:#6f6}.task-session-instruction .task-title .title-text{color:#3f3;font-weight:700;text-transform:uppercase;letter-spacing:1px}.task-session-instruction .task-description{color:#e0e0e0;white-space:pre-wrap;font-size:1em;line-height:1.6}.task-meta .task-type-indicator{font-weight:700;text-transform:uppercase;font-size:.75em;letter-spacing:.5px;border-radius:4px;padding:3px 7px;margin-right:8px}.task-session-instruction .task-meta .task-type-indicator{background-color:#3f3;color:#1a1a1a}.task-session-instruction .task-meta .task-state{display:none}.status-pending-approved{background-color:#f0f9ff;border-left:var(--status-border-left-width) solid #60a5fa;opacity:.9}.status-pending-approved:hover{opacity:1;box-shadow:0 0 8px #3b82f64d}.status-pending-unapproved{background-color:#fff7ed;border-left:var(--status-border-left-width) solid #fb923c;opacity:.9}.status-pending-unapproved:hover{opacity:1;box-shadow:0 0 8px #f973164d}.status-pending-pending{background-color:#fefce8;border-left:var(--status-border-left-width) solid #facc15;opacity:.9}.status-pending-pending:hover{opacity:1;box-shadow:0 0 8px #eab3084d}.status-pending-proposed{background-color:#f3e8ff;border-left:var(--status-border-left-width) solid #a78bfa;opacity:.9}.status-pending-proposed:hover{opacity:1;box-shadow:0 0 8px #8b5cf64d}.status-pending-approved,.status-pending-unapproved,.status-pending-pending,.status-pending-proposed{position:relative}.status-pending-approved:after,.status-pending-unapproved:after,.status-pending-pending:after,.status-pending-proposed:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:pendingShimmer 2s infinite}@keyframes pendingShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.status-approved{background-color:#f0f9ff;border-left:var(--status-border-left-width) solid #3b82f6}.status-unapproved{background-color:#fff7ed;border-left:var(--status-border-left-width) solid #f97316}.status-pending{background-color:#fefce8;border-left:var(--status-border-left-width) solid #eab308}.status-proposed{background-color:#f3e8ff;border-left:var(--status-border-left-width) solid #8b5cf6}.status-marked-for-deletion{background-color:#fff5f5!important;border-left:var(--status-border-left-width) solid var(--danger-color)!important;opacity:.75}.status-marked-for-deletion:hover{opacity:1}.status-marked-for-deletion .goal-title del,.status-marked-for-deletion .task-title del{color:var(--danger-color)}.status-marked-for-deletion .status-text-deleted{font-size:.9em;font-style:italic;color:var(--danger-color);margin-left:5px}.status-marked-for-deletion .goal-meta,.status-marked-for-deletion .task-meta,.status-marked-for-deletion .task-description{opacity:.7}.status-marked-for-deletion:hover .goal-meta,.status-marked-for-deletion:hover .task-meta,.status-marked-for-deletion:hover .task-description{opacity:1}.status-marked-for-generate{background-color:#f0f9ff!important;border-left:var(--status-border-left-width) solid #22c55e!important;opacity:.9}.status-marked-for-generate:hover{opacity:1;box-shadow:0 0 8px #22c55e4d}.status-marked-for-generate .status-text-generate{font-size:.9em;font-style:italic;color:#16a34a;margin-left:5px}.status-marked-for-generate-alt{background-color:#ecfdf5!important;border-left:var(--status-border-left-width) solid #22c55e!important;position:relative;opacity:.9}.status-marked-for-generate-alt:hover{opacity:1;box-shadow:0 0 8px #22c55e4d}.status-marked-for-generate-alt:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(34,197,94,.6),transparent);animation:generateShimmer 2s infinite}@keyframes generateShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.status-marked-for-generation,.status-autogen-seed{background-color:#f3e5f5;border-left:var(--status-border-left-width) solid #9c27b0}.task-state-pending{background-color:var(--warning-color);color:#333}.task-pending-completed{background-color:#f0fdf4;border-left:4px solid #86efac;opacity:.85}.task-pending-completed:hover{opacity:1}.task-pending-completed .task-title{color:#6b7280}.task-pending-active{background-color:#eff6ff;border-left:4px solid #60a5fa;opacity:.9}.task-pending-active:hover{opacity:1;box-shadow:0 0 8px #3b82f64d}.task-pending-active .task-title{color:#3b82f6}.task-badge.pending-active{background-color:#e0f2fe;color:#0c4a6e;border:1px solid #bae6fd}.version-label{color:#fff;font-weight:600;padding:3px 10px;border-radius:14px;font-size:.75rem;text-transform:uppercase;letter-spacing:.6px;position:absolute;right:40px;top:50%;transform:translateY(-50%);box-shadow:0 2px 4px #00000026;text-shadow:0 1px 1px rgba(0,0,0,.2);transition:transform .2s ease,box-shadow .2s ease}.version-label:hover{transform:translateY(-50%) scale(1.05);box-shadow:0 4px 8px #00000040}.dark .version-label{color:#f8f9fa;box-shadow:0 2px 4px #0000004d;text-shadow:0 1px 1px rgba(0,0,0,.4)}.dark .version-label:hover{transform:translateY(-50%) scale(1.05);box-shadow:0 4px 8px #0006}
