/* Approved concept artwork is an immutable sprite atlas. Only decorative areas are shown. */
:root{--ink:#342b23;--muted:#78664e;--border:#d5bc92;--surface:#fff4df;--page:#c9ddca;--accent:#3b713c;--green:#3b713c;--soft:#e8edce;--orange:#97612b;--shadow:0 3px #ad8757;color-scheme:light}
body{background:var(--page)}a{color:#35663b}button,input,select,textarea{transition:background-color .12s,border-color .12s,box-shadow .12s}button:focus-visible,a:focus-visible,[role=separator]:focus-visible{outline:3px solid #63874a;outline-offset:3px}h1,h2,h3{letter-spacing:0}h1{font-size:34px;font-weight:800;color:#2e281f;text-shadow:1px 2px #fff2d2}h2{font-weight:700}
.shell{grid-template-columns:236px minmax(0,1fr)}.main{position:relative}.content{padding:0 16px 30px;max-width:1900px}.topbar{position:absolute;top:3px;right:19px;z-index:4;padding:0;min-height:24px;border:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.topbar .breadcrumb{display:none}.topbar>.row>span{background:#fff4dfcc;padding:2px 5px;font-size:10px;color:#7c6a51}.topbar .icon-button{padding:4px;background:#fff1d5cc}
.page-heading{position:relative;isolation:isolate;min-height:178px;padding:23px 20px 16px;margin-bottom:0;border:0;border-radius:0;box-shadow:none;background-color:#b9d4cc;background-image:url('/farm-header.svg'),url('/reference-art.svg#meadow');background-size:1346px 177px,930px 18px;background-position:right bottom,left bottom;background-repeat:no-repeat,repeat-x;gap:12px}
.page-heading::before,.page-heading::after{display:none}
.heading-copy{position:relative;z-index:1}.farm-heading h1{width:275px;height:75px;margin:-8px 0 0;font-size:0;color:transparent;text-shadow:none;background:url('/reference-art.svg#title') center / 100% 100% no-repeat}.page-heading>.row{position:relative;z-index:2;align-self:flex-end;padding-bottom:0;margin-bottom:-10px;gap:10px}
.farm-stats{display:flex;flex-wrap:wrap;gap:0;margin-top:2px;padding:9px 19px;min-width:500px;border:2px solid #c8aa7a;background:#fff5e4;box-shadow:inset 0 0 0 2px #fffaf0,1px 2px #96724766;font-size:20px;line-height:1.5;color:#312920}.farm-stats>span{padding:0 15px;border-right:1px solid #d7be96;flex:1;white-space:nowrap}.farm-stats>span:first-child{padding-left:0}.farm-stats>span:last-child{padding-right:0;border-right:0}.farm-stats strong{margin-left:7px;font-size:22px;font-weight:800;color:#30271f}
/* Exact wood, border and garden from the approved image, without UI text baked into content. */
.sidebar{position:sticky;isolation:isolate;padding:9px 9px 6px;border:12px solid transparent;border-image:url('/reference-art.svg#sidebar') 2.2% 7.5% / 12px / 0 stretch;background:#724421 url('/reference-art.svg#wood') center top / 100% 106px repeat-y;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:#fff1d4}
.sidebar::after{content:'';position:absolute;z-index:-1;pointer-events:none;left:0;right:0;bottom:80px;aspect-ratio:210/200;background:url('/reference-art.svg#garden') center / 100% 100% no-repeat}
.sidebar-heading{padding:12px 3px 18px;margin-bottom:14px;min-height:156px;align-items:flex-start;border-bottom:3px solid #4d301b;box-shadow:0 2px #ba8a4e}.sidebar .brand{flex-direction:column;gap:8px;font-size:21px;color:#fff0d1;text-shadow:1px 2px #3d2819}.brand-title{max-width:160px}.brand-symbol,.login-story .brand-symbol{width:80px;height:73px;flex:none;border:0;border-radius:0;font-size:0;background:transparent url('/reference-art.svg#flower') center / 100% 100% no-repeat;box-shadow:none;image-rendering:pixelated}.sidebar-toggle{width:24px;height:24px;background:#805128;color:#f6d8a3;border:1px solid #ba8c4c;border-radius:0}.sidebar-toggle:hover{background:#996735;color:#fff3d0}
.nav{gap:13px}.nav button{min-height:59px;padding:7px 10px;gap:13px;border:3px solid transparent;border-radius:0;color:#fff1d8;text-shadow:1px 2px #442b18;font-size:16px;font-weight:500}.nav button.active{color:#fff8df;background:#3c7641;border:7px solid transparent;border-image:url('/reference-art.svg#active') 15% 7% / 7px / 0 stretch;box-shadow:inset 0 2px #799c58,inset 0 -2px #315a2f}.nav button.active::before{display:none}.nav button:hover:not(.active){background:#9a68393d;border-color:#b78b4f66}.nav button svg{width:32px;height:35px;flex:none;background-repeat:no-repeat;background-size:100% 100%;image-rendering:pixelated}.nav button svg>*{visibility:hidden}.nav [data-view=requests] svg{background-image:url('/reference-art.svg#list')}.nav [data-view=team] svg{background-image:url('/reference-art.svg#calendar')}.nav [data-view=mine] svg{background-image:url('/reference-art.svg#mine')}.nav [data-view=releases] svg{background-image:url('/reference-art.svg#release')}.nav [data-view=settings] svg{background-image:url('/reference-art.svg#settings')}
.sidebar-bottom{padding:5px 2px 0;border-top:2px solid #c59b61;background:transparent;color:#fff1d2}.sidebar-bottom .identity{margin:8px 0}.sidebar-bottom .avatar{width:30px;height:34px;font-size:0;border:0;border-radius:0;background:transparent url('/reference-art.svg#account') center / 100% 100% no-repeat}.sidebar .sidebar-logout{color:#ffe2b5}
.panel,.request-card,.login-form,dialog{border:14px solid transparent;border-image:url('/reference-art.svg#panel') 2.5% 1.5% / 14px / 0 stretch;border-radius:0;background:#fff4df;box-shadow:none}.panel-toolbar{padding:14px 17px;gap:12px;background:#fff3df;border-bottom:1px solid #cfb487}.panel-toolbar h2{font-size:20px;color:#30271e}.panel-toolbar .timeline-filters{flex:1 1 420px;justify-content:flex-end;padding:0;margin:0;gap:6px;border:0;background:transparent}.panel-footer{padding:13px 15px;background:#fff3df;border-color:#dac29c}
.button{border:7px solid transparent;border-image:url('/reference-art.svg#button') 15% 8% / 7px / 0 stretch;border-radius:0;background:#996331;color:#fff1d5;text-shadow:0 1px #5c3a1c;box-shadow:inset 0 2px #c88d47,inset 0 -2px #805024;font-weight:600;padding:6px 13px}.button:hover{background:#af7739;border-color:transparent}.button:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px #805024}.button.primary{border-image-source:url('/reference-art.svg#primary');background:#3c7138;color:#fff5d8;box-shadow:inset 0 2px #8aa35c,inset 0 -2px #2b572c}.button.primary:hover{background:#326331;border-color:transparent}.button.compact{border-width:4px;border-image-width:4px;padding:4px 9px}.button.ghost{border:1px solid transparent;border-image:none;background:transparent;color:#785b39;text-shadow:none;box-shadow:none}.button.ghost:hover{background:#ede0bf}.button.soft{background:#e5eccc;color:#3b6436;text-shadow:none}.button.danger{background:#a4533a;color:#fff3dd;border-image-source:url('/reference-art.svg#button')}.page-heading .button{font-size:20px;min-height:69px;min-width:184px;padding:8px 17px;border-width:9px;border-image-width:9px}.page-heading .button[data-action=new-block]{min-width:210px;border-image-source:url('/reference-art.svg#primary');background:#3c7138;color:#fff5d8;box-shadow:inset 0 2px #8aa35c,inset 0 -2px #2b572c}.page-heading .button[data-action=new-block]:hover{background:#326331}.page-heading .button svg{width:24px;height:24px}
.icon-button{border:1px solid #be9a65;background:#f2dfb7;color:#6f4a2a;border-radius:0}.icon-button:hover{background:#e2c496;color:#4c3421}.view-switch{border:0;border-radius:0;background:transparent;gap:5px}.view-switch .button{border:2px solid #c8ac7f;border-image:none;border-radius:0;background:#fff5e1;color:#433224;box-shadow:inset 1px 1px #fffdf3;text-shadow:none;padding:6px 13px}.view-switch .button.active{background:#407741;color:#fff6db;border-color:#a4af75;box-shadow:inset 0 0 0 1px #83a15b}.date-control{border:1px solid #c7a779;border-radius:0;background:#fff2d9}.timeline-filters label{border:1px solid #c9b28b;border-radius:0;background:#fff6e4;color:#675039;font-size:12px;padding:4px 7px}.timeline-filters label:has(input:checked){background:#437b43;color:#fff8e2;border-color:#8ca061}.timeline-wrap{background:#fff5e3;border-top-color:#d0b88e;scrollbar-color:#a57743 #f1ddba}.person-head,.timeline-head{background:#f6ead2;color:#4a3726}.person-name{background:#fff5e3;border-right-color:#d5bf99}.person-name strong{font-size:14px;font-weight:700;color:#34291f}.person-name small{font-size:11px;color:#6d5943}.person-row{border-top:1px dashed #dbc7a4}.person-name .mini-add{color:#6d8d48}.date-head{font-size:12px;border-right-color:#decaa7;color:#715c43}.date-head strong{font-size:13px;font-weight:600;color:#382f24}.date-head.off{background:#eee5d8}.date-head.release{background:#f9efd8}.date-head.today{background:#e6edce;box-shadow:inset 0 3px #769649;color:#426c35}.date-head.today strong{background:transparent;color:#3c6332;border-radius:0}.today-label::before{content:'☀';color:#b27428;margin-right:4px}.day-bg{border-right-color:#e4d3b5}.day-bg.off{background:#f1e9db}.day-bg.release{background:#fff3dc}.day-bg.today{background:#edf2dc;box-shadow:inset 1px 0 #b4c78b66,inset -1px 0 #b4c78b66}
.schedule-bar{border:1px solid #648a49;border-radius:0;background:#c4df9d;color:#294b27;box-shadow:inset 0 2px #e7f4c4,inset 0 -2px #90b16c;font-size:12px;font-weight:600}.schedule-bar.active{border-left-color:#426f34}.schedule-bar.research{background:#dec3de;color:#623866;border-color:#95669b;box-shadow:inset 0 2px #f0dff0,inset 0 -2px #b591bb}.schedule-bar.testing{background:#eed596;color:#735022;border-color:#aa813e;box-shadow:inset 0 2px #fff0bc,inset 0 -2px #ccaa5d}.schedule-bar.rest{background:#e6dece;color:#756550;border-color:#c8b897;box-shadow:none}.person-row[data-member-role=backend] .schedule-bar:not(.research):not(.testing):not(.rest){background:#add7ee;color:#284e65;border-color:#5687a7;box-shadow:inset 0 2px #d4edfa,inset 0 -2px #7cabca}.schedule-bar.tentative,.person-row[data-member-role=backend] .schedule-bar.tentative:not(.research):not(.testing):not(.rest){background:#fff8e9;border-style:dashed;box-shadow:none}.gantt-handle::after{background:#fff2d2;border-left:1px solid #5b713c;opacity:.85}.gantt-dragging{box-shadow:0 0 0 2px #7f9c4e}.blank-row.available{color:#75904f}.legend i{background:#b7d699}.legend i.draft{border-color:#8d9d70;background:#fff7e4}.legend i.unknown{background:#e7ddca}#gantt-preview{border:2px solid #b99868;border-radius:0;background:#fff5e1;color:#423020;box-shadow:2px 3px #8c653b55}
.list-table th,.request-table th.request-actions-cell{background:#f0e2c6;color:#705638}.list-table th{font-size:12px}.list-table td{border-top-color:#e0ceb0}.request-table td{font-size:13px}.request-table .button.compact{padding:2px 7px}.list-table tbody tr:hover{background:#f4e9d2}.request-table tbody tr:hover{background:#edf0d6}.pill{border-radius:2px;background:#e9dfc7;color:#715d42}.pill.good{background:#dceac6;color:#38603b}.pill.blue{background:#dce9e7;color:#375c62}.pill.warn{background:#f4e2b6;color:#895c29}.pill.danger{background:#f6dfd3;color:#9c4535}.pill.purple{background:#e8d9eb;color:#704c78}.filters button{border-radius:0}.filters button.active{background:#e6edcf;border-color:#a6b680;color:#3d6739}.column-filter-popover{border:2px solid #ae8a58;border-radius:0;background:#fff6e4;box-shadow:2px 3px #8c653b44}.column-filter-option{border-radius:0}.column-filter-option:hover{background:#e8edcf}.column-resizer::after,.timeline-column-resizer::after{background:#b79a6c}
.release-column,.todo-quadrant{border:7px solid transparent;border-image:url('/reference-art.svg#panel') 2.5% 1.5% / 7px / 0 stretch;border-radius:0;background:#efe5cb}.release-column .request-card{border-width:6px;border-image-width:6px;border-radius:0}.todo-iu{--todo-color:#a34e38;background:#f2e0d1}.todo-in{--todo-color:#437243;background:#e5edce}.todo-nu{--todo-color:#94652d;background:#f2e3bd}.todo-nn{--todo-color:#776750;background:#e8e1d2}.todo-card{border-radius:0;background:#fff8e8;border-color:#d6c29d;box-shadow:0 2px #c5ad81}.notice,.role-chip,.suggestion-preview{background:#efe4c9;border-radius:0;color:#725c3e}.role-picker .check-field{border-radius:0}.role-picker .check-field:has(input:checked){background:#e6edce;border-color:#9db47a;color:#3c6738}.mine-summary,.card-divider{border-color:#dcc7a3}
dialog{background:#fff5e1}.modal-head,.modal-footer{background:#f1e3c7;border-color:#d4bb93}.field input,.field select,.field textarea,.select-small{border-color:#c7a879;border-radius:0;background:#fffaed;color:#453222}.field input:focus,.field select:focus,.field textarea:focus{border-color:#638549;box-shadow:0 0 0 2px #a9be8155}.check-field{color:#675037}input[type=checkbox]{accent-color:#467a43}.form-error{color:#a34432}#toast{border:2px solid #b69a65;border-radius:0;background:#466638;color:#fff6d9;box-shadow:2px 3px #62432555;backdrop-filter:none}.live-dot{background:#6b9549;box-shadow:none}.login-page{background:#ccdfd4 url('/reference-art.svg#sky') left top / 490px 95px repeat-x}.login-form{background:#fff4df}
.timeline-wrap::-webkit-scrollbar,.scroll::-webkit-scrollbar{height:12px;width:12px}.timeline-wrap::-webkit-scrollbar-track,.scroll::-webkit-scrollbar-track{background:#f0dfbd;border:1px solid #c2a16f}.timeline-wrap::-webkit-scrollbar-thumb,.scroll::-webkit-scrollbar-thumb{background:#ab804a;border:2px solid #e4c99c;border-radius:0}
.sidebar-collapsed .sidebar{padding:8px 4px;border-width:6px;border-image-width:6px}.sidebar-collapsed .sidebar::after{display:none}.sidebar-collapsed .sidebar-heading{min-height:0;padding:0 0 10px}.sidebar-collapsed .brand{flex-direction:row}.sidebar-collapsed .brand-symbol{width:31px;height:29px}.sidebar-collapsed .nav button{padding:7px 0;min-height:48px}.sidebar-collapsed .nav button svg{width:27px;height:30px}
@media(max-width:1100px){.shell{grid-template-columns:206px minmax(0,1fr)}.content{padding-left:12px;padding-right:12px}.sidebar .brand{font-size:18px}.nav button{font-size:14px;gap:8px;padding-left:5px}.panel-toolbar .timeline-filters{flex-basis:100%;justify-content:flex-start}.farm-stats{font-size:13px;min-width:0}.farm-stats>span{padding:0 9px}}
@media(max-height:760px) and (min-width:761px){.sidebar::after{display:none}.sidebar-heading{min-height:118px;padding-top:0;padding-bottom:12px}.brand-symbol{height:50px;width:55px}.nav{gap:6px}.nav button{min-height:46px}}
@media(max-width:760px){.sidebar,.sidebar-collapsed .sidebar{position:static;height:auto;padding:8px 12px;border-width:6px;border-image-width:6px}.sidebar::after{display:none}.sidebar-heading{padding:0;min-height:0;border:0;box-shadow:none;margin-bottom:0}.sidebar .brand{flex-direction:row;font-size:17px;gap:7px}.sidebar .brand-symbol{width:35px;height:32px}.nav{margin-top:10px;gap:5px}.nav button{font-size:12px;min-height:40px;padding:4px 8px;gap:6px}.nav button svg{width:24px;height:27px}.page-heading{min-height:176px;padding:16px 10px 14px;background-size:auto 177px}.page-heading::after{display:none}.page-heading::before{width:396px;opacity:.7;right:-80px}.farm-heading h1{width:220px;height:57px;margin-top:0}.farm-stats{padding:6px 9px;font-size:11px;min-width:0}.farm-stats>span{padding:0 7px}.farm-stats strong{font-size:14px;margin-left:4px}.page-heading>.row{margin-left:auto}.page-heading .button,.page-heading .button[data-action=new-block]{font-size:12px;min-width:0;min-height:40px;padding:5px 9px;border-width:6px;border-image-width:6px}.page-heading .button svg{width:16px;height:16px}.panel{border-width:8px;border-image-width:8px}.panel-toolbar{padding:12px;gap:10px}.panel-toolbar .timeline-filters{justify-content:flex-start}.topbar{right:13px}.topbar>.row>span{display:none}.modal-footer{flex-wrap:wrap}}
