/* Studio edition: high contrast neutrals, restrained owner colour, purposeful motion. */
:root{--ink:#181818;--muted:#555550;--paper:#f4f3eb;--line:#999992;--green:#181818;--accent:#181818;--shadow:0 3px 10px #00000012;--owner-si:#7440ab;--owner-mitch:#286b3b;--owner-ken:#255e9c}
body{background:#f4f3eb;background-image:none;color:var(--ink);font-family:Arial,Helvetica,sans-serif}
button,input,select,textarea{color:#181818;border-color:#777770;border-radius:6px}button{font-weight:600;box-shadow:none;transition:background 120ms,color 120ms,transform 120ms}button:hover{background:#e6e5dd;box-shadow:none}button:active{transform:translateY(1px)}button:disabled{opacity:1;color:#66665f;background:#e9e9e3;cursor:default}input,textarea,select,form select{background:#fff;border-color:#777770}input::placeholder,textarea::placeholder{color:#60605a;opacity:1}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #181818;outline-offset:3px}
h1,h2,h3,.dialog-heading h2{color:#181818}.title-row h1{font-weight:900;letter-spacing:-1px;font-size:30px}.eyebrow{color:#44443f;letter-spacing:1px}.primary{background:#181818;color:#fff;border:1px solid #181818;box-shadow:none}.primary:hover{background:#343430;color:#fff;box-shadow:none;transform:none}
.sidebar{background:#191919;color:#f4f3eb;border-right:1px solid #191919}.brand,.brand-name>span{color:#f4f3eb}.brandmark{transform:none}.sidebar .workspace-label,.sidebar .nav-label{color:#c8c8bf}.sidebar .workspace-name{color:#f4f3eb;border-color:#797972}.sidebar .workspace-name:hover{color:#fff}.sidebar nav button{color:#ecece5;border-radius:5px;font-weight:600}.sidebar nav button.active{background:#f4f3eb;color:#181818;border:1px solid #f4f3eb;box-shadow:none}.sidebar nav button:hover:not(.active){background:#343430;color:#fff}.sidebar #team-nav button{color:#f4f3eb}.sidebar #team-nav button:hover{background:#343430}.sidebar #team-nav button small{background:#41413b;color:#fff}.sidebar .sidebar-bottom button{color:#f4f3eb}.sidebar .sidebar-bottom .focus-launch{color:#181818;background:#f4f3eb;border-color:#f4f3eb;box-shadow:none;border-radius:6px}.sidebar .sidebar-bottom .focus-launch:hover{background:#fff}.sidebar .profile{border-color:#797972}.sidebar .profile small{color:#c8c8bf}.sidebar button:focus-visible,.sidebar a:focus-visible{outline-color:#f4f3eb}.sidebar #backup-menu:hover{background:#343430}.mini-crew img{border-color:#f4f3eb}
.topbar{background:#f4f3eb;border-color:#b6b6ad;color:#555550}.topbar b,.top-right #save-state,.top-right .history-button{color:#333330}.top-right .history-button:hover{background:#e6e5dd}.editor-choice{color:#555550}.editor-choice select{background:#fff;border-color:#777770;color:#181818}.icon-btn{background:#fff;border-color:#777770;color:#181818}.top-right #save-state{padding:4px 7px;border:1px solid transparent;border-radius:4px;font-size:10px}.top-right #save-state[data-state=saving]{background:#e3e3da;color:#181818}.top-right #save-state[data-state=saved]{background:#fff;border-color:#999992;color:#181818;transition:background 180ms}
.arrival{background:#fff;border-color:#999992;box-shadow:none}.arrival summary{color:#181818}.arrival summary span,.arrival-change small{color:#555550}.arrival-change{border-color:#c2c2b8}.arrival button{border-color:#777770;color:#181818;background:#fff}.arrival .latest-feedback{background:#ecece4;border-left:3px solid #181818;color:#333330;border-radius:3px}
.stats .stat:nth-child(n){background:#fff;border-color:#999992;box-shadow:none}.stat label{color:#45453f}.stat strong{color:#181818}.summary-row .focus-banner{background:#181818;color:#fff;border-color:#181818;box-shadow:none}.summary-row .focus-banner .eyebrow{color:#d5d5ca}.summary-row .focus-banner h2{color:#fff}.summary-row .focus-banner button{background:#f4f3eb;color:#181818;border-color:#f4f3eb}.summary-row .focus-banner button:hover{background:#fff}
.board-controls{border-color:#b6b6ad}.tabs{background:#e7e7df;border-color:#999992;border-radius:6px}.tabs button{color:#45453f;border-radius:4px}.tabs button.active{background:#181818;color:#fff;box-shadow:none}.tabs button:hover:not(.active){background:#d7d7ce;color:#181818}.toolbar-right button,.group-control{color:#45453f}.search{background:#fff;border-color:#777770;border-radius:6px}.search span{color:#555550}.search input{color:#181818}.owner-legend,.view-caption{color:#555550}.legend-si{background:var(--owner-si)}.legend-mitch{background:var(--owner-mitch)}.legend-ken{background:var(--owner-ken)}
.column:nth-child(n){background:#e8e8e0;border:1px solid #a7a79e;border-radius:9px}.column-head{color:#181818;font-weight:800}.column-head .count{background:#fff;color:#333330;border-color:#888880}.column-head button{color:#333330}.status-dot,.status-dot.in-progress,.status-dot.waiting,.status-dot.done{background:#555550;border-color:#555550}.status-dot.in-progress{background:#181818}.status-dot.waiting{background:transparent}.status-dot.done{background:#fff}.column.drop-over{background:#d8d8ce;outline:2px dashed #181818}
.card.owner-si{--owner:var(--owner-si)}.card.owner-mitch{--owner:var(--owner-mitch)}.card.owner-ken{--owner:var(--owner-ken)}.card.owner-unassigned{--owner:#66665f}
.card[class*=owner-]{background:#fff;border:1px solid #999992;border-left:4px solid var(--owner);border-radius:7px;box-shadow:0 2px 4px #0000000b;transition:border-color 120ms,box-shadow 120ms;transform:none}.card[class*=owner-]:hover{border-top-color:#44443f;border-right-color:#44443f;border-bottom-color:#44443f;border-left-color:var(--owner);box-shadow:0 3px 8px #00000016;transform:none}.card.dragging{opacity:.5}.card.drop-before{box-shadow:0 -3px 0 #181818}.card h3{font-size:14px;line-height:1.4;color:#181818;margin:9px 0}.card .project-tag{color:#555550;font-size:9px}.priority,.p1,.p2,.p3{background:#f4f3eb;color:#333330;border:1px solid #888880}.p1{background:#181818;color:#fff;border-color:#181818}
.card .quick-next{margin:7px 0;gap:4px}.card .quick-next input{background:#f8f8f3;color:#333330;border-color:#999992;font-size:11px;padding:5px 6px;border-radius:4px;line-height:1.4}.card .quick-next button{padding:4px 6px;min-height:26px;font-size:10px;background:#fff;color:#181818;border:1px solid #777770;border-radius:4px}
.card .quick-status{display:flex;gap:0;margin:8px 0 3px;border:1px solid #777770;border-radius:4px;overflow:hidden;flex-wrap:nowrap;width:100%}.card .quick-status button{flex:1;min-width:0;min-height:25px;font-size:10px;line-height:1.3;padding:4px 5px;border:0;border-right:1px solid #777770;border-radius:0;background:#fff;color:#181818;box-shadow:none;white-space:nowrap}.card .quick-status button:last-child{border-right:0}.card .quick-status button:hover:not(:disabled){background:#e6e6dc}.card .quick-status button[aria-pressed=true]{background:#181818;color:#fff;opacity:1}.card .quick-status button:focus-visible{outline-offset:-3px;outline-color:#555550}.card .quick-status button[aria-pressed=true]:focus-visible{outline-color:#fff}
.card-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}.card .card-actions button{font-size:10px;line-height:1.3;padding:4px 1px;min-height:24px;background:transparent;border:0;color:#333330;border-radius:2px;text-decoration:underline;text-underline-offset:3px;box-shadow:none}.card .card-actions button:hover{color:#000;background:#eeeeE6}
.card .card-bottom{color:#45453f;border-color:#c2c2b8;font-size:10px}.card .edit-stamp{color:#555550;opacity:1}.card .overdue{color:#8b251a}.review-tag,.blocked-tag{color:#333330;background:#f4f3eb;border-color:#777770}.card .task-steps{border-color:#c2c2b8}.task-steps summary,.task-links small{color:#45453f}.task-links button{color:#333330;background:#f4f3eb;border-color:#999992}.step-row input:not([type=checkbox]),.step-add input{background:#fff;color:#181818;border-color:#888880}.step-row input.step-done{color:#555550}.step-row input[type=checkbox]{accent-color:#181818}.step-row button,.step-add button{color:#181818;background:#fff;border-color:#777770}.add-column{color:#45453f;background:transparent;border-color:#777770}.empty-column,.empty{color:#555550}.avatar{border-color:#44443f;box-shadow:none}.avatar.si,.avatar.mitch,.avatar.ken{background:#fff}.team-panel{background:#fff;border-color:#999992;box-shadow:none;border-radius:9px}.team-head p{color:#555550}.load-bar{background:#d8d8ce}.load-bar span{background:#333330}
.timeline-scroll{border-color:#999992;box-shadow:none;border-radius:8px}.timeline-header{background:#e7e7df}.timeline-label{border-color:#aaaA9f}.timeline-label button{color:#181818}.timeline-label small,.timeline-days{color:#555550}.timeline-days span{border-color:#b6b6ad}.timeline-row{border-color:#c2c2b8}.timeline-bar.si{background:#ede4f5;color:#4d2477;border-color:#7440ab}.timeline-bar.mitch{background:#e3f0e3;color:#245b32;border-color:#286b3b}.timeline-bar.ken{background:#e4edf7;color:#214e80;border-color:#255e9c}.today-line{border-color:#181818}.timeline-unscheduled{background:#e7e7df;border-color:#888880}.timeline-unscheduled h3,.timeline-controls{color:#333330}.timeline-unscheduled button{border-color:#777770;color:#181818}.note-panel{background:#fff;border-color:#999992;box-shadow:none}.note-panel h2{color:#181818}.note-panel p,.note-panel li,#info p,#info li{color:#45453f}.note-panel a{color:#181818}.note-edit-button{background:#fff;border-color:#777770;color:#181818}.editable-note-label,.editable-note-label:hover{color:#45453f}.note-credit,.history-subtitle,.notes-save-hint,.history-empty,.history-entry span,.history-entry p,.history-entry time{color:#555550}.history-entry strong{color:#181818}.history-entry{border-color:#c2c2b8}
dialog{background:#f4f3eb;color:#181818;border-color:#181818;border-radius:10px;box-shadow:0 20px 80px #0005}dialog::backdrop{background:#0008;backdrop-filter:blur(2px)}.form-grid label,form>label,.workspace-rename label{color:#45453f}.source-note,.local-migration{background:#e8e8df;color:#45453f;border-color:#888880}.dialog-footer,.note-credit{border-color:#b6b6ad}.danger,#form-error,#notes-error,#team-auth-error{color:#8b251a}#workspace-list button{background:#fff;border-color:#999992;color:#181818}#workspace-list button.selected{background:#181818;color:#fff;border-color:#181818}#workspace-list button small{color:inherit}#toast{background:#181818;color:#fff;border-color:#181818;box-shadow:0 4px 20px #0003;border-radius:7px}footer{color:#555550;border-color:#b6b6ad}.focus-clock{color:#181818}.focus-message,.focus-setup label,.focus-rewards{color:#45453f}.focus-rewards span{background:#e5e5db}
@media(pointer:coarse){.card .quick-status button{min-height:30px}.card .card-actions button,.card .quick-next button{min-height:28px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* Festival energy: bold editorial type, full owner colour and short character motion. */
@font-face{font-family:StudioText;src:url('fonts/barlow-400-normal.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:StudioText;src:url('fonts/barlow-600-normal.woff') format('woff');font-weight:600 900;font-style:normal;font-display:swap}
@font-face{font-family:StudioDisplay;src:url('fonts/barlow-condensed-800-normal.woff') format('woff');font-weight:700 900;font-style:normal;font-display:swap}
@font-face{font-family:StudioDisplay;src:url('fonts/barlow-condensed-800-italic.woff') format('woff');font-weight:700 900;font-style:italic;font-display:swap}
body{font-family:StudioText,Arial,sans-serif;font-size:15px}.title-row h1,.brand-name,.column-head,.stat strong,.focus-banner h2,.dialog-heading h2,.team-head h2,#team-gate h1{font-family:StudioDisplay,Impact,'Arial Narrow',sans-serif;font-weight:800;font-style:italic;letter-spacing:-.3px}.title-row h1{font-size:36px;line-height:1;text-transform:uppercase}.brand{font-size:27px;line-height:1}.brand-name>span{font-size:inherit}.column-head{font-size:19px;line-height:1.1}.column-head .count{font-family:StudioText,Arial,sans-serif;font-style:normal;font-size:11px}.stat strong{font-size:23px;line-height:1}.summary-row .focus-banner h2{font-size:18px;line-height:1}.dialog-heading h2{font-size:29px;line-height:1.05}.team-head h2{font-size:27px}.arrival h2{font-family:StudioDisplay,Impact,sans-serif;font-size:21px;line-height:1.15;font-weight:800}.card h3{font-family:StudioText,Arial,sans-serif;font-size:15px;font-weight:600;line-height:1.3;letter-spacing:-.15px}.tabs button{font-weight:600;font-size:13px}.eyebrow{font-family:StudioText,Arial,sans-serif;font-weight:600}.sidebar nav button{font-size:14px}.card .quick-status button,.card .card-actions button{font-family:StudioText,Arial,sans-serif;font-size:11px;font-weight:600}
.card.owner-si{background:#e5d1fa}.card.owner-mitch{background:#cef0cc}.card.owner-ken{background:#cce5ff}.card[class*=owner-]{border-top-color:#676762;border-right-color:#676762;border-bottom-color:#676762;box-shadow:2px 3px 0 #1818181c}.card.owner-unassigned{background:#f3f1e7}.card .quick-next input{background:#ffffffa8;color:#292929;border-color:#777770}.card .quick-status{background:#fff}.card .card-actions button{background:transparent;color:#292929}.card .card-actions button:hover{background:#fff8;color:#181818}.card .card-bottom{border-color:#70706a;color:#333330}.card .task-steps{border-color:#70706a}.card .edit-stamp,.card .project-tag,.task-steps summary{color:#41413b}.card .task-links button{background:#ffffffb8;color:#292929;border-color:#777770}.card .priority{border-color:#777770}.card .step-row input:not([type=checkbox]),.card .step-add input{background:#ffffffb8}.card .step-row input.step-done{color:#4c4c46}.card .review-tag,.card .blocked-tag{background:#ffffffb8}.card:focus-within{box-shadow:3px 4px 0 #18181824}
.sidebar .brandmark{animation:studio-mark-pop 650ms cubic-bezier(.2,.8,.3,1.2) 1}.sidebar .profile .mini-crew img{animation:studio-wave 700ms ease-in-out 450ms 1}.sidebar .profile .mini-crew img:nth-child(2){animation-delay:600ms}.sidebar .profile .mini-crew img:nth-child(3){animation-delay:750ms}.sidebar #team-nav button:hover .avatar{animation:studio-wave 550ms ease-in-out 1}.sidebar .focus-launch:hover{transform:rotate(-1deg)}.content{animation:studio-arrive 450ms ease-out 1}.title-row h1{animation:studio-title-in 550ms cubic-bezier(.2,.8,.3,1) 1}.card .quick-status button:hover:not(:disabled){background:#181818;color:#fff}.card .quick-status button:active{transform:scale(.94)}.card.just-completed::after{content:'✦';position:absolute;right:8px;top:-22px;pointer-events:none;font-size:45px;line-height:1;color:#181818;text-shadow:2px 2px 0 #fff;animation:studio-burst 1s ease-out forwards;z-index:3}.summary-row .focus-banner{position:relative;overflow:hidden}.summary-row .focus-banner::before{content:'✦';position:absolute;left:-5px;top:-19px;font-size:74px;line-height:1;color:#ffffff18;pointer-events:none;animation:studio-star-turn 800ms ease-out 1}.summary-row .focus-banner>div,.summary-row .focus-banner>button{position:relative}
@keyframes studio-arrive{from{opacity:.55;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes studio-title-in{from{opacity:0;transform:translateX(-14px) skewX(-6deg)}to{opacity:1;transform:translateX(0) skewX(0)}}
@keyframes studio-mark-pop{0%{transform:scale(.65) rotate(-20deg)}65%{transform:scale(1.12) rotate(8deg)}100%{transform:scale(1) rotate(0)}}
@keyframes studio-wave{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-6px) rotate(-10deg)}70%{transform:translateY(-3px) rotate(9deg)}}
@keyframes studio-burst{0%{opacity:0;transform:scale(.1) rotate(-35deg)}30%{opacity:1;transform:scale(1.25) rotate(10deg)}65%{opacity:1;transform:scale(1) rotate(0)}100%{opacity:0;transform:translateY(-10px) scale(.8) rotate(25deg)}}
@keyframes studio-star-turn{from{transform:rotate(-100deg) scale(.5)}to{transform:rotate(0) scale(1)}}
@media(max-width:760px){.title-row h1{font-size:31px}.brand{font-size:24px}.column-head{font-size:18px}.summary-row .focus-banner h2{font-size:17px}.sidebar nav button{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.card.just-completed::after{display:none}}

/* Readable everyday type. Keep expressive display lettering in the brand only. */
:root{--ui-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
body{font-family:var(--ui-font);font-size:15px;line-height:1.5}
.title-row h1,.column-head,.stat strong,.focus-banner h2,.dialog-heading h2,.team-head h2,#team-gate h1,.arrival h2{font-family:var(--ui-font);font-style:normal;letter-spacing:normal;font-weight:700}
.title-row h1{font-size:28px;line-height:1.2;text-transform:none;animation:none}
#team-gate h1{font-size:30px;line-height:1.25}
.column-head{font-size:15px;line-height:1.35}.stat strong{font-size:21px}
.summary-row .focus-banner h2{font-size:15px;line-height:1.3}
.arrival h2{font-size:18px;line-height:1.4}.arrival p{font-size:14px;line-height:1.55}
.dialog-heading h2{font-size:24px;line-height:1.3}.team-head h2{font-size:23px}
.card h3{font-family:var(--ui-font);font-style:normal;font-weight:650;font-size:16px;line-height:1.45;letter-spacing:normal;margin:9px 0}
.card .project-tag{font-family:var(--ui-font);font-size:11px;line-height:1.4;letter-spacing:normal;text-transform:none;color:#33332e;font-weight:600}
.card .priority{font-size:10px;line-height:1.4;letter-spacing:normal}
.card .quick-next input{font-family:var(--ui-font);font-size:13px;line-height:1.5;color:#242424;background:#ffffffe0;padding:5px 6px}
.card .quick-status button,.card .card-actions button,.card .quick-next button{font-family:var(--ui-font);font-size:11px;font-weight:600;line-height:1.5}
.card .quick-status button{padding:3px 5px;min-height:26px}
.card .card-actions button{padding:4px 1px;min-height:25px}
.card .card-bottom{font-family:var(--ui-font);font-size:11px;line-height:1.5;color:#33332e}
.card .edit-stamp{font-size:11px;color:#41413b}
.card .step-row input:not([type=checkbox]),.card .step-add input{font-family:var(--ui-font);font-size:13px;line-height:1.5;color:#242424;background:#ffffffe0}
.task-steps summary{font-size:12px;line-height:1.5;color:#33332e}
.task-links button{font-family:var(--ui-font);font-size:11px;line-height:1.5}
.card input::placeholder{color:#4a4a43;opacity:1}
.eyebrow{font-family:var(--ui-font);font-size:11px;line-height:1.5;letter-spacing:.5px}
.sidebar nav button{font-size:13px}.sidebar #team-nav button{font-size:13px}
.board-controls .tabs button{font-family:var(--ui-font);font-size:12px}
.stat label{font-size:11px}.summary-row .stat label{font-size:11px}
.owner-legend,.view-caption{font-size:12px;line-height:1.5;color:#45453f}
.note-panel p,.note-panel li,#info p,#info li{font-size:14px;line-height:1.7}
.form-grid label,form>label{font-size:13px}.history-subtitle,.notes-save-hint{font-size:12px;line-height:1.5}
.timeline-label button{font-size:13px;line-height:1.4}.timeline-label small{font-size:11px;line-height:1.5}
@media(max-width:760px){.title-row h1{font-size:25px}.column-head{font-size:15px}.summary-row .focus-banner h2{font-size:14px}.sidebar nav button{font-size:11px}.arrival h2{font-size:17px}.card h3{font-size:16px}}

/* Usability: readable hierarchy and compact controls with adequate interaction targets. */
.card .quick-status button{min-height:28px}
.card .card-actions{gap:12px}
.card .card-actions button,.card .quick-next button,.card .step-row button,.card .step-add button{min-height:28px}
.card .step-row{gap:8px}.card .step-row input[type=checkbox]{width:20px;height:20px;flex-basis:20px}
.card input:focus-visible,.card button:focus-visible{outline:2px solid #181818;outline-offset:2px}
@media(pointer:coarse){.card .quick-status button,.card .card-actions button,.card .quick-next button,.card .step-row button,.card .step-add button{min-height:36px}.card .step-row input[type=checkbox]{width:24px;height:24px;flex-basis:24px}}

/* Prioritise the editable next action over compact status markers. */
.card .quick-next{display:flex;align-items:flex-end;gap:5px;margin:9px 0 6px}
.card .quick-next textarea{flex:1 1 auto;width:100%;min-width:0;min-height:70px;max-height:240px;resize:vertical;padding:7px 8px;font-family:var(--ui-font);font-size:12px;line-height:1.5;font-weight:400;color:#242424;background:#ffffffe0;border:1px solid #777770;border-radius:4px}
.card .quick-next textarea::placeholder{color:#4a4a43;opacity:1}
.card .quick-next button{flex:0 0 auto;align-self:flex-end;font-size:10px;font-weight:600;line-height:1.2;padding:3px 5px;min-height:24px;border-radius:3px}
.card .quick-status{display:inline-flex;width:auto;max-width:100%;margin:3px 0;vertical-align:middle;border-radius:3px}
.card .quick-status button{flex:0 0 auto;font-size:10px;line-height:1.2;font-weight:600;min-height:24px;padding:3px 7px}
.card .card-actions{margin:0 0 6px}
.card .card-actions button{font-size:10px;min-height:24px;padding:3px 1px}
@media(pointer:coarse){.card .quick-status button{min-height:28px;padding:4px 8px}.card .quick-next button{min-height:28px;padding:4px 6px}.card .quick-next textarea{font-size:13px;min-height:76px}}
