:root{--wood: #2b1a10;--wood-dark: #241408;--wood-mid: #5a3a24;--wood-light: #6b4326;--parchment: #efe3c6;--parchment-light: #f6ecd6;--parchment-dark: #e3d4b0;--parchment-track: #dccbaa;--edge: #c9b48c;--edge-soft: #d5c39d;--edge-dashed: #b8a27a;--brass: #8a6a3d;--ink: #2a1a0f;--ink-soft: #4a3826;--ink-dim: #6d5843;--gold: #b8862b;--gold-light: #d9a84a;--gold-deep: #8a5a1c;--gold-glow: #e4b95a;--gold-soft: #f3e0b8;--moss: #4f6b2f;--moss-deep: #3d5424;--moss-soft: #dfe6c9;--ember: #a43d2b;--ember-soft: #f1d3c9;--amber: #b5741c;--amber-soft: #f3e0b8;--radius: 6px;--font-display: "Cinzel", "Palatino Linotype", Georgia, serif;--font-body: "Alegreya Sans", "Gill Sans", "Trebuchet MS", sans-serif;--rail-w: 96px;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--wood);color:var(--ink);font-family:var(--font-body);font-size:16px;-webkit-tap-highlight-color:transparent}body{background-image:repeating-linear-gradient(90deg,rgba(0,0,0,.18) 0px,rgba(0,0,0,.18) 2px,transparent 2px,transparent 58px),repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0px,rgba(255,255,255,.025) 1px,transparent 1px,transparent 7px);background-attachment:fixed}#root{min-height:100vh}a{color:var(--gold-deep)}a:hover{color:var(--gold)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:.04em;margin:0;color:var(--ink)}h1{font-size:28px}h2{font-size:20px}h3{font-size:16px}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:16px;background:var(--parchment-light);color:var(--ink);border:1px solid var(--brass);border-radius:var(--radius);padding:10px 12px;min-height:44px;width:100%}textarea{min-height:72px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold-soft);border-color:var(--gold)}input[type=range]{min-height:44px;padding:0;border:none;background:transparent;accent-color:var(--moss)}input[type=checkbox]{width:22px;height:22px;min-height:0;accent-color:var(--moss)}label{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin:12px 0 4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--radius);font-size:15px;font-weight:700;cursor:pointer;background:var(--parchment-light);color:var(--ink);border:1px solid var(--brass);text-decoration:none;white-space:nowrap}.btn:hover{border-color:var(--gold)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:linear-gradient(180deg,var(--gold-light),var(--gold));border:1px solid var(--gold-deep);box-shadow:0 2px 0 var(--wood-light)}.btn-primary:hover{filter:brightness(1.05)}.btn-primary:active{transform:translateY(1px);box-shadow:0 1px 0 var(--wood-light)}.btn-big{min-height:56px;padding:0 22px;font-size:16px}.btn-danger{border-color:var(--ember);color:var(--ember)}.btn-block{width:100%}.btn-quiet{background:transparent;border-color:transparent;color:var(--ink-dim)}.btn-quiet:hover{border-color:var(--edge)}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.app-shell{display:flex;min-height:100vh}.rail{width:var(--rail-w);flex-shrink:0;background:var(--wood-dark);background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 1px,transparent 6px);border-right:3px solid var(--wood-mid);display:flex;flex-direction:column;align-items:center;padding:18px 0;gap:6px;position:sticky;top:0;height:100vh}.rail-brand{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:14px;color:var(--gold-glow);text-decoration:none}.rail-brand span{font-family:var(--font-display);font-weight:700;font-size:10px;letter-spacing:.06em}.rail-link{width:76px;height:64px;border-radius:var(--radius);color:var(--edge);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-decoration:none;font-size:12px;font-weight:700;border:1px solid transparent}.rail-link:hover{color:var(--gold-glow)}.rail-link.active{background:var(--wood-light);border-color:var(--gold);color:var(--gold-glow)}.rail-footer{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding:0 8px}.rail-acting{width:80px;font-size:11px;color:var(--gold-glow);text-align:center;line-height:1.25;padding:6px 4px;border:1px dashed var(--brass);border-radius:var(--radius)}.rail-acting strong{display:block;font-family:var(--font-display);font-size:12px}.rail-acting button{margin-top:4px}.main{flex:1;min-width:0;padding:14px;display:flex}.sheet{flex:1;min-width:0;background:var(--parchment);background-image:radial-gradient(ellipse 600px 300px at 8% 0%,rgba(120,80,30,.16),transparent 60%),radial-gradient(ellipse 500px 300px at 95% 100%,rgba(120,80,30,.14),transparent 60%),radial-gradient(ellipse 900px 600px at 50% 50%,transparent 55%,rgba(90,60,25,.14) 100%);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:0 0 0 3px var(--wood-mid),inset 0 0 40px #5a3c192e;padding:24px 32px 40px}.bottom-nav{display:none}@media(max-width:860px){.rail{display:none}.main{padding:8px 8px 96px}.sheet{padding:16px 14px 28px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:76px;display:flex;background:var(--wood-dark);border-top:3px solid var(--wood-mid);padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:20}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--edge);text-decoration:none;font-size:10px;font-weight:700;border-radius:var(--radius)}.bottom-nav a.active{color:var(--gold-glow)}h1{font-size:22px}.slip>.row{flex-wrap:wrap}.slip>.row>.row:last-child{width:100%;justify-content:flex-end}.panel{padding:12px}}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.eyebrow{font-size:12px;color:var(--ink-dim);font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}.muted{color:var(--ink-dim)}.small{font-size:13px}.section-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin:18px 0 8px}.error-text{color:var(--ember);font-weight:700;margin-top:10px;font-size:14px}.notice{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#5a3c1914;border:1px dashed var(--edge-dashed);border-radius:var(--radius);font-size:14px;color:var(--ink-soft)}.panel,.slip,.grow{min-width:0}.slip{overflow-wrap:anywhere}.slip{background:var(--parchment-light);border:1px solid var(--edge-soft);border-radius:var(--radius);padding:12px 14px;box-shadow:0 2px #5a3c191f}.slip.overdue{border-color:var(--ember);border-left:5px solid var(--ember)}.slip.review{border-color:var(--amber);border-left:5px solid var(--amber)}.slip.highlight{border:2px solid var(--gold)}.slip.divergent{border-color:var(--amber);border-left:5px solid var(--amber)}.slip.done{opacity:.7;background:transparent;border:1px dashed var(--edge-dashed);box-shadow:none}.panel{background:#5a3c190f;border:1px solid var(--edge-soft);border-radius:var(--radius);padding:16px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--edge-soft);margin-bottom:10px}.badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:3px;white-space:nowrap}.badge-effort{background:var(--moss-soft);color:var(--moss)}.badge-value{background:var(--gold-soft);color:var(--gold-deep)}.badge-overdue{background:var(--ember-soft);color:var(--ember);letter-spacing:.06em;text-transform:uppercase}.badge-review{background:var(--amber-soft);color:var(--amber);letter-spacing:.06em;text-transform:uppercase}.badge-quiet{background:var(--parchment-dark);color:var(--ink-dim)}.badge-system{background:var(--moss-soft);color:var(--moss);letter-spacing:.06em;text-transform:uppercase}.avatar{width:44px;height:44px;border-radius:50%;border:2px solid var(--brass);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:18px;flex-shrink:0}.avatar-sm{width:32px;height:32px;font-size:14px}.avatar-lg{width:64px;height:64px;font-size:26px}.avatar-0{background:var(--moss);color:var(--parchment-light)}.avatar-1{background:var(--gold);color:var(--ink)}.avatar-2{background:var(--ember);color:var(--parchment-light)}.avatar-3{background:var(--wood-mid);color:var(--gold-glow)}.karma-num{font-family:var(--font-display);font-weight:700;color:var(--gold-deep);font-size:26px;line-height:1}.karma-label{font-size:11px;color:var(--ink-dim);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}@media(max-width:860px){.grid-2{grid-template-columns:1fr}}.stack{display:flex;flex-direction:column;gap:10px}.row{display:flex;align-items:center;gap:10px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.bar{height:14px;border-radius:7px;background:var(--parchment-track);border:1px solid var(--edge);overflow:hidden;display:flex}.bar>div{background:var(--moss);transition:width .2s ease}.bar>div.over{background:var(--ember)}.bar-thin{height:10px}.chip{font-size:12px;font-weight:700;padding:5px 10px;border-radius:3px;background:var(--parchment);border:1px solid var(--edge)}.sizes{display:flex;gap:6px;flex-wrap:wrap}.size-btn{width:52px;height:44px;border-radius:var(--radius);background:var(--parchment);border:1px solid var(--edge);font-family:var(--font-display);font-weight:700;font-size:13px;color:var(--ink);cursor:pointer}.size-btn.selected{background:var(--moss);border-color:var(--moss-deep);color:var(--parchment-light)}.size-btn:disabled{cursor:default;opacity:.6}.steps{display:flex;align-items:center;gap:6px;font-size:13px;flex-wrap:wrap}.step{padding:8px 12px;border-radius:3px;color:var(--ink-dim);font-family:var(--font-display);font-weight:700}.step.active{background:var(--wood-mid);color:var(--gold-glow)}.step.done{color:var(--moss)}.seg{display:flex;background:var(--parchment-dark);border:1px solid var(--edge);border-radius:var(--radius);padding:4px;gap:4px}.seg button{flex:1;min-height:44px;border-radius:4px;border:none;background:transparent;color:var(--ink-dim);font-family:var(--font-display);font-weight:700;font-size:14px;cursor:pointer}.seg button.active{background:var(--wood-mid);color:var(--gold-glow)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:440px}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:8px;color:var(--gold-deep)}.modal-overlay{position:fixed;inset:0;background:#140a04b3;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal-box{width:100%;max-width:520px;max-height:95vh;overflow:auto}.pinpad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pin-key{height:64px;border-radius:var(--radius);background:var(--parchment-light);border:1px solid var(--brass);box-shadow:0 2px 0 var(--wood-light);font-family:var(--font-display);font-size:24px;font-weight:700;cursor:pointer;color:var(--ink)}.pin-key.quiet{background:transparent;border-color:transparent;box-shadow:none;color:var(--ink-dim);font-family:var(--font-body);font-size:14px}.pin-dots{display:flex;gap:14px;justify-content:center;margin:12px 0 18px}.pin-dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--brass)}.pin-dot.on{background:var(--gold);border-color:var(--gold)}.member-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.member-tile{min-height:120px;border-radius:var(--radius);background:var(--parchment-light);border:1px solid var(--edge-soft);box-shadow:0 2px #5a3c191f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--ink)}.member-tile.selected{border:2px solid var(--gold)}table.ledger{width:100%;border-collapse:collapse;font-size:14px}table.ledger th{text-align:left;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);padding:6px 8px;border-bottom:1px solid var(--edge)}table.ledger td{padding:8px;border-bottom:1px solid var(--edge-soft);vertical-align:top}.pos{color:var(--moss);font-weight:700}.neg{color:var(--ember);font-weight:700}.overflow-x{overflow-x:auto}.code{font-family:var(--font-display);font-size:22px;letter-spacing:.2em;color:var(--gold-deep)}
