/* The colored lanes continue for the full height of the board. */
.brain-columns{align-items:stretch}.brain-column{padding:12px;border-radius:22px;background:color-mix(in srgb,var(--stage-color) 9%,#fafbff);border:1px solid color-mix(in srgb,var(--stage-color) 14%,white);min-height:calc(100dvh - 330px);height:auto}.brain-column-cards{overflow:visible}.brain-column>header{border:0;padding:4px 5px 15px;margin:0}.brain-column>header .brain-stage-dot{width:9px;height:9px}.brain-card{border:1px solid #ffffffcc}.brain-empty{border-color:color-mix(in srgb,var(--stage-color) 18%,transparent)}
/* A connected progress track: stage color carries through the dot and its halo. */
.pipeline-stage-control{background:linear-gradient(135deg,#fafcff,#f3f6fb);box-shadow:inset 0 1px 0 #fff;border-color:#e8edf5}.pipeline-stage-rail{background:none;box-shadow:none;border-radius:0;gap:0;padding:12px 4px 14px}.pipeline-stage-rail button{position:relative;gap:16px;min-width:108px;padding:10px 5px;border:0;border-radius:0;background:none!important;box-shadow:none!important;color:#8b96a5;z-index:0}.pipeline-stage-rail button:before{content:'';position:absolute;left:0;right:0;top:25px;height:2px;background:#dae2ee;z-index:-1}.pipeline-stage-rail button:first-child:before{left:50%}.pipeline-stage-rail button:last-child:before{right:50%}.pipeline-stage-rail button.is-past:before{background:color-mix(in srgb,var(--dot-color) 45%,#dae2ee)}.pipeline-stage-rail .stage-orb{height:30px;width:30px;background:#f4f7fc;border:4px solid #f4f7fc;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--dot-color) 40%,#d8e2ec);font-size:10px;color:transparent;position:relative}.pipeline-stage-rail button.is-past .stage-orb{color:white;background:var(--dot-color);box-shadow:none}.pipeline-stage-rail button[aria-pressed=true]{color:#27374d;font-weight:650}.pipeline-stage-rail button[aria-pressed=true] .stage-orb{color:white;background:var(--dot-color);border:4px solid #f4f7fc;box-shadow:0 0 0 4px color-mix(in srgb,var(--dot-color) 12%,transparent),0 0 20px color-mix(in srgb,var(--dot-color) 35%,transparent);animation:stage-breathe 3s ease-in-out infinite}.pipeline-stage-rail button:focus-visible{outline:2px solid var(--dot-color);outline-offset:-2px;border-radius:14px}@keyframes stage-breathe{50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--dot-color) 8%,transparent),0 0 26px color-mix(in srgb,var(--dot-color) 45%,transparent)}}
.pipeline-section-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;position:relative;isolation:isolate;border:1px solid #fff;background:#e8edf5a3;padding:5px;border-radius:20px;gap:3px;scrollbar-width:thin;margin-bottom:24px}.pipeline-section-tabs .btn{position:relative;z-index:1;flex:1;white-space:nowrap;min-height:42px;padding:9px 13px;border-radius:15px;border:0;background:transparent!important;box-shadow:none!important;color:#7d899b}.pipeline-section-tabs .btn[aria-pressed=true]{color:#2e4b77;border:0}.pipeline-production-upload{background:linear-gradient(145deg,#fff8ec,#ffffff);border:1px solid #efdfc8;padding:24px;border-radius:24px;margin-top:0}.pipeline-production-upload h3{font-size:23px;letter-spacing:-.6px}.pipeline-production-upload header p{font-size:14px;line-height:1.7;color:#826c4f}.pipeline-production-upload .file-dropzone{min-height:175px;background:#fff9ee;border-color:#dcac61}.pipeline-size-field{max-width:300px;margin:22px 0}.pipeline-slide-list{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;padding:6px 4px 22px;scrollbar-width:thin}.pipeline-slide{display:flex;flex-direction:column;flex:0 0 280px;scroll-snap-align:start;gap:18px;margin:0;padding:18px;border-radius:23px;background:linear-gradient(155deg,#f3effb,#fdfcff);border-color:#e6dff0;min-width:0}.pipeline-slide-number{width:110px;aspect-ratio:var(--slide-ratio,4/5);display:grid;place-items:center;background:linear-gradient(135deg,#b49acb,#8074b2);color:white;font-size:32px;letter-spacing:-2px;border-radius:12px;box-shadow:inset 0 1px 1px #ffffff80,0 8px 20px #67528417;align-self:center;margin:6px 0}.pipeline-slide .field{font-size:12px}.pipeline-slide input,.pipeline-slide textarea{background:#ffffffcc;font-size:14px}.pipeline-slide-actions{flex-wrap:wrap;justify-content:space-between}.pipeline-slide-actions .btn{min-height:36px;padding:6px 8px;font-size:10px}.pipeline-slide-list+.button-row{justify-content:space-between}
.todo-panel{background:#ffffffb5;border:1px solid #fff;border-radius:24px;padding:24px;margin:24px 0;box-shadow:0 5px 22px #314b7806}.todo-panel>header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.todo-panel>header>div:last-child{display:flex;gap:8px}.todo-panel h2{margin:7px 0;font-size:23px;letter-spacing:-.6px}.todo-row{display:flex;align-items:center;gap:13px;border-bottom:1px solid #e7ecf4;padding:15px 0}.todo-row:last-child{border:0}.todo-check{width:26px;height:26px;border:1.5px solid #b7c6dc;background:#fff;border-radius:50%;color:#fff;flex:none;cursor:pointer}.todo-check.done{background:#54a77e;border-color:#54a77e}.todo-title{border:0;background:none;text-align:left;flex:1;min-width:0;color:#35455d;cursor:pointer}.todo-title strong{font-size:14px;font-weight:550;overflow-wrap:anywhere}.todo-title small{display:block;margin-top:7px;color:#8d98a6}.todo-check.done+.todo-title{text-decoration:line-through;color:#919aa8}.todo-tabs{display:flex;position:relative;isolation:isolate;padding:5px;border-radius:18px;background:#e9edf4;width:max-content}.todo-tabs button{position:relative;z-index:1;padding:12px 22px;border:0;background:none;font:inherit;font-size:13px;cursor:pointer}
.upload-tray{position:fixed;left:280px;bottom:20px;z-index:220;width:330px;max-height:55dvh;overflow:auto;border-radius:22px;background:#f9fbffff;border:1px solid #fff;box-shadow:0 12px 60px #203a6538;padding:18px;backdrop-filter:blur(24px)}.upload-tray[hidden]{display:none}.upload-tray header{display:flex;align-items:center;justify-content:space-between}.upload-tray header strong{font-size:14px}.upload-tray button{border:0;border-radius:9px;padding:8px 11px;background:#eaf0f9;color:#416da7;cursor:pointer}.upload-tray>p{font-size:11px;line-height:1.5;color:#8190a3}.upload-jobs article{padding:13px 0;border-top:1px solid #e5ebf4}.upload-jobs article>strong,.upload-jobs article>span{display:block;overflow-wrap:anywhere}.upload-jobs strong{font-size:12px}.upload-jobs span{font-size:11px;color:#788ba4;margin:8px 0}.upload-jobs article>div{display:flex;gap:7px}.upload-jobs progress{width:100%;height:6px;accent-color:#658ddd;margin:5px 0 12px}
@media(max-width:700px){.brain-column{padding:10px;min-height:calc(100dvh - 350px)}.pipeline-stage-rail button{min-width:93px}.pipeline-section-tabs .btn{padding:10px 13px}.pipeline-production-upload{padding:18px}.pipeline-production-upload h3{font-size:21px}.pipeline-slide{flex-basis:255px;padding:15px}.pipeline-slide input,.pipeline-slide textarea{font-size:16px}.todo-panel{padding:18px}.todo-row>.btn{padding:7px;font-size:11px}.todo-panel>header{align-items:flex-start}.upload-tray{left:12px;bottom:calc(80px + env(safe-area-inset-bottom));width:min(330px,calc(100vw - 24px));max-height:38dvh}}
@media(prefers-reduced-motion:reduce){.pipeline-stage-rail button[aria-pressed=true] .stage-orb{animation:none}.pipeline-slide-list{scroll-behavior:auto}}
/* Keep progress in the control layer, with the work immediately below it. */
.pipeline-stage-control{padding:5px 12px;margin:14px 0 16px;border-radius:18px;background:#f3f6fb99;border-color:#e7edf5}.pipeline-stage-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pipeline-stage-rail{padding:3px 0;gap:0}.pipeline-stage-rail button{padding:6px 5px;gap:7px;min-width:90px;font-size:11px;line-height:1.2}.pipeline-stage-rail button:before{top:16px}.pipeline-stage-rail .stage-orb{width:21px;height:21px;border-width:3px;font-size:8px}.pipeline-stage-rail button[aria-pressed=true] .stage-orb{border-width:3px}.pipeline-stage-actions{margin:5px 0 3px;gap:6px}.pipeline-stage-actions .btn{min-height:30px;padding:5px 10px;font-size:11px}.pipeline-stage-actions .tiny{margin:3px 0;font-size:11px}.pipeline-section-tabs{margin-bottom:16px;border-radius:16px;padding:4px}.pipeline-section-tabs .btn{min-height:36px;padding:7px 10px;font-size:11px}.pipeline-production-upload{padding:18px}.pipeline-production-upload h3{font-size:21px;margin:0 0 9px}.pipeline-production-upload header p{font-size:13px;line-height:1.6;margin:0}.pipeline-production-upload .file-dropzone{min-height:145px}.task-detail-audience{margin-bottom:12px;font-size:11px}.task-detail-header h2{margin-bottom:5px}
@media(max-width:700px){.pipeline-stage-control{padding:4px 7px;margin:12px 0}.pipeline-stage-rail button{min-width:78px;font-size:10px}.pipeline-section-tabs .btn{padding:8px 11px;font-size:11px}.pipeline-production-upload{padding:16px}.pipeline-production-upload h3{font-size:20px}}

/* A new idea posts directly to the first column; optional production details stay optional. */
#modal[open]:has(#pipeline-create-form){display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - 32px)}
#modal:has(#pipeline-create-form) .modal-head{flex-shrink:0}
#modal:has(#pipeline-create-form) .modal-content{display:flex;padding:0;min-height:0;overflow:hidden}
#pipeline-create-form{display:flex;flex-direction:column;width:100%;min-height:0;max-height:calc(100dvh - 112px)}
.pipeline-create-fields{padding:22px 25px 12px;overflow-y:auto;overscroll-behavior:contain;min-height:0}
.pipeline-create-options{border-top:1px solid #e4e8ee;margin-top:8px;padding-top:14px}
.pipeline-create-options summary{cursor:pointer;font-size:13px;font-weight:600;min-height:36px;line-height:24px;color:#3a4658}
.pipeline-create-options summary span{font-weight:400;color:#77818e;font-size:11px;margin-left:5px}
.pipeline-create-options[open] summary{margin-bottom:12px}
.pipeline-create-footer{flex-shrink:0;border-top:1px solid #e4e8ee;padding:14px 25px max(14px,env(safe-area-inset-bottom));background:rgba(250,252,255,.97)}
.pipeline-create-footer>div{display:flex;align-items:center;justify-content:space-between;gap:18px}
.pipeline-create-footer p{font-size:12px;line-height:1.5;color:#697383;margin:0;max-width:340px}
.pipeline-create-footer .error{color:#b33c3c;max-width:none;margin:0 0 9px}.pipeline-create-footer .error:empty{display:none}
.pipeline-create-footer .btn{flex-shrink:0;min-height:44px;min-width:108px}
@media(max-width:600px){.pipeline-create-fields{padding:16px 18px 10px}.pipeline-create-footer{padding:12px 18px max(12px,env(safe-area-inset-bottom))}.pipeline-create-footer p{font-size:11px}.pipeline-create-footer>div{gap:12px}}
