*{margin:0;box-sizing:border-box}[hidden]{display:none!important}:root{--slate: #22303c;--slate-soft: #35485a;--ink: #2b3a47;--ember: #b8552f;--ember-deep: #7a2f14;--parchment: #f4ede2;--parchment-warm: #efe5d4;--paper: #fbf7ef;--settled: #7d6f60;--line: rgba(43, 58, 71, .18);--panel-w: 400px;--topbar-h: 48px}html,body,#app{height:100%;overflow:hidden}body{font-family:Georgia,Times New Roman,serif;background:var(--slate);color:var(--ink);font-size:15px}button{font:inherit;cursor:pointer}input,textarea{font:inherit}button.primary,button.danger{background:var(--ember);color:var(--parchment);border:none;border-radius:6px;padding:7px 14px}button.danger{background:var(--ember-deep)}button.primary:disabled{opacity:.45;cursor:default}button.quiet{background:transparent;color:inherit;border:1px solid var(--line);border-radius:6px;padding:6px 12px}button.quiet:hover{border-color:#2b3a4766}button.linklike{background:none;border:none;padding:0;color:var(--ember);text-decoration:underline}.attention{border-color:var(--ember)!important;color:var(--ember)}.landing{height:100%;overflow-y:auto;padding:40px 16px 60px;background:var(--slate);color:var(--parchment);display:flex;flex-direction:column;align-items:center;gap:18px}.landing h1{font-size:42px;letter-spacing:.04em}.tagline{opacity:.75;font-style:italic;text-align:center}.landing-notice,.landing-error{max-width:420px;text-align:center;padding:10px 14px;border-radius:8px}.landing-notice{background:#f4ede21f}.landing-error{background:#b8552f40}.landing-card{width:min(420px,100%);background:var(--paper);color:var(--ink);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:10px}.landing-card h2{font-size:19px}.landing-card form{display:flex;flex-direction:column;gap:10px}.landing-card input[type=text],.landing-card input:not([type]),.landing-card input[type=file]{width:100%}.landing-card input:not([type=file]):not([type=checkbox]){padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#fff}.map-pick{font-size:14px;display:flex;flex-direction:column;gap:6px;color:var(--settled)}.card-hint{font-size:13px;color:var(--settled)}.example-invite{font-size:14px;color:var(--settled)}.table-list{list-style:none;display:flex;flex-direction:column;gap:6px}.table-row{display:flex;gap:8px;align-items:center}.table-open{flex:1;text-align:left;background:var(--parchment-warm);border:1px solid var(--line);border-radius:6px;padding:10px 12px}.table-leave{flex:0 0 auto;padding:6px 10px}.boot-veil{height:100%;display:grid;place-items:center;color:var(--parchment);font-size:24px}.table-view{position:relative;height:100%;overflow:hidden}.topbar{position:absolute;top:0;left:0;right:0;height:var(--topbar-h);z-index:30;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px;background:color-mix(in srgb,var(--slate) 88%,transparent);color:var(--parchment);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.topbar .quiet{color:var(--parchment);border-color:#f4ede24d}.topbar-title{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.topbar-acts{display:flex;gap:6px;flex:0 0 auto}.topbar-acts .quiet{font-size:13px;padding:5px 9px}.help-btn{width:30px}.map-host{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;cursor:grab;background:var(--slate)}.map-host:active{cursor:grabbing}.map-host.placing{cursor:crosshair}svg.map{width:100%;height:100%;display:block}.pin{cursor:pointer}.pin-halo{fill:var(--ember);opacity:.18}.pin-dot{fill:var(--ember);stroke:var(--parchment);stroke-width:2.5}.pin.selected .pin-dot{fill:var(--ember-deep)}.pin.selected .pin-halo{opacity:.3}.pin.fresh .pin-halo{opacity:.34;animation:pin-breathe 2.8s ease-in-out infinite}@keyframes pin-breathe{0%,to{opacity:.34}50%{opacity:.12}}.pin.settled .pin-dot{fill:var(--settled)}.pin.settled .pin-halo{fill:var(--settled);opacity:.1}.pin.settled.selected .pin-dot{fill:#574c40}.pin-jack{fill:#f4ede2d9;stroke:var(--ember);stroke-width:1.8}.pin.settled .pin-jack{stroke:var(--settled)}.pin-count{fill:var(--parchment);font-size:11px;font-weight:700;text-anchor:middle;pointer-events:none}.pin-scrawl{fill:var(--ink);font-size:13px;pointer-events:none}.pin-sealed{fill:var(--settled);font-size:12px;text-anchor:middle;pointer-events:none}.pin-label{fill:var(--parchment);paint-order:stroke;stroke:#22303cbf;stroke-width:3px;font-size:13px;text-anchor:middle;pointer-events:none}.pin.ghost .pin-dot{fill:transparent;stroke:var(--parchment);stroke-dasharray:3 3}.pin.staged .pin-dot{fill:#35485acc;stroke:#9db2c7;stroke-dasharray:3 3}.pin-staged-tag{fill:#9db2c7;font-size:10px;letter-spacing:.08em;text-anchor:middle;pointer-events:none}.place-btn{position:absolute;left:12px;bottom:64px;z-index:20;background:var(--ember);color:var(--parchment);border:none;border-radius:20px;padding:10px 16px;box-shadow:0 2px 10px #00000059}.place-btn.active{background:var(--slate-soft)}.placebar{position:absolute;top:calc(var(--topbar-h) + 10px);left:50%;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:10px;background:var(--paper);border-radius:20px;padding:8px 14px;box-shadow:0 2px 10px #0000004d;max-width:94vw}.placebar-dot{width:9px;height:9px;border-radius:50%;background:var(--ember);animation:pin-breathe 1.6s ease-in-out infinite}.map-hint{position:absolute;top:calc(var(--topbar-h) + 10px);left:50%;transform:translate(-50%);z-index:15;background:color-mix(in srgb,var(--paper) 92%,transparent);border-radius:16px;padding:8px 14px;font-size:14px;color:var(--settled);max-width:90vw;text-align:center}.side-panel{position:absolute;left:0;right:0;bottom:0;z-index:25;background:var(--paper);border-radius:14px 14px 0 0;box-shadow:0 -4px 22px #00000059;display:none;flex-direction:column;height:55%}.table-view.sheet-open .side-panel{display:flex}.table-view.sheet-full .side-panel{height:calc(100% - var(--topbar-h) - 6px)}.sheet-grip{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:6px 10px 0}.sheet-toggle{flex:1;background:none;border:none;padding:6px 0;display:flex;justify-content:center}.grip-bar{width:44px;height:5px;border-radius:3px;background:var(--line)}.sheet-close{font-size:13px;padding:4px 10px;flex:0 0 auto}.panel-body{flex:1;overflow-y:auto;padding:6px 16px 40px}.panel-body h2{font-size:21px;margin:8px 0 4px}.panel-section{margin-top:18px;display:flex;flex-direction:column;gap:8px}.panel-section h3{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--settled)}.panel-foot{flex-direction:row;gap:8px;margin-top:26px}.member-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px}.row-acts{display:flex;gap:6px}.seat-line{color:var(--settled)}.pending-hint{background:var(--parchment-warm);border-left:3px solid var(--ember);padding:8px 10px;font-size:13px;margin-top:8px}.code-row{display:flex;align-items:center;gap:10px}.code-row code{font-size:19px;letter-spacing:.14em;background:var(--parchment-warm);padding:4px 10px;border-radius:6px}.attention-section{border-left:3px solid var(--ember);padding-left:10px}.recent-row{display:grid;grid-template-columns:34px 1fr;gap:2px 10px;text-align:left;background:none;border:none;border-bottom:1px solid var(--line);padding:8px 0;width:100%}.recent-session{color:var(--settled);font-size:13px;grid-row:span 2;align-self:start;padding-top:2px}.recent-place{font-weight:700}.recent-canon{color:var(--settled);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-line{color:var(--settled);font-size:13px;margin-bottom:6px}.staged-hint,.ghost-hint{font-size:13px;color:var(--slate-soft);font-style:italic;margin:6px 0}.staged-tools,.ghost-tools{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.event{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.event h3{font-size:13px;letter-spacing:.05em;color:var(--settled);display:flex;align-items:center;gap:8px}.event.fresh h3{color:var(--ember)}.now-tag{font-size:11px;background:var(--ember);color:var(--parchment);border-radius:8px;padding:1px 7px}.slot-jacks{display:inline-flex;gap:4px;margin-left:auto}.jack{width:8px;height:8px;border-radius:50%;border:1.6px solid var(--ember);background:transparent}.jack.told{background:var(--ember)}.event-canon{font-size:17px;margin-top:6px}.event-atmosphere{color:var(--slate-soft);font-style:italic;font-size:14px;margin-top:4px}.testimony{margin:10px 0 0 12px;padding-left:10px;border-left:2px solid var(--line);font-size:14px}.testimony-author{display:block;font-size:12px;letter-spacing:.05em;color:var(--settled);margin-bottom:2px}.missing-voices{margin:10px 0 0 12px;padding-left:10px;font-size:13px;color:var(--settled);font-style:italic}.your-account{display:flex;flex-direction:column;gap:8px;margin-top:4px}.your-account textarea{width:100%;min-height:74px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;resize:vertical}.account-acts{display:flex;align-items:center;gap:10px}.grace-hint{font-size:12px;color:var(--settled)}.closed-caption{font-size:12px;color:var(--settled);font-style:italic}.pin-desc{color:var(--slate-soft);font-style:italic;font-size:14px;margin:4px 0 8px}.sealed-notice{background:var(--parchment-warm);border:1px dashed var(--line);border-radius:6px;padding:8px 12px;font-size:13px;color:var(--settled);margin:6px 0}.pin-tools{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}.desc-editor{display:flex;flex-direction:column;gap:8px;margin:6px 0}.desc-editor textarea{width:100%;min-height:74px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;resize:vertical}.mark-caption{font-size:13px;color:var(--slate-soft)}.mark-open{font-size:13px;align-self:flex-start}.mark-picker{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.picker-hint{font-size:13px;color:var(--settled)}.mark-line{background:var(--parchment-warm);border:1px dashed var(--line);border-radius:6px;padding:6px 10px;text-align:left;font-style:italic}.marks-found{margin-top:18px;padding-top:10px;border-top:1px solid var(--line)}.mark{font-style:italic;color:var(--slate-soft);font-size:14px;padding:3px 0}.add-event{margin-top:20px;padding-top:12px;border-top:2px solid var(--line);display:flex;flex-direction:column;gap:10px}.canon-form{display:flex;flex-direction:column;gap:8px}.canon-form h3{font-size:14px;color:var(--ink);text-transform:none;letter-spacing:0}.canon-form input,.canon-form textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff}.canon-form textarea{min-height:56px;resize:vertical}.canon-form button{align-self:flex-start}.participant-picker{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;align-items:center}.picker-label{color:var(--settled);font-size:12px;letter-spacing:.05em;text-transform:uppercase;width:100%}.participant{display:inline-flex;align-items:center;gap:5px}.panel-hint{color:var(--settled);font-style:italic;margin-top:12px}.bounty{background:var(--parchment-warm);border:1px solid var(--line);border-radius:4px;padding:10px 12px;display:flex;flex-direction:column;gap:5px}.bounty h3{font-size:16px;text-transform:none;letter-spacing:0;color:var(--ink)}.bounty.struck h3,.bounty.struck p{text-decoration:line-through;color:var(--settled)}.bounty-byline{font-size:12px;color:var(--settled)}.bounty-acts{display:flex;gap:8px;margin-top:4px}.bounty-hint{font-size:12px;color:var(--settled);font-style:italic}.board-empty{color:var(--settled);font-style:italic;margin-top:10px}.bounty-form{display:flex;flex-direction:column;gap:8px;margin-top:20px;padding-top:12px;border-top:2px solid var(--line)}.bounty-form h3{font-size:14px;text-transform:none;letter-spacing:0;color:var(--ink)}.bounty-form input,.bounty-form textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff}.bounty-form textarea{min-height:64px;resize:vertical}.char-count{font-size:12px;color:var(--settled)}.char-count-low{color:var(--ember);font-weight:700}.help-panel ul{padding-left:18px;display:flex;flex-direction:column;gap:9px;font-size:14px;margin-top:10px}.tour-intro{font-size:14px;margin-top:10px}.tour-stops{list-style:none;padding:0;margin-top:14px;display:flex;flex-direction:column;gap:8px}.tour-stop{width:100%;text-align:left;background:var(--parchment-warm);border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:3px}.tour-stop:hover{border-color:#2b3a4766}.tour-stop-name{font-weight:700}.tour-stop-what{font-size:13px;color:var(--settled);font-style:italic}.tour-cta{margin-top:22px;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;align-items:flex-start}.tour-note{background:var(--parchment-warm);border-left:3px solid var(--slate-soft);border-radius:0 8px 8px 0;padding:10px 12px;font-size:13.5px;margin:10px 0 4px;display:flex;flex-direction:column;gap:6px}.tour-note .linklike{align-self:flex-end;font-size:13px}.dialog-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#141c248c;display:grid;place-items:center;padding:16px}.dialog-card{background:var(--paper);border-radius:10px;padding:18px;width:min(420px,100%);display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 40px #0006}.dialog-card h3{font-size:16px}.dialog-message{font-size:14px;white-space:pre-line}.dialog-card input{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#fff}.dialog-acts{display:flex;justify-content:flex-end;gap:8px}@media(min-width:900px){.table-view{display:grid;grid-template-columns:1fr var(--panel-w);grid-template-rows:var(--topbar-h) 1fr}.topbar{position:static;grid-column:1 / 3;background:var(--slate)}.topbar-title{font-size:16px}.map-host{position:relative;inset:auto;grid-column:1;grid-row:2;height:100%}.side-panel{position:static;display:flex!important;grid-column:2;grid-row:2;height:auto;min-height:0;overflow:hidden;border-radius:0;border-left:1px solid rgba(0,0,0,.25);box-shadow:none}.sheet-grip{justify-content:flex-end}.sheet-toggle{display:none}.panel-body{padding:10px 20px 40px}.place-btn{bottom:20px}.placebar,.map-hint{left:calc((100% - var(--panel-w)) / 2);max-width:50%}.landing{justify-content:center}.landing-card{width:440px}}
