:root{--walnut:#2b231d;--walnut-2:#3a2f26;--cream:#f2ead6;--paper:#f5eedc;--ink:#3a342e;--pencil:#48464a;--brass:#c9a14a;--brass-dark:#8a6a2a;--red:#b3261e;--hand:"Segoe Print", "Bradley Hand", "Chalkboard SE", "Comic Sans MS", "DejaVu Serif", Georgia, serif;--print:Georgia, "DejaVu Serif", "Times New Roman", serif}*{box-sizing:border-box}html,body{background:var(--walnut);height:100%;color:var(--cream);font-family:var(--print);margin:0;overflow:hidden}#app{flex-direction:column;height:100%;display:flex}button{font-family:var(--print);cursor:pointer}kbd{font-family:var(--print);opacity:.7;border:1px solid;border-radius:3px;margin-left:4px;padding:0 3px;font-size:.78em}.top{background:linear-gradient(#241d18,#2b231d);border-bottom:1px solid #1a1411;flex:none;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.brand{align-items:baseline;gap:16px;display:flex}.place{letter-spacing:.06em;font-variant:small-caps;color:#f6e7c4;font-size:20px}.errand{color:#cdbb98;font-size:13px;font-style:italic}.menu{gap:6px;display:flex}.menu button{color:#d9c8a4;background:0 0;border:1px solid #5a4a3a;border-radius:3px;padding:4px 10px;font-size:12.5px}.menu button:hover{color:#fff3d8;background:#3d3229}.room{flex:auto;min-height:0;display:flex}.stage{-webkit-user-select:none;user-select:none;background:radial-gradient(at 40% 35%,#3b3027,#1d1814 75%);flex:auto;min-width:0;position:relative;overflow:hidden}.diorama-canvas{touch-action:none;display:block}.hint{color:#f2ead69e;pointer-events:none;white-space:nowrap;text-shadow:0 1px 2px #0009;font-size:13px;font-style:italic;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.station-hint{bottom:12px}.station-bar{background:#2b231dc7;border:1px solid #6a5642;border-radius:4px;align-items:center;gap:12px;padding:6px 8px 6px 14px;font-size:14px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.station-bar .where{font-variant:small-caps;letter-spacing:.05em;color:#f6e7c4}.station-bar button{color:#f2e4c4;background:#4a3c30;border:1px solid #7a6450;border-radius:3px;padding:4px 10px;font-size:13px}.station-bar button:hover{background:#5a4a3a}.vane-layer{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.vane-layer .hair{stroke:#1d1a17;stroke-width:1.2px}.vane-layer .hair-shadow{stroke:#f0d28c8c;stroke-width:3.2px}.vane-layer.off line{display:none}.vane{width:0;height:0;position:absolute}.vane-grip{cursor:ew-resize;touch-action:none;background:linear-gradient(90deg,#7a5a22,#e3c070 30%,#f4d98a 48%,#c9a14a 62%,#8a6a2a);border-radius:4px 4px 8px 8px;width:40px;height:64px;position:absolute;top:-32px;left:-20px;box-shadow:0 3px 8px #0000008c,inset 0 0 0 1px #3c280a99}.vane-grip .slit{background:#1d1a17;width:2px;height:40px;position:absolute;top:6px;left:19px}.vane-grip:after{content:"";background:#3c280a59;border-radius:3px;height:6px;position:absolute;bottom:6px;left:6px;right:6px}.vane.offview .vane-grip{cursor:pointer;opacity:.8}.vane-read{min-width:210px;color:var(--ink);background:#f5eedcf0;border-radius:3px;flex-direction:column;gap:3px;padding:7px 10px 8px;font-size:13px;display:flex;position:absolute;top:-30px;left:30px;box-shadow:0 2px 10px #0006}.vane.flip .vane-read{left:auto;right:30px}.vane-read .bearing{letter-spacing:.03em;font-size:19px;font-weight:600}.vane-read .tol{color:#6a5f52;font-size:12px;position:absolute;top:9px;right:10px}.vane-read .on{font-family:var(--hand);color:#4a4440;font-size:13px}.vane-read .rule{color:#f6e7c4;background:#3a2f26;border:none;border-radius:3px;margin-top:3px;padding:6px 9px;font-size:13px}.vane-read .rule:hover{background:#54442f}.vane.ruled .vane-read{animation:.6s ease-out ruled}@keyframes ruled{0%{box-shadow:0 0 0 3px #c9a14ae6}to{box-shadow:0 2px 10px #0006}}.slips{flex-direction:column;flex:auto;align-items:stretch;gap:8px;min-height:0;padding:6px 4px 4px;display:flex;overflow-y:auto}.slip{background:var(--paper);color:var(--ink);font-family:var(--hand);background-image:repeating-linear-gradient(#0000 0 21px,#5a82a024 21px 22px);border-radius:2px;flex:none;width:100%;padding:12px 16px 10px;font-size:14.5px;line-height:1.45;position:relative;transform:rotate(-.8deg);box-shadow:0 6px 18px #00000073}.slip.newest{animation:.5s ease-out arrive}@keyframes arrive{0%{opacity:0;transform:translateY(30px)rotate(-3deg)}to{opacity:1;transform:rotate(-.8deg)}}.slip:before{content:"";background:radial-gradient(circle at 35% 35%,#f4d98a,#8a6a2a);border-radius:50%;width:11px;height:11px;position:absolute;top:-5px;left:50%;box-shadow:0 1px 2px #00000080}.slip p{margin:0 0 6px}.slip .who{font-family:var(--print);font-variant:small-caps;letter-spacing:.08em;color:#7a6a58;margin-bottom:4px;font-size:11px}.slip .sign{text-align:right;margin-top:-2px}.slip .foot{font-family:var(--print);color:#8a7a68;font-size:10.5px;font-style:italic}.slip.from-oriel{background-color:#f7f1e1}.slip.delivered{box-shadow:0 6px 18px #00000073,0 0 0 2px #c9a14ab3}.earlier{color:#e5d4b0;background:#2b231dbf;border:1px solid #6a5642;border-radius:12px;align-self:flex-start;padding:2px 10px;font-size:12px}.desk{background:linear-gradient(#3a2f26,#30271f);border-left:1px solid #1a1411;flex-direction:column;flex:0 0 min(40vw,640px);gap:8px;min-height:0;padding:10px 12px 12px;display:flex;overflow-y:auto}.tools{-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.tools .gap{flex:1}.tools button{color:#f2e4c4;background:#4a3c30;border:1px solid #6a5642;border-radius:3px;padding:5px 11px;font-size:13px}.tools button.on{background:var(--cream);color:var(--ink);border-color:var(--cream);box-shadow:0 0 0 2px #c9a14a99}.tools button:disabled{opacity:.4;cursor:default}.sheet-wrap{aspect-ratio:1.42;background:var(--paper);border-radius:2px;flex:none;width:100%;max-height:58vh;position:relative;box-shadow:0 8px 24px #00000080}.sheet-canvas{touch-action:none;display:block}.picker{z-index:5;width:210px;color:var(--ink);background:#fbf6e8;border:1px solid #b8a888;border-radius:3px;flex-direction:column;gap:3px;padding:6px;display:flex;position:absolute;box-shadow:0 6px 16px #00000059}.picker-title{font-variant:small-caps;letter-spacing:.08em;color:#7a6a58;padding:2px 4px 4px;font-size:11px}.picker button{text-align:left;font-family:var(--hand);color:var(--ink);background:0 0;border:none;border-radius:2px;padding:5px 6px;font-size:14px}.picker button:hover:not(:disabled){background:#efe4c8}.picker button:disabled{opacity:.4;cursor:default}.toast{z-index:6;color:#fff3e0;background:#5a1e14eb;border-radius:3px;padding:6px 12px;font-size:13px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.tip{z-index:4;pointer-events:none;color:#f2e4c4;background:#2b231de6;border-radius:3px;max-width:240px;padding:4px 8px;font-size:12px;position:absolute}.ledger{background:#f5eedc0f;border:1px solid #4e4034;border-radius:3px;flex:0 auto;min-height:48px;max-height:168px;padding:6px 10px;overflow-y:auto}.ledger-title{font-variant:small-caps;letter-spacing:.1em;color:#bfae8c;margin-bottom:4px;font-size:11px}.sights{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.sights li{color:#eadcbc;align-items:center;gap:8px;font-size:13px;display:flex}.sights li.empty{color:#a8987a;font-size:12.5px;font-style:italic}.sights .from{min-width:92px}.sights .arrow{color:#a8987a}.sights select{color:#f6e7c4;font-family:var(--hand);background:#4a3c30;border:1px solid #6a5642;border-radius:3px;padding:1px 4px;font-size:13px}.sights .deg{font-variant-numeric:tabular-nums;color:#cdbb98;margin-left:auto}.sights .del{color:#a8987a;background:0 0;border:none;padding:0 4px;font-size:13px}.sights .del:hover{color:#ff9b8a}.sights li:hover{color:#fff3d8}.dispatch{background:#0000002e;border-radius:3px;flex:none;grid-template-columns:1fr auto;grid-template-areas:"state btn""note btn";align-items:center;gap:2px 12px;padding:8px 10px;display:grid}.oriel-state{color:#f2e4c4;grid-area:state;font-size:13.5px}.send-note{color:#b8a888;grid-area:note;font-size:12px;font-style:italic}.send{background:var(--red);color:#fff5e8;letter-spacing:.02em;border:none;border-radius:3px;grid-area:btn;padding:10px 16px;font-size:14px;box-shadow:0 3px #7a1812}.send:hover:not(:disabled){background:#c6332a}.send:disabled{color:#cdb8a8;box-shadow:none;cursor:default;background:#6a4a40}.send.done{color:#eef0d8;background:#4a5a3a}.modal{z-index:20;background:#140f0c8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[hidden]{display:none}.card{background:var(--paper);width:min(560px,90vw);max-height:calc(100dvh - 32px);color:var(--ink);border-radius:3px;padding:18px 24px 16px;font-size:14.5px;line-height:1.5;overflow-y:auto;box-shadow:0 20px 50px #0009}.card h2{font-variant:small-caps;letter-spacing:.05em;margin:0 0 8px;font-size:18px}.card p{margin:0 0 9px}.card .keys{color:#7a6a58;font-size:12px}.card .buttons{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.card button{color:#f6e7c4;background:#3a2f26;border:none;border-radius:3px;padding:7px 14px;font-size:13.5px}.card button.danger{background:var(--red)}[hidden]{display:none!important}.sheets-wrap{display:inline-block;position:relative}.sheets-menu{z-index:30;background:#fbf6e8;border:1px solid #b8a888;border-radius:3px;flex-direction:column;gap:2px;width:330px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 26px #00000080}.menu .sheets-menu button{text-align:left;color:var(--ink);background:0 0;border:none;border-radius:2px;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 9px;display:flex}.menu .sheets-menu button:hover{color:var(--ink);background:#efe4c8}.menu .sheets-menu button.here{background:#efe4c8}.sheets-menu .name{font-size:13.5px;font-weight:600}.sheets-menu .blurb{color:#6a5f52;font-size:12px;font-style:italic}.practice-badge{font-variant:small-caps;letter-spacing:.1em;color:#f4f0ff;background:#34508f;border-radius:3px;align-self:center;padding:2px 8px;font-size:11px}.top.practice{background:linear-gradient(#1f2433,#26293a);border-bottom-color:#34508f}.top.dusk{background:linear-gradient(#1d1b26,#262232)}.slip.practice-card{background-color:#eef1fa;box-shadow:0 6px 18px #00000073,0 0 0 2px #34508f8c}.slip.practice-card .who{color:#34508f}.lower{flex-direction:column;flex:1 0 220px;gap:8px;min-height:220px;display:flex;position:relative}.lower .ledger{flex:none}.notes-drawer{z-index:8;background:linear-gradient(#3a2f26,#30271f);border:1px solid #6a5642;border-radius:3px;flex-direction:column;display:flex;position:absolute;inset:0;box-shadow:0 -6px 18px #00000073}.drawer-head{font-variant:small-caps;letter-spacing:.1em;color:#e5d4b0;border-bottom:1px solid #4e4034;flex:none;justify-content:space-between;align-items:center;padding:6px 10px;font-size:12px;display:flex}.drawer-head button{color:#f2e4c4;background:#4a3c30;border:1px solid #6a5642;border-radius:3px;padding:2px 9px;font-size:12px}.drawer-list{flex-direction:column;flex:auto;gap:10px;min-height:0;padding:12px 10px 14px;display:flex;overflow-y:auto}.drawer-list .slip{font-size:13.5px;transform:none}.top{gap:12px}.brand{min-width:0;overflow:hidden}.place{white-space:nowrap}.errand{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.menu{flex:none}.menu>button,.sheets-wrap>button{white-space:nowrap}.top.pass{background:linear-gradient(#1f2226,#2a2d30);border-bottom-color:#4a5560}.shelf{background:linear-gradient(#4a3a2c,#3a2e24);border:1px solid #6a5642;border-radius:3px;flex:none;align-items:stretch;gap:8px;padding:6px 8px;display:flex;box-shadow:inset 0 -5px #00000038}.shelf-title{font-variant:small-caps;letter-spacing:.1em;color:#d9c8a4;writing-mode:horizontal-tb;align-self:center;min-width:64px;font-size:11px}.parcels{flex:1;gap:8px;display:flex}.parcel{text-align:left;color:var(--ink);background:#efe3c6;border:1px solid #b8a888;border-radius:2px;flex-direction:column;flex:1;align-items:flex-start;gap:1px;padding:5px 9px 6px 22px;font-size:12.5px;display:flex;position:relative;box-shadow:0 2px #00000059}.parcel:before{content:"";background:0 0;border:1.5px solid #8a6a2a;border-radius:50%;width:8px;height:8px;position:absolute;top:9px;left:7px}.parcel.on{border-color:var(--brass);background:#fbf4e0;box-shadow:0 0 0 2px #c9a14ab3,0 2px #00000059}.parcel.on:before{background:var(--red);border-color:var(--red)}.parcel .tag{font-family:var(--hand);font-size:13px}.parcel .how{color:#6a5f52;font-size:11px;font-style:italic}.parcel .tied{color:#8a4a2a;border-top:1px dashed #b8a888;margin-top:2px;padding-top:1px;font-size:10.5px;font-style:italic}.parcel:disabled{cursor:default;opacity:.72}.parcel:disabled.on{opacity:1}.parcel:hover:not(:disabled){background:#fbf6e8}.autosave-warn{color:#f0c0a0;white-space:nowrap;border:1px dashed #a0604a;border-radius:3px;padding:1px 7px;font-size:11.5px;font-style:italic}.slip-action{color:#f6e7c4;font-family:var(--print);background:#3a2f26;border:none;border-radius:3px;margin-top:6px;padding:5px 11px;font-size:12.5px}.slip-action:hover{background:#54442f}.card.wide{width:min(900px,94vw)}.wall-intro{color:#6a5f52;font-size:13px}.wall{background:radial-gradient(circle at 30% 30%,#b48a5a,#8e6a44);border-radius:3px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px 16px;display:grid;box-shadow:inset 0 0 0 6px #6a4a2e,inset 0 0 26px #00000059}.wall-card{background:var(--paper);color:var(--ink);background-image:repeating-linear-gradient(#0000 0 21px,#5a82a01f 21px 22px);border-radius:2px;min-height:120px;padding:14px 14px 12px;position:relative;transform:rotate(-.6deg);box-shadow:0 5px 12px #0006}.wall-card:nth-child(2n){transform:rotate(.8deg)}.wall-card .pin{background:radial-gradient(circle at 35% 35%,#f4d98a,#8a6a2a);border-radius:50%;width:12px;height:12px;position:absolute;top:-5px;left:50%;box-shadow:0 1px 2px #00000080}.wall-card.here{box-shadow:0 5px 12px #0006,0 0 0 2px #c9a14acc}.wall-card.locked{opacity:.62;background-color:#e6dcc6}.wall-card.practice{background-color:#eef1fa}.wall-title{font-variant:small-caps;letter-spacing:.04em;font-size:16px;font-weight:600}.wall-blurb{font-family:var(--hand);margin:3px 0 6px;font-size:13.5px}.wall-status{color:#5a4f44;margin-bottom:8px;font-size:12.5px;font-style:italic}.wall-stamp{color:#aa281ed9;letter-spacing:.05em;border:2px solid #aa281ebf;padding:1px 6px;font-size:12px;font-weight:700;position:absolute;top:12px;right:12px;transform:rotate(-9deg)}.wall-here{color:#8a6a2a;font-size:12px;font-style:italic}.wall-card button{color:#f6e7c4;background:#3a2f26;border:none;border-radius:3px;padding:5px 12px;font-size:13px}.wall-card button:hover{background:#54442f}.shelf{padding:4px 8px}.parcel{padding:3px 8px 4px 22px}.parcel:before{top:7px}.parcel .tag{font-size:12.5px;line-height:1.2}.parcel .how{font-size:10.5px;line-height:1.2}.lower .ledger{max-height:124px}.first-label{color:#b9a88a;flex-basis:100%;padding-left:12px;font-size:11px}.sight-row:has(.first-label){flex-wrap:wrap}.district-ending{background:#eee0bd;border:1px solid #b9a27a;margin-bottom:22px;padding:20px}.pinned-sheets{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.pinned-sheets figure{margin:0;transform:rotate(-1deg)}.pinned-sheets figure:nth-child(2){transform:rotate(1deg)}.pinned-sheets svg{width:100%;box-shadow:0 3px 8px #51493d44}.pinned-sheets figcaption{font-size:11px;line-height:1.5}@media (max-width:700px){.pinned-sheets{grid-template-columns:1fr}}
