:root{--ink: #1c1915;--muted: #5e584e;--paper: #f6f3ec;--card: #fffdf8;--line: #e3dccf;--amber: #8a4b00;--amber-fill: #e2b320;--green: #17693f;--green-bg: #e5f4eb;--red: #8d2f1e;--red-bg: #fde8e3;--shadow: 0 10px 28px rgba(48, 36, 16, .08);--sans: "Public Sans", "Segoe UI", sans-serif;--cond: "Barlow Condensed", "Arial Narrow", sans-serif;color:var(--ink);background:#e6e0d4;font-family:var(--sans);font-size:16px;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--cond);font-weight:600;letter-spacing:.02em;line-height:1.05;margin:0}h1{font-size:2rem}h2{font-size:1.45rem}h3{font-size:1.15rem}p{margin:0}a{color:var(--amber)}.shell,.stage{min-height:100dvh}.bg-paper{background:#e6e0d4}.bg-concrete{background-color:#b7b1a8;background-image:linear-gradient(180deg,#ffffff40,#0000002e),repeating-linear-gradient(90deg,rgba(0,0,0,.05) 0 1px,transparent 1px 8px),repeating-linear-gradient(0deg,rgba(0,0,0,.05) 0 1px,transparent 1px 13px)}.bg-flake{background-color:#3a342e;background-image:radial-gradient(circle at 12% 20%,#efe6d6 0 1.5px,transparent 2.2px),radial-gradient(circle at 28% 68%,#8fa2b3 0 2px,transparent 2.8px),radial-gradient(circle at 70% 30%,#d7c3a1 0 2px,transparent 2.8px),radial-gradient(circle at 46% 44%,#f4f1ea 0 1.2px,transparent 1.8px),radial-gradient(circle at 82% 74%,#6e6256 0 1.8px,transparent 2.4px),radial-gradient(circle at 60% 18%,#c5d0b4 0 1.6px,transparent 2.2px);background-size:180px 150px}.bg-night{background:radial-gradient(ellipse at 50% 120%,rgba(226,140,30,.55),transparent 46%),radial-gradient(circle at 80% 0%,#2c3a4e,transparent 42%),#14171c}.bg-safety{background:repeating-linear-gradient(-45deg,#1a1a1a 0,#1a1a1a 14px,#e2b320 14px,#e2b320 28px)}.home-bg.is-custom{background-size:cover;background-position:center}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;position:sticky;top:0;z-index:5;background:#fffdf8f0;border-bottom:1px solid rgba(28,25,21,.08)}.mark{background:none;border:0;padding:0;font-family:var(--cond);font-weight:700;letter-spacing:.16em;font-size:22px}.mark i{display:block;height:3px;background:var(--amber-fill);margin-top:2px}.save-state{min-width:4.5rem;text-align:center}.who-btn{min-height:40px}main{width:min(1120px,100%);margin:0 auto;padding:14px 14px calc(92px + env(safe-area-inset-bottom))}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:6;display:flex;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tab{position:relative;flex:1;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:transparent;border:0;color:var(--muted);font-size:11px;letter-spacing:.03em}.tab svg{width:22px;height:22px}.tab.on{color:var(--ink);box-shadow:inset 0 -3px 0 var(--amber-fill)}.tab .count{position:absolute;top:6px;margin-left:28px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--red);color:#fff;font-size:10px;display:grid;place-items:center}@media(min-width:900px){.tabbar{top:0;bottom:0;right:auto;width:96px;flex-direction:column;border-top:0;border-right:1px solid var(--line);padding:12px 0}.tab{flex:0;min-height:72px}.tab.on{box-shadow:inset 3px 0 0 var(--amber-fill)}.stage{margin-left:96px}main{padding-bottom:32px}}.hint{color:var(--muted);font-size:14px}.quiet{margin:0}.warn,.neg,.neg input{color:var(--red)}.pre{white-space:pre-wrap}.stack{display:flex;flex-direction:column;gap:10px}.split{display:grid;grid-template-columns:1fr 1fr;gap:10px}.narrow{max-width:640px}.home{display:flex;flex-direction:column;gap:14px}.card,.week,.usage,.modal,.gate .people button,.photo-card{background:var(--card);border:1px solid var(--line);border-radius:14px}.card,.week{padding:14px;box-shadow:var(--shadow)}.card-head,.week-head,.page-head,.modal-head,.thread-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.page-actions,.shutter-row,.week-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn,.seg button,.swatch{min-height:40px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:#fff}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.ghost{background:transparent}.btn input{display:none}.text-btn{background:none;border:0;padding:0;color:var(--amber);text-decoration:underline;text-underline-offset:3px}.seg{display:flex;gap:6px;flex-wrap:wrap}.seg button.on,.people button.on,.channel-list button.on,.g-items button.on{background:#fff4d4;border-color:var(--amber-fill)}.seg.wrap{margin-bottom:4px}.week{background-color:#fbf7ef;background-image:repeating-linear-gradient(to bottom,transparent,transparent 27px,rgba(28,25,21,.06) 28px)}.days{display:flex;flex-direction:column;gap:8px;margin-top:8px}.day{padding:8px 4px 4px;border-radius:10px}.day.is-today{background:#e2b32029}.day-name{font-family:var(--cond);letter-spacing:.08em;text-transform:uppercase;font-size:15px}.chip{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin-top:10px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}.chip:before{content:"";position:absolute;top:-7px;left:16px;width:46px;height:12px;background:#e2b320bf;transform:rotate(-2deg)}.chip.small{width:auto;margin:0;padding:6px 10px}.chip.small:before{display:none}.chip-meta,.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pill{font-style:normal;background:var(--green);color:#fff;border-radius:99px;padding:1px 7px;font-size:12px}.pill.dull{background:var(--muted)}.preview,.plain,.notes,.channel-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.preview button,.channel-list button,.people button{width:100%;text-align:left;background:transparent;border:0;display:flex;flex-direction:column;gap:2px}.channel-list button{border:1px solid var(--line);border-radius:10px;padding:10px;position:relative}.channel-list em{position:absolute;right:10px;top:10px;background:var(--red);color:#fff;border-radius:99px;min-width:18px;height:18px;font-style:normal;font-size:12px;display:grid;place-items:center}.clock-live .big,.profit strong{font-family:var(--cond);font-size:3rem;line-height:1}.thumbs,.photo-grid{display:flex;gap:8px;flex-wrap:wrap}.thumbs img,.thumbs button,.photo-card{width:92px}.thumbs img,.photo-card img{height:92px;object-fit:cover;border-radius:8px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.photo-card{padding:8px;display:flex;flex-direction:column;gap:4px;text-align:left;width:auto}.photo-card img,.pdf{height:120px;width:100%;object-fit:cover;border-radius:8px}.pdf{display:grid;place-items:center;background:var(--ink);color:#fff;font-family:var(--cond);letter-spacing:.08em}.assign-preview{max-height:240px;object-fit:contain;background:#eee;border-radius:8px}.banner{display:flex;justify-content:space-between;gap:12px;margin:10px 14px 0;padding:10px 12px;background:var(--red-bg);color:var(--red);border-radius:10px}.banner button{background:none;border:0;color:inherit;text-decoration:underline}.gate{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:14px;max-width:460px;margin:0 auto;padding:28px 18px}.people{display:flex;flex-direction:column;gap:8px}.people button{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--card)}.people.compact button{padding:8px 10px}.swatches{display:flex;gap:8px;flex-wrap:wrap}.swatch{min-width:88px;color:var(--ink)}.swatch.bg-paper{background:#fffdf8}.swatch.bg-concrete{color:var(--ink);background-color:#b7b1a8;background-image:linear-gradient(180deg,#ffffff40,#0000002e),repeating-linear-gradient(90deg,rgba(0,0,0,.05) 0 1px,transparent 1px 8px),repeating-linear-gradient(0deg,rgba(0,0,0,.05) 0 1px,transparent 1px 13px)}.swatch.bg-flake{color:#fff;background-color:#3a342e;background-image:radial-gradient(circle at 12% 20%,#efe6d6 0 1.5px,transparent 2.2px),radial-gradient(circle at 28% 68%,#8fa2b3 0 2px,transparent 2.8px),radial-gradient(circle at 70% 30%,#d7c3a1 0 2px,transparent 2.8px),radial-gradient(circle at 46% 44%,#f4f1ea 0 1.2px,transparent 1.8px),radial-gradient(circle at 82% 74%,#6e6256 0 1.8px,transparent 2.4px),radial-gradient(circle at 60% 18%,#c5d0b4 0 1.6px,transparent 2.2px);background-size:90px 75px}.swatch.bg-night{color:#fff;background:radial-gradient(ellipse at 50% 120%,rgba(226,140,30,.55),transparent 46%),radial-gradient(circle at 80% 0%,#2c3a4e,transparent 42%),#14171c}.swatch.bg-safety{color:var(--ink);background:repeating-linear-gradient(-45deg,#1a1a1a 0,#1a1a1a 8px,#e2b320 8px,#e2b320 16px)}.swatch.on{outline:2px solid var(--ink);outline-offset:2px}.crew-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sheet-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;max-height:70dvh}table.sheet{border-collapse:separate;border-spacing:0;min-width:880px;width:100%;font-size:14px}.sheet th,.sheet td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:#fff;vertical-align:middle}.sheet th{position:sticky;top:0;background:#efeae0;z-index:2;text-align:left;font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:8px}.sheet td:first-child,.sheet th:first-child{position:sticky;left:0;z-index:1}.sheet th:first-child{z-index:3}.sheet td{padding:0}.sheet td.pad{padding:8px}.cell-text{padding:8px;display:inline-block}.sheet input,.sheet select,.add-row input,.add-row select,.form input,.form select,.form textarea,.composer textarea,.stack input,.stack select,.stack textarea{border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff;width:100%}.sheet input,.sheet select{border:0;border-radius:0;background:transparent;min-width:72px}.sheet .num,.num{text-align:right;font-variant-numeric:tabular-nums}.sheet tr.is-selected td{background:#fff6df}.sheet tr.is-selected td:first-child{box-shadow:inset 3px 0 0 var(--amber-fill)}.linkish{background:none;border:0;padding:8px;font-weight:650;text-align:left;text-decoration:underline;text-underline-offset:3px}.used{max-width:240px;white-space:normal}.add-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.add-row input,.add-row select{width:auto;min-width:90px}.select-bar{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;background:#fff6df;border:1px solid var(--amber-fill);border-radius:10px;padding:8px 10px}.inv{display:flex;flex-direction:column;gap:12px}@media(max-width:999px){.inv.show-sheet .inv-map,.inv.show-map .inv-sheet{display:none}}@media(min-width:1000px){.inv{display:flex;flex-direction:column}.pane-toggle{display:none}}.graph-scroll{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#f7f4ee}.graph{position:relative}.graph svg{position:absolute;top:0;right:0;bottom:0;left:0}.graph line{stroke:#c8bfb0;stroke-width:2}.graph line.hot{stroke:var(--amber);stroke-width:3}.g-card{position:absolute;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;overflow:hidden;display:flex;flex-direction:column;gap:4px}.g-card.hot{border-color:var(--amber-fill);box-shadow:0 0 0 2px #e2b32073}.g-card header{display:flex;justify-content:space-between;gap:6px;align-items:baseline}.g-card header span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.g-items{overflow:auto;display:flex;flex-direction:column;gap:4px}.g-items button{display:grid;grid-template-columns:10px 1fr auto;gap:6px;align-items:center;text-align:left;border:0;background:transparent;padding:3px;font-size:13px}.dot{width:8px;height:8px;border-radius:99px;display:inline-block}.cat-flake{background:#8a6a32}.cat-material{background:#2f6f54}.cat-coating{background:#1e4d7b}.cat-prep{background:#6b4a78}.cat-tooling{background:#a85b00}.legend{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.power-banner{border-radius:12px;padding:14px}.power-banner strong{font-family:var(--cond);font-size:1.6rem;display:block}.power-banner.is-yes{background:var(--green-bg);color:var(--green)}.power-banner.is-no{background:#efeae0}.power-banner.is-unknown{background:#fff4d4;color:#7a4e00}.facts{display:grid;gap:8px;margin:0}.facts div{display:grid;grid-template-columns:110px 1fr;gap:8px}.facts dt{color:var(--muted)}.facts dd{margin:0}.parking{border-left:6px solid var(--amber-fill)}.jumps{display:flex;gap:14px}.jumps a{font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--ink)}.notes li,.usage{padding:10px}.notes li{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--line);border-radius:10px}.usage{display:flex;flex-direction:column;gap:8px}.checks{display:flex;flex-wrap:wrap;gap:8px 14px}.checks label,.checkline{display:flex;gap:6px;align-items:center;white-space:nowrap}fieldset{border:1px solid var(--line);border-radius:10px}.form textarea{min-height:80px}.money-tape{background:#fffdf8}.tape-row{display:flex;flex-direction:column;gap:8px;padding:10px 0;border-top:1px solid var(--line)}@media(min-width:800px){.tape-row{display:grid;grid-template-columns:minmax(140px,1.5fr) minmax(120px,.9fr) 96px minmax(120px,.9fr) auto;align-items:center;padding:8px 0}}.profit{display:flex;justify-content:space-between;align-items:baseline;padding-top:8px;border-top:2px solid var(--ink)}.profit.neg strong{color:var(--red)}.profit strong{color:var(--green)}.chat{display:flex;flex-direction:column;gap:12px}.thread{display:flex;flex-direction:column;gap:10px;min-height:50dvh}.bubbles{display:flex;flex-direction:column;gap:8px}.bubble{max-width:min(520px,90%);background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 10px}.bubble.mine{align-self:flex-end;background:#fff6df}.bubble time{display:block;color:var(--muted);font-size:12px}.composer{display:flex;gap:8px;align-items:flex-end}.composer textarea{flex:1}@media(max-width:799px){.chat.in-thread .chat-list{display:none}.chat:not(.in-thread) .thread{display:none}}@media(min-width:800px){.chat{display:grid;grid-template-columns:260px 1fr;align-items:start}.thread-back{display:none}}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#1c191573;display:flex;justify-content:center;align-items:flex-end}.modal{width:min(560px,100%);max-height:min(88dvh,820px);overflow:auto;border-bottom-left-radius:0;border-bottom-right-radius:0;padding:14px}@media(min-width:700px){.modal-back{align-items:center}.modal{border-radius:14px}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0c0a08e0;display:grid;place-items:center;padding:20px}.lightbox img{max-height:90dvh;max-width:100%;object-fit:contain}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}@media(min-width:800px){.days{display:grid;grid-template-columns:1fr 1fr}}
