@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/cormorant-garamond-latin-300-normal-Cw-E_7L1.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-300-normal-BuXLI6C0.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-latin-700-normal-DajfzrDU.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-700-normal-O25Qpphb.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-400-italic-BLh7T8o8.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-italic-DCuhXWyK.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-600-italic-BcJbkSJ4.woff) format("woff")}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-400-normal-BCNrxLz_.woff2) format("woff2"),url(/assets/eb-garamond-latin-400-normal-maQnHeKB.woff) format("woff")}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-latin-500-normal-DehAIUv0.woff2) format("woff2"),url(/assets/eb-garamond-latin-500-normal-DZU8xF9o.woff) format("woff")}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/eb-garamond-latin-600-normal-DHwxsLHv.woff2) format("woff2"),url(/assets/eb-garamond-latin-600-normal-xCe6GkOx.woff) format("woff")}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/eb-garamond-latin-700-normal-D7LhwqnD.woff2) format("woff2"),url(/assets/eb-garamond-latin-700-normal-DcHu0PDI.woff) format("woff")}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-400-italic-DSEbMgZu.woff2) format("woff2"),url(/assets/eb-garamond-latin-400-italic-CDFyLPXJ.woff) format("woff")}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/eb-garamond-latin-600-italic-M3_Pd09c.woff2) format("woff2"),url(/assets/eb-garamond-latin-600-italic-CIBOInoq.woff) format("woff")}@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/libre-baskerville-latin-400-normal-C42RasBZ.woff2) format("woff2"),url(/assets/libre-baskerville-latin-400-normal-BTm3cn9P.woff) format("woff")}@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/libre-baskerville-latin-700-normal-CLGq6Yj4.woff2) format("woff2"),url(/assets/libre-baskerville-latin-700-normal-D1DCMXWx.woff) format("woff")}@font-face{font-family:Libre Baskerville;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/libre-baskerville-latin-400-italic-Dx5Rrf3o.woff2) format("woff2"),url(/assets/libre-baskerville-latin-400-italic-DvfstiAl.woff) format("woff")}@font-face{font-family:Crimson Pro;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/crimson-pro-latin-300-normal-BdPotd8_.woff2) format("woff2"),url(/assets/crimson-pro-latin-300-normal-Ilu4iuVU.woff) format("woff")}@font-face{font-family:Crimson Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/crimson-pro-latin-400-normal-B4SlG4wx.woff2) format("woff2"),url(/assets/crimson-pro-latin-400-normal-BzhyrSeK.woff) format("woff")}@font-face{font-family:Crimson Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/crimson-pro-latin-600-normal-vJ8oEdKU.woff2) format("woff2"),url(/assets/crimson-pro-latin-600-normal-Ca4fy0Cf.woff) format("woff")}@font-face{font-family:Crimson Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/crimson-pro-latin-700-normal-BfTu9YAt.woff2) format("woff2"),url(/assets/crimson-pro-latin-700-normal-CnzwvVon.woff) format("woff")}@font-face{font-family:Crimson Pro;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/crimson-pro-latin-400-italic-BJbyz_Tg.woff2) format("woff2"),url(/assets/crimson-pro-latin-400-italic-iL-nM4zC.woff) format("woff")}@font-face{font-family:Crimson Pro;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/crimson-pro-latin-600-italic-BakNTb1A.woff2) format("woff2"),url(/assets/crimson-pro-latin-600-italic-zVy8ft4A.woff) format("woff")}@font-face{font-family:Cardo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cardo-latin-400-normal-CFoX0N4J.woff2) format("woff2"),url(/assets/cardo-latin-400-normal-DBrrJcp6.woff) format("woff")}@font-face{font-family:Cardo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cardo-latin-700-normal-C0AJnwFQ.woff2) format("woff2"),url(/assets/cardo-latin-700-normal-lRoFMtMe.woff) format("woff")}@font-face{font-family:Cardo;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cardo-latin-400-italic-DS-zTz6l.woff2) format("woff2"),url(/assets/cardo-latin-400-italic-4xrlgVMP.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-latin-400-normal-DnxXpLNu.woff2) format("woff2"),url(/assets/lora-latin-400-normal-DBJS-Hc6.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lora-latin-500-normal-Dh16O2IA.woff2) format("woff2"),url(/assets/lora-latin-500-normal-Dbc_1yrl.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/lora-latin-600-normal-B-3RcLOQ.woff2) format("woff2"),url(/assets/lora-latin-600-normal-Dc3EneHn.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-latin-700-normal-BHK4Pzk4.woff2) format("woff2"),url(/assets/lora-latin-700-normal-Yfa97ytg.woff) format("woff")}@font-face{font-family:Lora;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/lora-latin-400-italic-DYjZp4sZ.woff2) format("woff2"),url(/assets/lora-latin-400-italic-wRLkZNVE.woff) format("woff")}@font-face{font-family:Lora;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/lora-latin-600-italic-DAEba4jb.woff2) format("woff2"),url(/assets/lora-latin-600-italic-qgPYrSqo.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playfair-display-latin-400-normal-CFtfchNt.woff2) format("woff2"),url(/assets/playfair-display-latin-400-normal-DHYHbkg3.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/playfair-display-latin-500-normal-DIxvyhka.woff2) format("woff2"),url(/assets/playfair-display-latin-500-normal-BScSeVwi.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/playfair-display-latin-600-normal-CZLGqjJe.woff2) format("woff2"),url(/assets/playfair-display-latin-600-normal-CxxueQ0Z.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-700-normal-CuDiGg7c.woff2) format("woff2"),url(/assets/playfair-display-latin-700-normal-Bc_1Q1cG.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/playfair-display-latin-400-italic-LeeEXsx5.woff2) format("woff2"),url(/assets/playfair-display-latin-400-italic-hIeePEuE.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/playfair-display-latin-600-italic-Bvp5b4iR.woff2) format("woff2"),url(/assets/playfair-display-latin-600-italic-BFV_U8S6.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-latin-300-normal-BVlfKGgI.woff2) format("woff2"),url(/assets/inter-latin-300-normal-i8F0SvXL.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}@font-face{font-family:Inter;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-italic-D1l0FflY.woff2) format("woff2"),url(/assets/inter-latin-400-italic-BmFrN47l.woff) format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/open-sans-latin-300-normal-D5gIFPXQ.woff2) format("woff2"),url(/assets/open-sans-latin-300-normal-BKswzCSr.woff) format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/open-sans-latin-400-normal-Bk63H6sG.woff2) format("woff2"),url(/assets/open-sans-latin-400-normal-DKniycaP.woff) format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/open-sans-latin-600-normal-Cp4N6AwT.woff2) format("woff2"),url(/assets/open-sans-latin-600-normal-C3dWW5mx.woff) format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/open-sans-latin-700-normal-CceUhp2e.woff2) format("woff2"),url(/assets/open-sans-latin-700-normal-CZCQA30i.woff) format("woff")}@font-face{font-family:Open Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/open-sans-latin-400-italic-oaOkCnEp.woff2) format("woff2"),url(/assets/open-sans-latin-400-italic-BEURUQpT.woff) format("woff")}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/lato-latin-300-normal-BP2wSCML.woff2) format("woff2"),url(/assets/lato-latin-300-normal-CINZtfFB.woff) format("woff")}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lato-latin-400-normal-BEhtfm5r.woff2) format("woff2"),url(/assets/lato-latin-400-normal-B11PyLys.woff) format("woff")}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lato-latin-700-normal-BUGMgin4.woff2) format("woff2"),url(/assets/lato-latin-700-normal-DAdL7O4w.woff) format("woff")}@font-face{font-family:Lato;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/lato-latin-400-italic-Dc0B1559.woff2) format("woff2"),url(/assets/lato-latin-400-italic-DL5fBv-7.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/montserrat-latin-300-normal-BgP24wlQ.woff2) format("woff2"),url(/assets/montserrat-latin-300-normal-sTRdVzlf.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2) format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-500-normal-DRFEGfly.woff2) format("woff2"),url(/assets/montserrat-latin-500-normal-Dok2oTci.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2) format("woff2"),url(/assets/montserrat-latin-600-normal-CdhFl4lI.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2) format("woff2"),url(/assets/montserrat-latin-700-normal-BWkrl476.woff) format("woff")}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-italic-CnlIvBC9.woff2) format("woff2"),url(/assets/montserrat-latin-400-italic-a0UhtteB.woff) format("woff")}@font-face{font-family:Great Vibes;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/great-vibes-latin-400-normal-q5-78SH_.woff2) format("woff2"),url(/assets/great-vibes-latin-400-normal-BAZ173uY.woff) format("woff")}@font-face{font-family:Pinyon Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pinyon-script-latin-400-normal-HCoaxbyT.woff2) format("woff2"),url(/assets/pinyon-script-latin-400-normal-3W0BoeAr.woff) format("woff")}:root{color-scheme:light;--bg: #f9f6ea;--surface: #fdfbf8;--surface-2: #f3efe2;--border: #ebe5d5;--border-strong: #d6ccb2;--text: #343434;--text-dim: #5d5b56;--text-faint: #77736b;--accent: #618771;--accent-hover: #557866;--accent-strong: #4d6d5b;--accent-text: #fdfbf8;--accent-track: #9bbaa1;--accent-soft: #e6eee7;--accent-softer: #f0f5f1;--sand: #dbd1b9;--sand-hover: #d0c4a6;--sand-text: #343434;--warn: #8a5a2b;--warn-soft: #f6ecd9;--danger: #af5a4b;--danger-hover: #9b4f42;--danger-text: #8f4538;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 2px rgba(34, 31, 27, .06), 0 4px 12px rgba(34, 31, 27, .05);--serif: "Cormorant Garamond", Georgia, serif;--sans: "Inter", -apple-system, "Segoe UI", sans-serif;--topbar-h: 58px;--power3-out: cubic-bezier(.165, .84, .44, 1);--slot-ms: .32s;--panel-gutter: 13px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:500;letter-spacing:-.01em}h1{font-family:var(--serif);font-size:2rem;letter-spacing:0}h2{font-size:1.05rem}h3{font-size:.9rem;color:var(--text-dim);font-weight:600;letter-spacing:.04em;text-transform:uppercase}a{color:inherit}.app{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:16px;height:var(--topbar-h);flex:0 0 auto;padding:0 20px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:20}.topbar .brand{font-family:var(--serif);font-size:1.25rem;text-decoration:none;letter-spacing:.01em}.topbar .spacer{flex:1}.topbar .signed-in{display:flex;align-items:center;gap:10px}.topbar .station{font-size:.78rem;color:var(--text-faint);text-align:right;line-height:1.35}.page{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:28px 20px 64px}.page-head{display:flex;align-items:flex-end;gap:20px;margin-bottom:24px;flex-wrap:wrap}.editor-page .page-head{align-items:center;margin-bottom:14px}.editor-page .page-head h1{font-size:1.5rem;margin-top:0!important}.page-head .spacer{flex:1}.editor-page .undo-buttons{margin-right:var(--panel-gutter)}.editor-page .save-state{min-width:7.5em;text-align:right;margin-right:-8px}.subtle{color:var(--text-dim);font-size:.88rem}.faint{color:var(--text-faint);font-size:.8rem}:where(button){font:inherit;font-size:.9rem;font-weight:600;padding:10px 18px;border-radius:7px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);cursor:pointer;transition:background .12s,border-color .12s,color .12s,opacity .12s}:where(button):where(:hover:not(:disabled)){background:var(--accent-hover);border-color:var(--accent-hover)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.ghost{border-color:transparent;background:transparent;color:var(--accent-strong)}button.ghost:hover:not(:disabled){background:var(--accent-soft);border-color:transparent;color:var(--accent-strong)}button.danger{background:var(--danger);border-color:var(--danger);color:var(--accent-text)}button.danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}button.toggle,button.chip{background:var(--sand);border-color:var(--sand);color:var(--sand-text)}button.toggle:hover:not(:disabled),button.chip:hover:not(:disabled){background:var(--sand-hover);border-color:var(--sand-hover)}button.toggle.selected,button.toggle.selected:hover:not(:disabled),button.chip.selected,button.chip.selected:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.small{padding:7px 13px;font-size:.8rem}input,select,textarea{font:inherit;font-size:.9rem;width:100%;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg);color:var(--text)}select{background-color:var(--sand);border-color:var(--sand);color:var(--sand-text);cursor:pointer}select:hover:not(:disabled){background-color:var(--sand-hover);border-color:var(--sand-hover)}select option{background:var(--surface);color:var(--text)}@supports (appearance: base-select){select,::picker(select){-webkit-appearance:base-select;-moz-appearance:base-select;appearance:base-select}select{display:flex;align-items:center;gap:8px}select::picker-icon{color:var(--text-dim);transition:rotate .15s var(--power3-out)}select:open::picker-icon{rotate:180deg}select:open{border-bottom-left-radius:0;border-bottom-right-radius:0}::picker(select){margin:0;padding:4px;border:1px solid var(--border-strong);border-top:none;border-radius:0 0 8px 8px;background:var(--surface);color:var(--text);box-shadow:0 10px 24px #34343424}select option{padding:8px 10px;border-radius:5px;background:transparent;cursor:pointer}select option:hover,select option:focus-visible{background:var(--sand);outline:none}select option:checked{font-weight:600}select option::checkmark{color:var(--accent)}}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}input[type=range]{--fill: 0%;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:20px;padding:0;border:none;background:transparent;cursor:pointer}input[type=range]:disabled{opacity:.45;cursor:not-allowed}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:linear-gradient(to right,var(--accent) 0,var(--accent) var(--fill),var(--accent-track) var(--fill),var(--accent-track) 100%)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;margin-top:-5px;border-radius:50%;background:var(--accent);border:none;transition:transform .1s}input[type=range]:hover:not(:disabled)::-webkit-slider-thumb{transform:scale(1.12)}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--accent-soft)}input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:var(--accent-track)}input[type=range]::-moz-range-progress{height:8px;border-radius:999px;background:var(--accent)}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);border:none}input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--accent-soft)}label.field,div.field{display:block;margin-bottom:14px}label.field>span,div.field>span{display:block;font-size:.78rem;font-weight:500;color:var(--text-dim);margin-bottom:5px}.service-time-inputs{display:flex;align-items:center;gap:6px}.service-time-inputs input{flex:1 1 auto;min-width:0}.service-time-inputs select{width:auto;flex:0 0 auto}.row{display:flex;gap:12px;align-items:center}.row.wrap{flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.card+.card{margin-top:18px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.project-card{display:block;text-align:left;width:100%;padding:16px 18px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;box-shadow:var(--shadow)}.project-card:hover:not(:disabled){border-color:var(--accent-track);background:var(--surface)}.project-card .name{font-family:var(--serif);font-size:1.3rem;margin-bottom:2px}.empty{text-align:center;padding:56px 20px;color:var(--text-dim);border:1px dashed var(--border-strong);border-radius:var(--radius)}.notice{padding:11px 14px;border-radius:var(--radius-sm);font-size:.86rem;border:1px solid var(--accent-track);background:var(--accent-soft);margin-bottom:14px}.notice.warn{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.notice.error{background:#f8e7e3;border-color:var(--danger);color:var(--danger-text)}.notice .actions,.fit-bar .actions{margin-top:9px;display:flex;gap:8px;flex-wrap:wrap}.confirm-message{white-space:pre-line;line-height:1.5}.modal-panel>.actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius);padding:34px 20px;text-align:center;color:var(--text-dim);cursor:pointer;background:var(--surface)}.dropzone.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.media-tile{position:relative;aspect-ratio:4 / 3;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2);border:1px solid var(--border)}.media-tile img{width:100%;height:100%;object-fit:cover;display:block}.media-tile .badge{position:absolute;left:5px;top:5px;font-size:.68rem;padding:2px 6px;border-radius:4px;background:#000000a8;color:#fff}.media-tile .remove{position:absolute;right:4px;top:4px;padding:2px 7px;font-size:.75rem;background:var(--danger);color:var(--accent-text);border:none;border-radius:7px;opacity:0}.media-tile:hover .remove{opacity:1}button.media-tile.add{padding:0;cursor:pointer;border-color:var(--border-strong);color:var(--text-dim)}button.media-tile.add:hover{background:var(--accent-softer);border-color:var(--accent);color:var(--accent-strong)}.media-tile .add-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000008c;color:#fff;font-size:.82rem;font-weight:500;opacity:0;transition:opacity .12s}.media-tile.add:hover .add-hint,.media-tile.add:focus-visible .add-hint{opacity:1}.media-tile.audio{display:flex;align-items:center;justify-content:center;padding:10px;font-size:.76rem;text-align:center;color:var(--text-dim);word-break:break-word}.editor{display:grid;--selected-w: clamp(290px, 20vw, 340px);grid-template-columns:var(--selected-w) minmax(0,1fr) clamp(370px,27vw,470px);gap:20px;align-items:start}@media(max-width:1000px){.editor{grid-template-columns:minmax(0,1fr)}}.stage-fit{flex:1 1 auto;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;container-type:size}.stage{position:relative;isolation:isolate;background:#000;border-radius:var(--radius);overflow:hidden;aspect-ratio:16 / 9;width:min(100%,calc(100cqh * 16 / 9));display:flex;align-items:center;justify-content:center}.stage canvas{width:100%;height:100%;display:block}.transport{display:flex;align-items:center;gap:12px;margin-top:12px}.transport .scrub{flex:1}.timecode{font-variant-numeric:tabular-nums;font-size:.82rem;color:var(--text-dim);min-width:96px}.filmstrip{display:flex;gap:6px;overflow-x:auto;padding:10px 2px}.film-slide{flex:0 0 auto;width:136px;border-radius:var(--radius-sm);border:2px solid transparent;background:var(--surface-2);padding:0;overflow:hidden;cursor:pointer;position:relative}.film-slide.selected{border-color:var(--accent)}.film-slide img{width:100%;height:76px;object-fit:cover;display:block}.film-slide .title-chip{height:76px;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:.85rem;color:var(--text-dim)}.film-slide .meta{display:flex;justify-content:space-between;align-items:center;padding:3px 5px;font-size:.68rem;color:var(--text-dim);font-variant-numeric:tabular-nums}.inspector h3{margin-bottom:10px}.inspector .section+.section{margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.fit-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 14px;border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--border);margin-bottom:14px;font-size:.86rem}.fit-bar.warn{background:var(--warn-soft);border-color:var(--warn)}.fit-bar strong{font-variant-numeric:tabular-nums}.progress{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;border:1px solid var(--border)}.progress>div{height:100%;background:var(--accent);transition:width .2s}.tag{display:inline-block;font-size:.7rem;padding:1px 7px;border-radius:999px;background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border)}.spin{display:inline-block;width:13px;height:13px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.collage-overlay,.graphics-overlay,.text-overlay{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;pointer-events:none}.collage-overlay{z-index:1}.graphics-overlay,.text-overlay{z-index:auto}.collage-cell,.collage-handle,.graphic-box,.text-box,.box-handle{pointer-events:auto}.collage-cell{position:absolute;border:1.5px solid transparent;border-radius:4px;cursor:grab;transition:border-color .1s,background .1s}.collage-cell:hover{border-color:#fff9;background:#ffffff0f}.collage-cell.selected{border-color:var(--accent);box-shadow:0 0 0 1px #00000080}.collage-cell.dragging{cursor:grabbing;opacity:.45;border-color:var(--accent)}.collage-cell.swap-target{border-color:var(--accent);background:#8fa58459}.collage-index{position:absolute;left:3px;top:3px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#0000009e;color:#fff;font-size:.66rem;line-height:17px;text-align:center;pointer-events:none}.collage-handle{position:absolute;right:-6px;bottom:-6px;width:13px;height:13px;border-radius:3px;background:var(--accent);border:2px solid #fff;cursor:nwse-resize}.preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:7px}button.preset{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 4px 6px;font-size:.72rem;background:var(--surface);border-color:var(--border-strong);color:var(--text-dim);line-height:1.2}button.preset:hover:not(:disabled){background:var(--surface-2);border-color:var(--accent-track)}button.preset.selected,button.preset.selected:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.preset-glyph{width:34px;height:34px}.preset-glyph rect{fill:var(--text-dim)}button.preset.selected .preset-glyph rect{fill:var(--accent)}.cell-list{display:flex;flex-direction:column;gap:3px;max-height:260px;overflow-y:auto}.cell-row{display:flex;align-items:center;gap:7px;padding:3px 5px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer}.cell-row:hover{background:var(--surface-2)}.cell-row.selected{border-color:var(--accent);background:var(--accent-soft)}.cell-row img{width:38px;height:28px;object-fit:cover;border-radius:3px;flex:0 0 auto}.cell-name{flex:1;min-width:0;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-row button{flex:0 0 auto;padding:4px 9px}.film-slide.multi{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent-soft)}.film-slide .collage-chip{position:absolute;right:3px;top:3px;padding:1px 5px;border-radius:8px;background:#000000a8;color:#fff;font-size:.62rem}.selection-slot{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--slot-ms) var(--power3-out)}.selection-slot.open{grid-template-rows:1fr}.selection-slot>.selection-slot-inner{min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s linear var(--slot-ms)}.selection-slot.open>.selection-slot-inner{visibility:visible;transition-delay:0s}.selection-slot .selection-bar{transform:translateY(-10px);opacity:0;transition:transform var(--slot-ms) var(--power3-out),opacity .18s ease-out}.selection-slot.open .selection-bar{transform:none;opacity:1}@media(prefers-reduced-motion:reduce){.selection-slot,.selection-slot>.selection-slot-inner,.selection-slot .selection-bar{transition:none}}.selection-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 13px;margin-bottom:10px;border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--accent);font-size:.85rem}.media-tile.picked{border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--accent)}.media-tile .tick{position:absolute;right:4px;top:4px;width:19px;height:19px;border-radius:50%;background:var(--accent);color:var(--accent-text);font-size:.7rem;line-height:19px;text-align:center;pointer-events:none}.editor-page{flex:0 0 auto;height:calc(100dvh - var(--topbar-h));display:flex;flex-direction:column;overflow:hidden;max-width:none;padding:18px 24px}.editor-page .editor{flex:1 1 auto;min-height:0;align-items:stretch}.stage-column{min-width:0;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.preview-pane{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.inspector-column{display:flex;flex-direction:column;min-height:0}.inspector-tabs{display:flex;flex:0 0 auto;margin-right:var(--panel-gutter)}.inspector-tabs button{flex:1 1 0;min-width:0;padding:11px 6px;border-radius:0;white-space:nowrap}.inspector-tabs button+button{box-shadow:inset 1px 0 #34343414}.inspector-tabs button.selected+button,.inspector-tabs button+button.selected{box-shadow:none}.inspector-tabs button.toggle.selected,.inspector-tabs button.toggle.selected:hover:not(:disabled){background:var(--surface);border-color:var(--border);border-bottom-color:var(--surface);color:var(--text)}.inspector-tabs button:first-child{border-top-left-radius:var(--radius)}.inspector-tabs button:last-child{border-top-right-radius:var(--radius)}.inspector-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:4px}.inspector-body>.card{margin-top:0}.inspector-body>.card:first-child{border-top-left-radius:0;border-top-right-radius:0;border-top:none}.inspector-body::-webkit-scrollbar,.cell-list::-webkit-scrollbar,.history-list::-webkit-scrollbar{width:9px}.inspector-body::-webkit-scrollbar-thumb,.cell-list::-webkit-scrollbar-thumb,.history-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px}.inspector-body::-webkit-scrollbar-track,.cell-list::-webkit-scrollbar-track,.history-list::-webkit-scrollbar-track{background:transparent}@media(max-width:1000px){.editor-page{height:auto;display:block;overflow:visible}.stage-column{display:block;overflow:visible}.stage-fit{container-type:normal;display:block}.stage{width:100%}.inspector-body{overflow:visible}}.history-list{display:flex;flex-direction:column;max-height:420px;overflow-y:auto}button.history-row{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:6px 8px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:.8rem;font-weight:400}button.history-row:hover:not(:disabled){background:var(--surface-2);border-color:transparent}button.history-row.current,button.history-row.current:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);font-weight:500}button.history-row.undone{opacity:.45}.history-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--border-strong)}button.history-row.current .history-dot{background:var(--accent)}.history-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-time{flex:0 0 auto;color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:.72rem}.item-list{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}.item-row{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer}.item-row:hover{background:var(--surface-2)}.item-row.selected{border-color:var(--accent);background:var(--accent-soft)}.item-preview{flex:1;min-width:0;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-row button{flex:0 0 auto;padding:4px 9px}.item-editor{padding-top:12px;border-top:1px dashed var(--border)}.item-editor textarea{resize:vertical;min-height:62px;line-height:1.4}.align-group{display:flex;gap:3px}input[type=color].colour-swatch{width:40px;height:28px;padding:2px;flex:0 0 auto;cursor:pointer}details.more{margin-bottom:12px;border-top:1px solid var(--border);padding-top:10px}details.more>summary{cursor:pointer;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px;list-style:none}details.more>summary:before{content:"▸ ";display:inline-block;transition:transform .12s}details.more[open]>summary:before{content:"▾ "}details.more>summary::-webkit-details-marker{display:none}.text-box{position:absolute;border:1px dashed rgba(255,255,255,.45);border-radius:3px;cursor:grab;transition:border-color .1s,background .1s}.text-box:hover{border-color:#ffffffd9;background:#ffffff12}.text-box.selected{border:1.5px solid var(--accent);background:#8fa5841f}.text-box.dragging{cursor:grabbing;border-style:solid}.box-handle{position:absolute;background:var(--accent);border:2px solid #fff;border-radius:3px;box-shadow:0 0 0 1px #00000040}.box-handle.corner{width:13px;height:13px}.box-handle.corner.nw{left:-7px;top:-7px;cursor:nwse-resize}.box-handle.corner.ne{right:-7px;top:-7px;cursor:nesw-resize}.box-handle.corner.sw{left:-7px;bottom:-7px;cursor:nesw-resize}.box-handle.corner.se{right:-7px;bottom:-7px;cursor:nwse-resize}.box-handle.side.e,.box-handle.side.w{top:50%;width:10px;height:22px;margin-top:-11px;cursor:ew-resize}.box-handle.side.e{right:-6px}.box-handle.side.w{left:-6px}.box-handle.side.n,.box-handle.side.s{left:50%;width:22px;height:10px;margin-left:-11px;cursor:ns-resize}.box-handle.side.n{top:-6px}.box-handle.side.s{bottom:-6px}.chip-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}button.chip{padding:5px 12px;border-radius:999px;font-size:.75rem}.graphic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}button.graphic-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;background:var(--surface);border-color:var(--border-strong);color:var(--text-dim);cursor:grab}button.graphic-tile:active{cursor:grabbing}button.graphic-tile:hover:not(:disabled){background:var(--surface);border-color:var(--accent)}button.graphic-tile img{width:100%;height:52px;object-fit:contain;background:var(--surface-2);border-radius:4px;pointer-events:none}.graphic-label{font-size:.68rem;line-height:1.2;color:var(--text-dim);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.graphic-source{position:absolute;right:3px;top:3px;padding:0 5px;border-radius:8px;background:var(--accent);color:var(--accent-text);font-size:.6rem}img.graphic-chip{width:30px;height:24px;object-fit:contain;flex:0 0 auto;background:var(--surface-2);border-radius:3px}.stage.dropping{outline:2px dashed var(--accent);outline-offset:-4px}.graphic-box{position:absolute;border:1px dashed rgba(255,255,255,.45);border-radius:3px;cursor:grab}.graphic-box:hover{border-color:#ffffffd9;background:#ffffff0f}.graphic-box.selected{border:1.5px solid var(--accent)}.graphic-box.dragging{cursor:grabbing;border-style:solid}.snap-guide{position:absolute;pointer-events:none;background:#ff3d9a;box-shadow:0 0 3px #ff3d9acc;z-index:100000}.snap-guide.x{top:0;bottom:0;width:1px;margin-left:-.5px}.snap-guide.y{left:0;right:0;height:1px;margin-top:-.5px}.snap-guide.object{background:#46d3ff;box-shadow:0 0 3px #46d3ffcc}.shortcut-hint{margin:6px 2px 10px;font-size:12px;color:var(--text-faint);line-height:1.9}.shortcut-hint kbd{display:inline-block;min-width:15px;padding:1px 5px;margin:0 1px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:4px;background:var(--surface);color:var(--text-dim);font:inherit;font-size:11px;text-align:center}.film-slide.movable,.arrange-tile.movable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.film-slide.movable:active,.arrange-tile.movable:active{cursor:grabbing}.filmstrip.reordering .film-slide,.arrange-grid.reordering .arrange-tile{transition:transform .18s cubic-bezier(.2,.7,.3,1);will-change:transform}.filmstrip.reordering .film-slide.dragging,.arrange-grid.reordering .arrange-tile.dragging{transition:none}.film-slide.dragging,.arrange-tile.dragging{z-index:5;cursor:grabbing;box-shadow:0 10px 26px #00000073;border-color:var(--accent)}.film-slide.dragging img,.film-slide.dragging .title-chip,.arrange-tile.dragging .arrange-thumb{transform:scale(1.03);transition:transform .12s ease}.arrange{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--bg);display:flex;flex-direction:column}.arrange-head{display:flex;align-items:center;gap:16px;flex:0 0 auto;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--surface)}.arrange-head h2{margin:0;font-family:var(--serif);font-size:1.3rem}.arrange-head p{margin:2px 0 0;font-size:.82rem}.arrange-head .spacer{flex:1}.arrange-selection{flex:0 0 auto}.arrange-selection .selection-bar{margin:14px 24px 0}.arrange-grid{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px;padding:22px 24px 40px;align-content:start}.arrange-tile{position:relative;border:2px solid transparent;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:8px;cursor:pointer;text-align:left}.arrange-tile.selected{border-color:var(--accent)}.arrange-tile.multi{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent-soft)}.arrange-tile.pinned{background:var(--surface-2)}.arrange-thumb{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius-sm);overflow:hidden;background:#000}.arrange-thumb>img{width:100%;height:100%;object-fit:cover;display:block}.arrange-thumb .title-chip{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0 8px;text-align:center;font-family:var(--serif);font-size:.9rem;color:var(--text-dim);background:var(--surface-2)}.arrange-collage{width:100%;height:100%;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:2px}.arrange-collage img{width:100%;height:100%;object-fit:cover;display:block}.arrange-collage img:only-child{grid-column:span 2}.arrange-index{position:absolute;top:6px;left:6px;min-width:20px;padding:1px 6px;border-radius:10px;background:#0000009e;color:#fff;font-size:.72rem;font-variant-numeric:tabular-nums;text-align:center}.arrange-meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:7px;font-size:.78rem}.arrange-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arrange-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;min-height:18px}.arrange-badges .chip{padding:1px 7px;border-radius:9px;background:var(--surface-2);border:1px solid var(--border);font-size:.68rem;color:var(--text-dim)}.arrange-tile.pinned .chip{background:var(--accent-soft)}.crop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;z-index:4}.crop-box{position:absolute;cursor:move;border:1px solid rgba(255,255,255,.9);box-shadow:0 0 0 9999px #0000008c}.crop-handle{position:absolute;width:16px;height:16px;background:var(--surface);border:2px solid rgba(255,255,255,.95);border-radius:3px}.crop-handle.nw{left:-8px;top:-8px;cursor:nwse-resize}.crop-handle.ne{right:-8px;top:-8px;cursor:nesw-resize}.crop-handle.sw{left:-8px;bottom:-8px;cursor:nesw-resize}.crop-handle.se{right:-8px;bottom:-8px;cursor:nwse-resize}.zoom-centre-overlay{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;z-index:4;cursor:crosshair;overflow:hidden}.zoom-centre-view{position:absolute;pointer-events:none;border:1px dashed rgba(255,255,255,.9);box-shadow:0 0 0 9999px #0006;transition:left .12s,top .12s}.zoom-centre-overlay.dragging .zoom-centre-view{transition:none}.zoom-centre-marker{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border:2px solid rgba(255,255,255,.95);border-radius:50%;box-shadow:0 0 0 1px #0009,inset 0 0 0 1px #0009;cursor:grab}.zoom-centre-overlay.dragging .zoom-centre-marker{cursor:grabbing}.zoom-centre-marker:before,.zoom-centre-marker:after{content:"";position:absolute;background:#fffffff2;box-shadow:0 0 0 1px #00000073}.zoom-centre-marker:before{left:50%;top:7px;bottom:7px;width:2px;margin-left:-1px}.zoom-centre-marker:after{top:50%;left:7px;right:7px;height:2px;margin-top:-1px}.zoom-centre-marker:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.admin{max-width:62rem;margin:0 auto;padding:2rem 1.25rem 4rem;display:flex;flex-direction:column;gap:1.5rem}.admin-centre{min-height:100vh;justify-content:center;max-width:22rem}.admin-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.admin-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.admin-card,.admin-signin{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;border:1px solid var(--border);border-radius:10px}.admin-card h2,.admin-signin h1{margin:0;font-size:1.1rem}.admin label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem}.admin input{padding:.5rem .6rem;font:inherit;border-radius:6px}.admin label.admin-check{flex-direction:row;align-items:center;gap:.45rem}.admin label.admin-check input{padding:0}.admin fieldset{display:flex;flex-direction:column;gap:.5rem;border:1px solid var(--border);border-radius:8px;padding:.75rem}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th{text-align:left;font-weight:500;opacity:.6;padding:.4rem .5rem}.admin-table td{padding:.5rem;border-top:1px solid var(--border)}.admin-table tbody tr:hover{background:var(--surface-2)}.admin-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.admin-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.admin-note{margin:0;font-size:.8rem;opacity:.65;line-height:1.5}.admin-error{margin:0;font-size:.85rem;color:var(--danger-text)}.admin-done{margin:0;font-size:.85rem;color:var(--accent-strong)}.admin-warn{color:var(--warn);font-weight:500}.admin-back{align-self:flex-start}.admin-header h1{font-size:1.6rem}.admin-row>input,.admin-row>select{width:auto}.admin-grow{flex:1;min-width:12rem}.admin label.admin-check{white-space:nowrap}.admin label.admin-check input{width:auto}.admin select{padding:.4rem .6rem;font:inherit;font-size:.85rem}.admin-people td{vertical-align:middle}.admin-people tbody tr:hover{background:none}.admin-left td{opacity:.55}.admin-actions{width:1%;text-align:right}.admin-danger{border-color:var(--danger)}.admin-danger h2{color:var(--danger-text)}.admin-danger button.danger:not(:disabled){background:var(--danger);border-color:var(--danger);color:var(--surface)}.admin-invite code{display:block;padding:.75rem;border-radius:6px;background:var(--surface-2);font-size:.85rem;word-break:break-all;-webkit-user-select:all;user-select:all}.admin-invite{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;border:1px solid var(--accent);border-radius:10px}.font-picker{position:relative}.font-picker-current{width:100%;text-align:left;padding:.45rem .6rem;font-size:1rem;border-radius:6px;cursor:pointer;background:var(--sand);border:1px solid var(--sand);color:var(--sand-text)}.font-picker-current:hover:not(:disabled){background:var(--sand-hover);border-color:var(--sand-hover)}.font-picker-current[aria-expanded=true]{border-bottom-left-radius:0;border-bottom-right-radius:0}.font-picker-list{position:absolute;z-index:40;top:100%;left:0;right:0;margin-top:0;max-height:22rem;overflow-y:auto;padding:4px;border:1px solid var(--border-strong);border-top:none;border-radius:0 0 8px 8px;background:var(--surface);box-shadow:0 10px 24px #34343424}.font-picker-kind{margin:0;padding:.5rem .7rem .2rem;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;opacity:.5}.font-picker-option{display:flex;flex-direction:column;gap:.15rem;width:100%;text-align:left;padding:.5rem .7rem;background:none;border:0;border-radius:5px;color:var(--text);cursor:pointer}.font-picker-option.is-current{background:var(--accent-soft)}.font-picker-option:hover,.font-picker-option:focus-visible{background:var(--sand);outline:none}.font-picker-name{font-size:.75rem;opacity:.6}.font-picker-sample{line-height:1.25;color:var(--text)}.portrait-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.portrait-slot{display:flex;gap:14px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.portrait-slot.picking{border-color:var(--accent);background:var(--accent-soft)}.portrait-frame{position:relative;flex:0 0 96px;aspect-ratio:3 / 4;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface);border:1px solid var(--border);font-size:.78rem}.portrait-frame img{width:100%;height:100%;object-fit:cover;display:block}.portrait-frame .badge{position:absolute;left:5px;top:5px;font-size:.68rem;padding:2px 6px;border-radius:4px;background:#000000a8;color:#fff}.portrait-detail{flex:1;min-width:0}.portrait-detail p{margin:4px 0 0;font-size:.8rem}.warn-text{color:var(--warn)}.media-grid.choosing .media-tile{cursor:pointer;padding:0}.media-grid.choosing .media-tile.pickable:hover{border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--accent)}.media-grid.choosing .media-tile.ineligible{opacity:.4;cursor:not-allowed}.media-tile .badge.portrait{background:var(--accent);color:var(--accent-text)}.item-card{position:relative}.item-card .remove{position:absolute;right:8px;top:8px;padding:2px 7px;font-size:.75rem;border-radius:7px;background:var(--danger);border-color:var(--danger);color:var(--accent-text);opacity:0}.item-card:hover .remove,.item-card .remove:focus-visible{opacity:1}.drag-ghost{position:fixed;left:0;top:0;z-index:200;width:104px;height:78px;border-radius:var(--radius-sm);background-size:cover;background-position:center;box-shadow:0 10px 28px #0000006b;border:2px solid var(--accent);pointer-events:none;opacity:0;visibility:hidden;transform:translate3d(-9999px,-9999px,0);transition:opacity .14s ease-out,visibility 0s linear .14s}.drag-ghost.carrying{opacity:1;visibility:visible;transition:opacity .12s ease-out,visibility 0s}.media-tile.draggable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.media-tile.draggable:active{cursor:grabbing}.media-tile.draggable img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.portrait-slot.awaiting{border-style:dashed;border-color:var(--border-strong)}.portrait-slot.over{border-style:solid;border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.portrait-slot{transition:border-color var(--slot-ms) var(--power3-out),background var(--slot-ms) var(--power3-out),transform var(--slot-ms) var(--power3-out)}.portrait-slot.over .portrait-frame{border-color:var(--accent)}@media(prefers-reduced-motion:reduce){.drag-ghost,.portrait-slot{transition:none}}.pixabay-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.pixabay-tile{position:relative;display:flex;flex-direction:column;gap:4px}.pixabay-tile button.graphic-tile{cursor:pointer;padding:4px}.pixabay-tile button.graphic-tile img{height:76px;object-fit:cover}.pixabay-tile.working button.graphic-tile img{opacity:.4}.pixabay-working{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.pixabay-backdrop{font-size:.72rem;padding:2px 6px}.background-picture{display:flex;align-items:center;gap:12px}.background-thumb{flex:0 0 96px;aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2);border:1px solid var(--border);font-size:.72rem}.background-thumb img{width:100%;height:100%;object-fit:cover;display:block}.background-choices{margin-top:10px;max-height:260px;overflow-y:auto;padding:2px}.background-choices button.graphic-tile{cursor:pointer}.background-choices button.graphic-tile img{object-fit:cover}button.graphic-tile.selected{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}dialog.modal{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;border:none;border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:0 24px 64px #34343438;opacity:0;transform:translateY(10px) scale(.985);transition:opacity .22s var(--power3-out),transform .3s var(--power3-out),overlay .22s allow-discrete,display .22s allow-discrete}dialog.modal[open]{opacity:1;transform:none}@starting-style{dialog.modal[open]{opacity:0;transform:translateY(10px) scale(.985)}}dialog.modal::backdrop{background:#34343400;transition:background .22s var(--power3-out),overlay .22s allow-discrete,display .22s allow-discrete}dialog.modal[open]::backdrop{background:#34343452}@starting-style{dialog.modal[open]::backdrop{background:#34343400}}@media(prefers-reduced-motion:reduce){dialog.modal,dialog.modal::backdrop{transition-duration:.01s}}dialog.modal.wide{width:min(640px,calc(100vw - 32px))}.modal-panel{padding:22px 22px 18px}.modal-title{font-family:var(--serif);font-size:1.45rem;font-weight:500;margin-bottom:16px}.place-picker{margin-bottom:14px}.place-picker>span{display:block;font-size:.78rem;font-weight:500;color:var(--text-dim);margin-bottom:5px}.place-picker-control{position:relative;flex:1;min-width:0}.place-picker-current{width:100%;text-align:left;padding:9px 34px 9px 11px;border-radius:var(--radius-sm);background:var(--sand);border:1px solid var(--sand);color:var(--sand-text);font-weight:400;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.place-picker-current:after{content:"";position:absolute;right:13px;top:50%;width:7px;height:7px;margin-top:-5px;border-right:1.5px solid var(--text-dim);border-bottom:1.5px solid var(--text-dim);transform:rotate(45deg);transition:transform .15s var(--power3-out),margin-top .15s var(--power3-out)}.place-picker-current[aria-expanded=true]:after{transform:rotate(-135deg);margin-top:-1px}.place-picker-current:hover:not(:disabled){background:var(--sand-hover);border-color:var(--sand-hover)}.place-picker-current[aria-expanded=true]{border-bottom-left-radius:0;border-bottom-right-radius:0}.place-picker-empty{color:var(--text-dim)}.place-picker-list{position:absolute;z-index:40;top:100%;left:0;right:0;max-height:20rem;overflow-y:auto;padding:4px;border:1px solid var(--border-strong);border-top:none;border-radius:0 0 8px 8px;background:var(--surface);box-shadow:0 10px 24px #34343424}.place-picker-row{display:flex;align-items:stretch;border-radius:5px}.place-picker-row:hover,.place-picker-row:focus-within{background:var(--sand)}.place-picker-row.is-current{background:var(--accent-soft)}.place-picker-row.is-current:hover{background:var(--sand)}.place-picker-option{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;padding:8px 10px;border:none;border-radius:5px;background:none;color:var(--text);font-weight:400;cursor:pointer}.place-picker-list>.place-picker-option:hover,.place-picker-list>.place-picker-option:focus-visible{background:var(--sand);outline:none}.place-picker-list>.place-picker-option.is-current{background:var(--accent-soft)}.place-picker-name{font-size:.9rem}.place-picker-meta{font-size:.75rem;color:var(--text-dim)}.place-picker-remove{flex:0 0 auto;align-self:center;margin-right:4px;padding:4px 8px;border:none;border-radius:7px;background:var(--danger);color:var(--accent-text);font-size:.8rem;opacity:.35;cursor:pointer}.place-picker-row:hover .place-picker-remove,.place-picker-remove:focus-visible{opacity:1}.place-picker-remove:hover{background:var(--danger-hover)}.place-picker-note{margin:4px 10px 8px;font-size:.8rem;color:var(--text-dim)}.deadline{color:var(--accent-strong);font-weight:500}.deadline.passed{color:var(--danger-text)}.bell{position:relative}.bell-button{position:relative;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--text-dim)}.bell-button:hover,.bell-button.open{background:var(--surface-2);color:var(--text)}.bell-count{position:absolute;top:2px;right:1px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--accent);color:var(--accent-text);font-size:.68rem;font-weight:700;line-height:17px;text-align:center}.bell-panel{position:absolute;z-index:50;top:calc(100% + 8px);right:0;width:min(380px,calc(100vw - 24px));max-height:min(70dvh,520px);display:flex;flex-direction:column;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);box-shadow:0 16px 40px #3434342e;overflow:hidden}.bell-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.bell-empty{margin:0;padding:18px 16px;font-size:.85rem;color:var(--text-dim)}.bell-list{list-style:none;margin:0;padding:4px;overflow-y:auto}.bell-item{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;padding:10px 12px 10px 16px;border:none;border-radius:6px;background:none;color:var(--text);font-weight:400;position:relative}.bell-item:hover,.bell-item:focus-visible{background:var(--surface-2);outline:none}.bell-item.unread:before{content:"";position:absolute;left:5px;top:16px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.bell-item.unread.warn:before{background:var(--danger)}.bell-title{font-size:.86rem;font-weight:600;line-height:1.3}.bell-item:not(.unread) .bell-title{font-weight:500;color:var(--text-dim)}.bell-body{font-size:.8rem;color:var(--text-dim);line-height:1.4}.bell-when{font-size:.72rem;color:var(--text-faint)}.invite-page{min-height:100dvh;display:grid;place-items:center;align-content:center;padding:32px 16px}.invite-card{width:min(440px,100%);padding:28px 28px 24px}.invite-brand{margin:0 0 18px;font-family:var(--serif);font-size:1.1rem;color:var(--accent-strong);letter-spacing:.02em}.invite-card h1{font-size:1.9rem;line-height:1.15;margin-bottom:6px}.invite-hint{margin:-8px 0 14px;font-size:.78rem;color:var(--text-faint)}.invite-hint.short{color:var(--warn)}.invite-submit{width:100%;margin-top:6px}.legal-links{margin:16px 0 0;font-size:.78rem;color:var(--text-faint)}.legal-links a{color:inherit}.people-page{max-width:980px}.people-page .card h2{margin-bottom:12px}.people-subhead{margin:22px 0 8px}@media(max-width:720px){.people-table-wrap{overflow-x:auto}}.people-table{width:100%;border-collapse:collapse;font-size:.88rem}.people-table th{text-align:left;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);padding:0 10px 8px}.people-table td{padding:10px;border-top:1px solid var(--border);vertical-align:middle}.people-table select{padding-top:5px;padding-bottom:5px;font-size:.84rem}.people-name{display:flex;align-items:center;gap:8px}.people-actions{width:1%;text-align:right}.people-list{list-style:none;margin:0 0 12px;padding:0}.people-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--border);font-size:.88rem}.people-list li:first-child{border-top:none}.people-rename{display:flex;align-items:center;gap:6px;flex:1}.people-rename input{flex:1;min-width:0}.people-invite{display:grid;grid-template-columns:1.3fr 1.2fr .9fr;gap:0 14px}@media(max-width:720px){.people-invite{grid-template-columns:1fr}}label.check{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;white-space:nowrap;cursor:pointer}label.check input{width:auto;margin:0}.people-issued p{margin-top:0}.people-link{display:block;margin:0 0 10px;padding:9px 11px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);font-size:.8rem;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.row-menu{position:relative;display:inline-block}.row-menu-button{font-size:1.1rem;line-height:1;padding:4px 10px}.row-menu-list{position:absolute;z-index:40;top:calc(100% + 2px);right:0;min-width:15rem;padding:4px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);box-shadow:0 10px 24px #34343424;display:flex;flex-direction:column}.row-menu-item{text-align:left;padding:8px 10px;border:none;border-radius:5px;background:none;color:var(--text);font-weight:400;font-size:.86rem;cursor:pointer}.row-menu-item:hover,.row-menu-item:focus-visible{background:var(--sand);outline:none}.row-menu-item.danger{background:none;color:var(--danger-text)}.row-menu-item.danger:hover:not(:disabled),.row-menu-item.danger:focus-visible{background:#f4e1dc;color:var(--danger-text)}.topbar .topbar-link{font-size:.86rem;text-decoration:none;color:var(--accent-strong);padding:6px 10px;border-radius:var(--radius-sm)}.topbar .topbar-link:hover,.topbar .topbar-link.active{background:var(--accent-soft)}.service-editor{--service-panel-w: 420px;--selected-w: clamp(290px, 20vw, 340px);display:flex;flex-direction:column;height:calc(100vh - var(--topbar-h));min-height:0;overflow:hidden}.service-toolbar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap}.service-toolbar .ghost-link{font-size:.86rem;text-decoration:none;color:var(--accent-strong)}.service-name{width:16rem;font-family:var(--serif);font-size:1.2rem;border-color:transparent;background:transparent}.service-name:hover,.service-name:focus{border-color:var(--border-strong);background:var(--surface)}.service-body{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:var(--selected-w) minmax(0,1fr) var(--service-panel-w);grid-template-rows:minmax(0,1fr);gap:16px;padding:16px 0 16px 16px}.service-area{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:clip}.service-spread{display:flex;gap:4px;align-items:flex-start}.page-stage{margin:0;display:flex;flex-direction:column;align-items:center}.page-stage figcaption{margin-top:8px;font-size:.78rem;color:var(--text-faint)}.page-sheet{position:relative;box-shadow:0 1px 3px #3434341f,0 6px 18px #3434341a}.page-stage:not(.editable) .page-sheet{cursor:pointer}.page-stage:not(.editable) .page-sheet:hover{outline:2px solid var(--accent-track)}.page-stage.editable .page-sheet{outline:2px solid var(--accent);outline-offset:3px}.page-canvas{display:block}.page-trim{position:absolute}.page-unprintable{position:absolute;top:0;right:0;bottom:0;left:0;border-style:solid;border-color:#61877124;pointer-events:none}.page-guide{position:absolute;pointer-events:none}.group-frame{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.pick-box{position:absolute;pointer-events:none;z-index:10000;border:1px solid rgba(97,135,113,.9);background:#6187711a}.page-guide.safe{border:1px dashed rgba(97,135,113,.7)}.page-guide.bleed{top:0;right:0;bottom:0;left:0;border:1px dashed rgba(154,59,51,.45)}.page-stage.editable .page-trim{box-shadow:0 0 0 1px #34343426}.page-stage .graphic-box,.page-stage .text-box{border-color:#3434342e}.page-stage .graphic-box:hover,.page-stage .text-box:hover{border-color:#34343473;background:#6187710f}.service-panel{min-height:0;overflow:hidden}.service-strip{display:flex;align-items:center;justify-content:safe center;gap:12px;padding:10px calc(var(--service-panel-w) + 16px) 10px calc(var(--selected-w) + 32px);flex:0 0 auto;overflow-y:hidden;border-top:1px solid var(--border);background:var(--surface);overflow-x:auto}.strip-spread{display:flex;gap:1px}.strip-page{position:relative;padding:0;border:1px solid var(--border);border-radius:2px;background:#fff;line-height:0;cursor:pointer}.strip-page.empty{width:44px;visibility:hidden}.strip-page.current{outline:2px solid var(--accent);outline-offset:1px}.strip-number{position:absolute;right:2px;bottom:2px;padding:1px 4px;border-radius:999px;background:#343434a6;color:#fff;font-size:.62rem;line-height:1.3}.strip-add{flex:0 0 auto;white-space:nowrap}.strip-note{flex:0 0 auto;max-width:22rem}label.choice{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px;cursor:pointer}label.choice input{width:auto;margin-top:3px}label.choice>span{display:flex;flex-direction:column;gap:3px;font-size:.88rem}fieldset.plain{border:none;margin:0;padding:0;min-width:0}fieldset.plain:disabled{opacity:.5}.photo-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;max-height:60vh;overflow-y:auto}.photo-picker-tile{position:relative;padding:0;border:1px solid var(--border);border-radius:6px;overflow:hidden;aspect-ratio:1;background:var(--surface-2);cursor:pointer}.photo-picker-tile:hover{outline:2px solid var(--accent)}.photo-picker-tile img{width:100%;height:100%;object-fit:cover;display:block}.photo-picker-tile .tag{position:absolute;left:6px;bottom:6px}.page-sheet.dropping{outline:2px dashed var(--accent);outline-offset:3px}.card-divider{border:none;border-top:1px solid var(--border);margin:22px 0 18px}.fields-heading{margin:18px 0 10px}.office-card{padding:12px;margin-bottom:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.service-panel .inspector-tabs button,.inspector-column .inspector-tabs button{flex:1 1 auto;padding-left:8px;padding-right:8px}.service-body{position:relative}.service-notice{position:absolute;z-index:5;top:8px;left:50%;transform:translate(calc(-50% + var(--selected-w) / 2 - var(--service-panel-w) / 2 + 8px));max-width:min(560px,calc(100% - var(--selected-w) - var(--service-panel-w) - 64px));display:flex;align-items:center;gap:10px;margin:0;box-shadow:var(--shadow)}.text-library-search{width:100%;margin-bottom:8px}.text-library-filters{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.text-library-list{list-style:none;margin:0 0 12px;padding:0;border-top:1px solid var(--border)}.text-library-item{border-bottom:1px solid var(--border)}.text-library-item[draggable=true]{cursor:grab}.text-library-heading{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:9px 4px;border:0;border-radius:0;background:none;color:inherit;text-align:left;font-size:.86rem;cursor:inherit}.text-library-heading:hover:not(:disabled){background:var(--accent-softer)}.text-library-title{display:flex;align-items:center;gap:6px;font-weight:600}.text-library-heading .faint{font-size:.8rem}.text-library-first{font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.text-library-detail{padding:0 4px 12px}.text-library-words{white-space:pre-wrap;font-family:EB Garamond,Garamond,Georgia,serif;font-size:.95rem;line-height:1.35;max-height:280px;overflow-y:auto;padding:10px 12px;margin-bottom:8px;background:var(--surface-2);border-radius:var(--radius-sm)}.text-library-credit{font-style:italic;margin:0 0 6px}.text-library-empty{padding:12px 4px}.text-library-note{margin-top:16px;font-size:.8rem}.text-library-rights{border:0;padding:0;margin:4px 0 8px}.text-library-rights legend{font-size:.82rem;font-weight:600;margin-bottom:6px}.floating-offer{position:fixed;z-index:60;bottom:24px;left:50%;transform:translate(-50%);width:min(560px,calc(100vw - 32px));margin:0;box-shadow:var(--shadow)}.floating-offer.beside{bottom:auto;transform:none}.floating-offer-error{margin-top:6px;color:var(--danger-text)}.selected-panel{min-width:0;min-height:0;display:flex;flex-direction:column}.selected-panel-body{flex:1 1 auto;min-height:0;margin:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.selected-panel-body>.section:first-child,.selected-panel-body>:first-child>.section:first-child{margin-top:0;padding-top:0;border-top:none}.selected-panel .row{flex-wrap:wrap}.selected-panel-empty h3{margin-top:0}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-bottom:12px;max-height:64vh;overflow-y:auto;padding:2px}.template-card{position:relative}.template-pick{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:12px;background:var(--surface);border:1px solid var(--border);color:var(--text);text-align:left;font-weight:400}.template-pick:hover:not(:disabled){background:var(--accent-softer);border-color:var(--accent-track)}.template-covers{display:flex;gap:8px;margin-bottom:6px}.template-cover{display:block;line-height:0;box-shadow:0 1px 3px #221f1b2e}.template-name{font-weight:600}.template-note{font-size:.8rem}.template-grid[hidden]{display:none}.template-differs{font-size:.8rem;color:var(--warn)}.template-remove{position:absolute;top:8px;right:8px}.linked-copies{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.linked-copies h4{margin:0 0 4px;font-size:.82rem;font-weight:600}.linked-copies-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}.linked-copies-actions button{white-space:normal;line-height:1.25;text-align:center}.pdf-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:4px 0 12px}.pdf-choice{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px;border:1px solid var(--border);border-radius:10px}.pdf-choice h3,.pdf-choice p{margin:0}.pdf-choice button{margin-top:auto}.pdf-cautions p{margin:0 0 6px}.pdf-cautions p:last-child,.pdf-cautions ul{margin-bottom:0}.pdf-cautions ul{margin-top:0;padding-left:20px}@media(max-width:640px){.pdf-choices{grid-template-columns:1fr}}.export-leave-note{margin:8px 0 0;font-size:.78rem;line-height:1.45;color:var(--text-faint)}.project-office{margin:2px 0 4px;font-size:.85rem;color:var(--text-dim)}.project-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}.project-toolbar select{width:auto}.project-search{flex:1 1 240px;max-width:340px}.project-sort{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text-dim)}.project-toolbar .spacer{flex:1}.project-view{display:flex;gap:4px}.project-view .toggle{height:40px;padding-inline:14px}.project-count{margin:-4px 0 12px}.link-button{padding:0;border:0;background:none;color:var(--accent-strong, var(--text));text-decoration:underline;font:inherit;cursor:pointer}.project-open-tag{margin-top:8px}.project-table-wrap{overflow-x:auto}.project-table{width:100%;border-collapse:collapse;font-size:.9rem}.project-table th{text-align:left;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);padding:0 12px 8px;white-space:nowrap}.project-table td{padding:11px 12px;border-top:1px solid var(--border);vertical-align:middle}.project-table tbody tr{cursor:pointer}.project-table tbody tr:hover,.project-table tbody tr:focus-visible{background:var(--surface);outline:none}.project-table .num{text-align:right}.project-table .fit{width:1%;white-space:nowrap}.project-ref{white-space:nowrap;color:var(--text-dim)}.project-row-name{font-family:var(--serif);font-size:1.05rem}.project-table .project-open-tag{margin:0 0 0 8px}@media(max-width:640px){.project-search{max-width:none}.project-toolbar .spacer{display:none}}
