:root{--bg: #f4f1eb;--panel: #fffdf8;--line: #d8d2c8;--ink: #2f2b26;--muted: #6e665d;--accent: #1c0c05;--accent-soft: #f7e3d7;--success: #2f7f4f;--error: #b6462b;--close: #b53637;--close-soft: #ffe8e8;--progress-fill: rgba(76, 175, 80, .25)}*{box-sizing:border-box}.site-frame{display:flex;flex-direction:column;min-height:100vh}.site-frame>:not(.site-header):not(.site-footer){flex:1;padding-bottom:80px}.site-loading{padding:22px 20px 32px;display:grid;place-items:center}.app-version-footer{position:fixed;right:12px;bottom:10px;z-index:30;margin:0;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:#fffdf8eb;color:var(--muted);font-size:11px;line-height:1;letter-spacing:.01em;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media(max-width:880px){.app-version-footer{right:8px;bottom:8px}}@media screen and (max-width:768px){input,textarea,select{font-size:16px!important}}html,body,#root{margin:0;min-height:100%;font-family:Source Sans Pro,PingFang SC,Noto Sans SC,Segoe UI,sans-serif}body{min-width:320px;background:var(--bg)}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;color:var(--ink);background:radial-gradient(circle at top left,#fff3e4 0%,transparent 34%),radial-gradient(circle at bottom right,#f7ebe2 0%,transparent 40%),var(--bg)}.auth-card{width:min(420px,100%);background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 6px 18px #543f2914}.auth-card h1{margin:0 0 6px;font-size:24px}.auth-card>p{margin:0 0 12px;color:var(--muted);font-size:13px}.auth-tabs{display:flex;gap:8px;margin-bottom:12px}.auth-tabs button{flex:1}.auth-tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.auth-form button{margin-top:4px}.recover-panel{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:8px}.recover-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.recover-panel h2{margin:0;font-size:16px}.recover-panel p{margin:0;color:var(--muted);font-size:12px}.recover-panel label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.recover-actions{display:flex;gap:8px}.recover-user-list{display:flex;flex-direction:column;gap:6px}.recover-user-list strong{font-size:12px;color:var(--muted)}.recover-user-chips{display:flex;flex-wrap:wrap;gap:6px}.recover-user-chips button{padding:6px 8px;font-size:12px}.recover-user-chips button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--ink)}.recover-form{display:flex;flex-direction:column;gap:8px}.auth-tabs button.active:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.recover-user-chips button.active:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--ink)}.app-shell{min-height:100vh;padding:20px;color:var(--ink);background:radial-gradient(circle at top left,#fff3e4 0%,transparent 34%),radial-gradient(circle at bottom right,#f7ebe2 0%,transparent 40%),var(--bg)}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.brand h1{margin:0;font-size:28px;letter-spacing:.02em}.brand p{margin:4px 0 0;color:var(--muted);font-size:13px}.topbar-actions{display:flex;flex-direction:column;gap:8px;min-width:420px}.session-row{display:flex;align-items:center;justify-content:flex-end;gap:8px}.session-row span{font-size:12px;color:var(--muted)}.search-box{display:flex;gap:8px}.search-box input{flex:1}.active-order-pill{align-self:flex-end;font-size:12px;color:var(--muted)}.notice{margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13px}.notice-overlay{position:fixed;top:14px;left:50%;transform:translate(-50%);margin:0;width:min(640px,calc(100vw - 32px));z-index:18;box-shadow:0 10px 24px #32231433;animation:notice-popup-in .24s cubic-bezier(.2,.8,.2,1);transform-origin:top center;will-change:transform,opacity}.notice.success{border-color:#9cccae;background:#eff9f2;color:var(--success)}.notice.error{border-color:#edb6a7;background:#fff4f1;color:var(--error)}.tabs{display:inline-flex;gap:8px;margin-bottom:12px}.tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:0 6px 18px #543f2914}.panel.compact{margin-bottom:12px}.panel-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:10px}.panel-head h2{margin:0;font-size:20px}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.panel-actions{display:flex;gap:8px;flex-wrap:wrap}.lock-toggle-button{width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center}.lock-toggle-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.column-picker-wrap{position:relative}.column-picker-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px 0;min-width:130px;box-shadow:0 4px 16px #543f2924;z-index:50}.column-picker-item{display:flex;align-items:center;gap:7px;padding:5px 12px;cursor:pointer;font-size:13px;-webkit-user-select:none;user-select:none;white-space:nowrap}.column-picker-item:hover{background:#543f290f}.column-picker-item input[type=checkbox]{cursor:pointer;accent-color:var(--accent)}.product-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.product-title-create-button{padding:8px 14px;font-weight:600}.order-board-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.order-board-panel{background:transparent;border:0;box-shadow:none}.order-title-create-button{padding:8px 14px;font-weight:600}.order-board-actions{align-items:center}.product-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.product-filters input{min-width:160px;flex:1 1 160px}.filter-chip{display:inline-flex;align-items:center;padding:0 8px;border-radius:999px;border:1px solid #e2d8c8;background:#f8f2e9;color:var(--muted);font-size:12px}.modal-backdrop{position:fixed;inset:0;background:#1e181159;display:flex;align-items:center;justify-content:center;z-index:20;padding:16px}.modal-card{width:min(480px,100%);border:1px solid #eadbc4;border-radius:12px;background:#fff8ef;padding:14px;box-shadow:0 18px 38px #30231838}.modal-card.export-format-modal{width:min(360px,100%)}.modal-card.export-format-modal.with-range{width:min(520px,100%)}.modal-card.wide{width:min(860px,100%)}.modal-card h3{margin:0 0 6px;font-size:16px}.modal-card p{margin:0 0 10px;font-size:13px;color:var(--muted)}.modal-actions{display:flex;gap:8px;flex-wrap:wrap}.export-format-range-controls{margin-bottom:10px}.modal-table-wrap{margin:8px 0 10px;max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}.modal-table{width:100%;min-width:700px}.modal-table th,.modal-table td{font-size:12px;padding:6px 8px}.modal-table td button{white-space:nowrap}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}table{border-collapse:collapse;width:100%;min-width:980px}.metrics-table-wrap{overflow:visible}table.metrics-table{min-width:0}table.metrics-table th{position:static;top:auto;z-index:auto;background:transparent;width:42%;color:var(--muted);font-weight:600}table.metrics-table td{text-align:right;font-variant-numeric:tabular-nums}table.compact-table{min-width:0}table.compact-table th.num,table.compact-table td.num{text-align:right;font-variant-numeric:tabular-nums}.metrics-section-title{margin:14px 0 6px;font-size:15px}.metrics-section-hint{margin:0 0 10px;font-size:13px;color:var(--muted)}.metrics-pill{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;border:1px solid #d6c7b2;background:#f7f2ea;font-size:11px;color:#6c5d48;margin-right:6px;white-space:nowrap}.metrics-pill.negative{border-color:#e0b8af;background:#fff2ef;color:#8d3a2d}.metrics-pill.low{border-color:#d8c19a;background:#fdf4e7;color:#8a5a1d}.margin-discount-input{width:56px;height:28px;padding:0 6px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:13px;text-align:center;-moz-appearance:textfield}.margin-discount-input::-webkit-inner-spin-button,.margin-discount-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.margin-discount-input:focus{outline:none;border-color:var(--accent)}.margin-discount-input:disabled{opacity:.5;cursor:not-allowed}th,td{padding:8px;border-bottom:1px solid #eee7de;text-align:left;font-size:13px;vertical-align:top}.product-table th,.product-table td{vertical-align:middle}.product-table th.product-condition-column,.product-table td.product-condition-column{min-width:88px}th{background:#f7f4ef;position:sticky;top:0;z-index:1;font-weight:600}td input,td select,.search-box input,.order-add-row input,.product-filters input,.history-filter-controls input,input[type=date]{width:100%;border:1px solid #d5ccbf;border-radius:8px;padding:7px 8px;font-size:13px;background:#fff}td input.saving,td select.saving{background:#fff4e4;border-color:#e0a66f}.product-table td .product-condition-select{min-width:88px;padding-right:22px}.product-table td input[readonly]{background:#f5f1eb;color:#766b5e;cursor:not-allowed}.product-table td select:disabled{background:#f5f1eb;color:#766b5e;cursor:not-allowed}.product-select-col{width:32px;min-width:32px;text-align:center;-webkit-user-select:none;user-select:none;cursor:pointer}.product-select-col input[type=checkbox]{width:auto;cursor:pointer;pointer-events:none}.product-row-selected{background:var(--accent-soft, #fff3e4)}.product-table-dragging{cursor:crosshair;-webkit-user-select:none;user-select:none}.product-table-dragging .product-select-col{cursor:crosshair}.product-table-dragging tbody tr:hover .product-select-col{background:color-mix(in srgb,var(--accent) 18%,transparent)}.product-batch-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--accent-soft, #fff3e4);border:1px solid var(--line);border-radius:8px;font-size:13px;margin-bottom:8px}.product-batch-count{font-weight:600;white-space:nowrap}.product-batch-bar select{min-width:80px}.product-batch-input{width:120px}.product-table-pagination{display:flex;align-items:center;gap:4px;justify-content:center}.product-page-btn{min-width:32px;height:32px;padding:0 6px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:13px;cursor:pointer}.product-page-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);cursor:default}.product-page-btn:hover:not(.active):not(:disabled){border-color:var(--accent);background:var(--accent-soft, #fff3e4)}.product-page-ellipsis{padding:0 4px;color:var(--muted);font-size:13px;-webkit-user-select:none;user-select:none}.product-page-jump{display:inline-flex;align-items:center;gap:4px;margin-left:8px}.product-page-jump-input{width:48px;height:32px;padding:0 6px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:13px;text-align:center;-moz-appearance:textfield}.product-page-jump-input::-webkit-inner-spin-button,.product-page-jump-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.product-page-jump-input:focus{outline:none;border-color:var(--accent)}.product-page-jump-hint{font-size:13px;color:var(--muted);white-space:nowrap}.link-cell-wrap{position:relative}.link-cell-wrap input{padding-right:28px}.link-cell-open{border:none;background:transparent;padding:0;position:absolute;top:50%;right:5px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;color:var(--muted);opacity:0;transition:opacity .15s,color .12s,background-color .12s}.link-cell-open:hover{border:none;color:var(--accent);background:#543f2914}.link-cell-open:active{transform:translateY(-50%)}.link-cell-wrap:hover .link-cell-open{opacity:1}.money-input{display:flex;align-items:center;gap:4px}.money-prefix{color:var(--muted);font-size:12px;white-space:nowrap}button,.file-button,a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d2c7b8;border-radius:8px;background:#fff;color:var(--ink);padding:7px 10px;font-size:13px;line-height:1;text-decoration:none;cursor:pointer;transform:scale(1);transition:transform .14s cubic-bezier(.22,1,.36,1),border-color .12s ease-out,background-color .12s ease-out,color .12s ease-out}.export-trigger-button{white-space:nowrap}button:hover,.file-button:hover,a:hover{border-color:var(--accent);background:var(--accent-soft)}.tabs button.active:hover,.range-preset-buttons button.active:hover{background:var(--accent);color:#fff;border-color:var(--accent)}button:active:not(:disabled),.file-button:active,a:active,.tabs button:active:not(:disabled){transform:scale(.96)}button.text-link{border:0;background:transparent;padding:0;color:var(--accent);font-size:12px;line-height:1.2;text-decoration:underline}button.text-link:hover{border-color:transparent;background:transparent;color:#96461f}button.create-button{border-color:#b53637;background:#b53637;color:#fff}button.create-button:hover{border-color:#9f2f30;background:#9f2f30}button.accent{border-color:var(--accent);background:var(--accent);color:#fff}button.accent:hover{border-color:#a84f24;background:#a84f24}button:disabled{cursor:not-allowed;opacity:.6}.file-button{display:inline-flex;align-items:center;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.file-button,.file-button *{cursor:pointer}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.empty-row,.empty-column{color:var(--muted);font-size:13px}.loading-line{margin-bottom:10px}.inventory-inline-loader{width:fit-content}@keyframes notice-popup-in{0%{opacity:0;transform:translate(-50%,-10px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes product-search-hit{0%{background:#f7c3c3}40%{background:#fbe3e3}to{background:transparent}}.table-footer{display:flex;justify-content:space-between;align-items:center;padding-top:10px}.kanban-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px}.kanban-column{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;min-height:280px}.kanban-column h3{margin:0 0 10px;font-size:15px}.kanban-column h3 span{color:var(--muted);font-weight:400}.order-card{border:1px solid #dfd6c9;border-radius:10px;padding:8px;margin-bottom:8px;background:#fffdf8}.order-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.order-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}.order-card header small{color:var(--muted);font-size:11px}.order-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.order-metrics{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-bottom:4px}.order-payable{display:flex;align-items:baseline;gap:6px;margin-bottom:8px}.order-payable-label{font-size:12px;color:var(--muted)}.order-payable-amount{font-size:20px;font-weight:700;color:var(--accent);letter-spacing:-.5px}.order-payable-deduction{font-size:13px;color:#16a34a;margin-left:4px;white-space:nowrap}.order-payable-deduction strong{font-weight:700}.order-item-discount-pill{display:inline-block;padding:1px 6px;border-radius:999px;background:var(--accent-soft, #fff3e4);color:var(--accent);font-size:11px;font-weight:600;white-space:nowrap}.order-add-row{display:flex;gap:6px;margin-bottom:8px}.order-discount-row{margin-bottom:8px}.order-discount-row label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.order-discount-row input{width:92px}.order-add-row input{min-width:0}.order-items{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.order-items li{border-top:1px dashed #e4dbcf;padding-top:6px}.item-main{display:flex;justify-content:space-between;gap:8px}.item-main span{font-size:13px;font-weight:600}.item-main small{color:var(--muted);font-size:11px}.item-actions{margin-top:4px;display:flex;align-items:center;justify-content:space-between;gap:6px}.item-actions input{width:62px}.order-item-remove-button{width:30px;height:30px;padding:0}.order-item-remove-button svg{width:14px;height:14px;display:block}.order-item-price{display:inline-flex;align-items:baseline;gap:6px}.order-item-price__sale{font-weight:600}.order-item-price__original{color:var(--muted);text-decoration:line-through}.item-qty-block{display:flex;align-items:center;gap:6px}.stock-warning{color:var(--error);font-size:11px;white-space:nowrap}.order-actions{display:flex;gap:8px;margin-top:8px}.order-actions .order-primary-action{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.order-actions .order-primary-action:hover{border-color:#a84f24;background:#a84f24}button.ghost{background:#f6f1e7}button.danger{border-color:#e4b2a6;background:#fff3f0;color:var(--error)}button.danger:hover{border-color:#cb5b3d;background:#ffe8e2}.history-filter-controls{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.history-filter-controls label{display:flex;flex-direction:column;gap:4px;flex:1 1 180px;min-width:0;font-size:12px;color:var(--muted)}.history-filter-controls a{align-self:flex-end;white-space:nowrap}.history-filter-controls .export-trigger-button{align-self:flex-end}.history-filter-controls input[type=date]{min-width:0}.range-preset-buttons{display:flex;gap:8px;flex-wrap:wrap}.range-preset-row{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.range-custom-inline{margin-left:auto;display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.range-custom-inline label{display:flex;flex-direction:column;gap:4px;min-width:150px;font-size:12px;color:var(--muted)}.range-custom-inline input[type=date]{min-width:0}.range-preset-buttons button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.order-filter-row{display:flex;gap:12px;align-items:flex-end;margin-bottom:12px}.history-order-panel{margin-top:12px}.history-order-head{gap:10px}.history-order-title-row{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.history-order-tools{display:flex;gap:8px;align-items:center;min-width:min(620px,100%)}.history-order-bulk-archive-button{white-space:nowrap}.history-order-search{display:flex;gap:8px;align-items:center;min-width:min(420px,100%)}.history-order-search input{flex:1;min-width:0}.history-order-summary{margin:0 0 10px;color:var(--muted);font-size:12px}.history-order-list{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:10px}.product-row-search-hit td{animation:product-search-hit 1.2s ease-out}.history-order-pagination{margin-top:10px;display:flex;align-items:center;justify-content:flex-end;gap:10px}.history-order-page-indicator{color:var(--muted);font-size:12px}.history-order-card{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fffdf8}.history-order-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.history-order-header-main{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.history-order-header-pills{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.history-order-actions{display:inline-flex;align-items:center;gap:6px}.history-order-archive-button,.history-order-return-button{white-space:nowrap}.history-order-meta{margin-top:8px;display:flex;flex-wrap:wrap;gap:10px}.history-order-meta small{color:var(--muted);font-size:12px}.history-order-meta small+small:before{content:"|";margin:0 8px 0 2px;color:#b7ab9a}.history-order-items{margin:10px 0 0;padding:0;list-style:none;border-top:1px dashed #e4dbcf}.history-order-items li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;margin-top:8px;font-size:13px}.history-order-item-main{flex:1;min-width:0}.history-order-item-sku{white-space:nowrap;color:var(--muted)}.history-order-item-price{display:inline-flex;align-items:baseline;gap:6px}.history-order-item-price__sale{font-weight:600}.history-order-item-price__original{color:var(--muted);text-decoration:line-through}.history-status-pill{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;border:1px solid #d6c7b2;background:#f7f2ea;font-size:11px;color:#6c5d48}.history-status-pill.checked_out{border-color:#9fc7a8;background:#edf7ef;color:#246035}.history-status-pill.cancelled{border-color:#e0b8af;background:#fff2ef;color:#8d3a2d}.history-status-pill.returned{border-color:#d8c19a;background:#fdf4e7;color:#8a5a1d}.history-archived-pill{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;border:1px solid #d4d7de;background:#f3f4f7;font-size:11px;color:#5a6170}.order-view-filter-panel{flex:1 1 62%;padding:4px 2px 0}.order-view-filter-panel h2{margin:0 0 8px}.order-export-panel{flex:1 1 38%;padding:4px 2px 0}.order-export-panel h2{margin:0 0 8px}.order-export-trigger-row{display:flex;justify-content:flex-end}.export-format-checkbox-option{font-size:12px;display:flex;align-items:center;margin-bottom:10px}.referencing-orders-list{display:flex;flex-direction:column;gap:8px;margin:8px 0 10px;max-height:400px;overflow-y:auto}.referencing-order-card{border:1px solid var(--line);border-radius:6px;padding:8px 12px;background:var(--bg)}.referencing-order-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.referencing-order-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.referencing-order-info small{color:var(--muted)}.referencing-order-actions{display:flex;align-items:center;gap:6px;color:var(--accent)}.referencing-order-items{margin:8px 0 0;padding:6px 0 0;list-style:none;border-top:1px solid var(--line)}.referencing-order-items li{display:flex;align-items:baseline;gap:8px;padding:2px 0;font-size:.92em}.referencing-order-item-main{flex:1 1 auto;font-size:12px}.referencing-order-item-sku{color:var(--muted);flex:0 0 auto;font-size:12px}.referencing-order-item-price{flex:0 0 auto;font-variant-numeric:tabular-nums;font-size:12px}.referencing-order-no-items{margin:6px 0 0;color:var(--muted);font-size:.92em}.referencing-orders-all-archived-hint{margin:8px 0 0;color:var(--success);font-weight:500}.history-order-delete-button{font-size:.85em}@media(max-width:1200px){.kanban-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.order-filter-row{flex-direction:column;align-items:stretch}.history-order-list{grid-template-columns:1fr}}@media(max-width:880px){.app-shell{padding:12px}.notice-overlay{top:10px;width:calc(100vw - 24px)}.topbar{flex-direction:column}.topbar-actions{min-width:0;width:100%}.session-row{justify-content:flex-start}.active-order-pill{align-self:flex-start}.panel-head{flex-direction:column}.kanban-grid{grid-template-columns:1fr}.history-order-head{align-items:stretch}.history-order-search{min-width:0}.history-order-tools{min-width:0;flex-wrap:wrap}.range-custom-inline{width:100%;margin-left:0}.range-custom-inline label{flex:1 1 calc(50% - 4px);min-width:0}.history-filter-controls{gap:8px}.history-filter-controls label{flex-basis:calc(50% - 4px)}.history-filter-controls a,.history-filter-controls .export-trigger-button{margin-top:2px}.history-order-pagination{justify-content:space-between}}@media(prefers-reduced-motion:reduce){button,.file-button,a{transition:none}button:active:not(:disabled),.file-button:active,a:active,.tabs button:active:not(:disabled){transform:none}.notice-overlay{animation:none}.product-row-search-hit td{animation:none;background:#fbe3e3}}.purchase-batches-tab{padding:12px 0}.purchase-batches-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.purchase-batches-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.purchase-batches-filters input[type=text],.purchase-batches-filters input[type=date]{width:auto;padding:6px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:#fff}.purchase-batches-table-wrap{overflow-x:auto}.purchase-batches-table{width:100%;border-collapse:collapse;font-size:13px}.purchase-batches-table th,.purchase-batches-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.purchase-batches-table th{font-weight:600;background:#fdf6ed;color:var(--muted);font-size:12px}.purchase-batches-table tbody tr:hover td{background:#fdf6ed}.purchase-batches-pagination{display:flex;align-items:center;gap:12px;margin-top:14px;font-size:13px;color:var(--muted)}.purchase-batch-dialog{width:min(600px,100%)}.purchase-batch-dialog h3{margin:0 0 16px;font-size:16px}.form-field{margin-bottom:12px}.form-field label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px;font-weight:500}.form-field input,.form-field textarea{width:100%;box-sizing:border-box;padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:#fff}.form-field textarea{resize:vertical;min-height:50px}.form-row{display:flex;gap:10px;margin-bottom:12px}.form-row .form-field{flex:1;margin-bottom:0}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.product-search-wrap{position:relative}.product-search-wrap input{width:100%;box-sizing:border-box}.product-search-wrap .clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:16px;color:var(--muted);padding:0 2px}.product-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 20px #28190a1f;z-index:30;max-height:200px;overflow-y:auto;list-style:none;margin:0;padding:4px 0}.product-suggestions li{padding:8px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.product-suggestions li:hover{background:#fdf6ed}.suggestion-name{font-size:13px;font-weight:500}.suggestion-meta{font-size:11px;color:var(--muted)}.selected-product-info{margin:6px 0 0;font-size:12px;color:var(--muted);padding:6px 10px;background:#f9f4ed;border-radius:6px}.pb-home{display:flex;gap:16px;padding:40px 0 20px;justify-content:center;flex-wrap:wrap}.pb-home-btn{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 40px;border:2px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;font-size:15px;font-weight:600;color:var(--ink);min-width:160px;transition:border-color .15s,background .15s,box-shadow .15s}.pb-home-btn:hover{border-color:#c28a5a;background:#fdf6ed;box-shadow:0 4px 12px #643c141a}.pb-home-btn--secondary{border-style:dashed;font-weight:500;color:var(--muted)}.pb-home-btn-icon{font-size:28px}.pb-view{padding:4px 0}.pb-view-header{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.pb-view-header h3{margin:0;font-size:15px}.pb-back-btn{background:none;border:1px solid var(--line);border-radius:8px;padding:5px 10px;font-size:12px;cursor:pointer;color:var(--muted)}.pb-back-btn:hover{background:#f9f4ed}.pb-session-info{font-size:13px;color:var(--muted)}.pb-supplier-form{max-width:380px}.pb-supplier-form .form-field{margin-bottom:14px}.pb-supplier-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}.pb-supplier-or{color:var(--muted);font-size:13px}.pb-import-file-btn{cursor:pointer;padding:7px 14px;border:1px dashed var(--line);border-radius:8px;font-size:13px;color:var(--ink);background:transparent;transition:border-color .15s,background .15s}.pb-import-file-btn:hover{border-color:var(--accent);background:#f5f0eb}.pb-import-file-btn--disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.pb-scan-section{display:flex;align-items:center;gap:10px;margin-bottom:14px}.pb-isbn-input{flex:1;max-width:360px;padding:10px 14px;font-size:15px;border:2px solid var(--line);border-radius:10px;background:#fff;transition:border-color .15s}.pb-isbn-input:focus{border-color:#c28a5a;outline:none}.pb-scan-status{font-size:13px;padding:4px 10px;border-radius:6px}.pb-scan-status--searching{color:var(--muted)}.pb-scan-status--found{color:#3a8f5a;background:#e6f4ec}.pb-scan-status--not_found{color:#a05020;background:#fdf0e4}.pb-scan-status--merged{color:#1a6fb5;background:#e0f0ff}.pb-current-item{background:#fdf6ed;border:1px solid #eadbc4;border-radius:10px;padding:12px 14px;margin-bottom:16px}.pb-current-item-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.pb-current-item-row .form-field{margin-bottom:0;min-width:100px}.pb-current-item-row .form-field input,.pb-current-item-row .form-field select{width:100%;box-sizing:border-box;padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:#fff}.pb-current-item-row .form-field input[readonly]{background:#f4f0ea;color:var(--ink)}.pb-current-item-actions{display:flex;align-items:center;gap:10px;margin-top:10px}.pb-new-tag{font-size:11px;background:#fde3c4;color:#8b4a10;padding:2px 8px;border-radius:20px;font-weight:600}.pb-draft-section{margin-top:4px}.pb-draft-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:13px;font-weight:600;flex-wrap:wrap}.pb-draft-header-actions{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap}.pb-zero-qty-badge{display:inline-block;margin-left:8px;font-size:12px;font-weight:600;color:#c0392b}.pb-clear-zero-btn{padding:5px 12px;border:1px solid #e57373;border-radius:8px;background:#fff5f5;color:#c0392b;font-size:12px;cursor:pointer;white-space:nowrap}.pb-clear-zero-btn:hover{background:#fde8e8}.pb-confirm-btn{white-space:nowrap}.pb-draft-zero-qty td{background:#fff0f0}.pb-draft-zero-qty td input,.pb-draft-zero-qty td select{color:#c0392b}.pb-draft-table input.pb-draft-input,.pb-draft-table select.pb-draft-select{width:100%;box-sizing:border-box;padding:4px 6px;border:1px solid transparent;border-radius:6px;font-size:12px;background:transparent}.pb-draft-table input.pb-draft-input:focus,.pb-draft-table select.pb-draft-select:focus{border-color:var(--line);background:#fff;outline:none}.pb-draft-input--sm{max-width:72px}.pb-draft-new td{background:#fdf3e8}.pb-remove-btn{background:none;border:none;cursor:pointer;color:var(--muted);font-size:18px;padding:0 4px;line-height:1}.pb-remove-btn:hover{color:#c0392b}.cat-loading{margin:0;padding:14px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);display:grid;justify-items:center;gap:8px;color:var(--muted)}.cat-loading.is-compact{padding:10px 8px;gap:6px}.cat-loading-art{width:68px;height:60px;display:block;overflow:visible}.cat-loading.is-compact .cat-loading-art{width:56px;height:50px}.cat-outline-base,.cat-outline-progress{fill:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.cat-outline-base{stroke:#d7c8b4;opacity:.55}.cat-outline-progress{stroke:var(--accent);stroke-dasharray:100;stroke-dashoffset:100;animation:cat-loading-progress 1.45s linear infinite}.cat-loading-text{display:inline-flex;align-items:center;gap:6px;font-size:13px;line-height:1}.cat-loading-dots{display:inline-flex;align-items:center;gap:3px}.cat-loading-dots span{width:4px;height:4px;border-radius:999px;background:var(--accent);animation:cat-loading-dot 1.1s ease-in-out infinite}.cat-loading-dots span:nth-child(2){animation-delay:.15s}.cat-loading-dots span:nth-child(3){animation-delay:.3s}@keyframes cat-loading-dot{0%,to{transform:translateY(0);opacity:.45}50%{transform:translateY(-2px);opacity:1}}@keyframes cat-loading-progress{0%{stroke-dashoffset:100;opacity:.35}92%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:1}}.book-tools-tab{display:grid;gap:12px}.book-tools-tab button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d2c7b8;border-radius:8px;background:#fff;color:var(--ink);padding:7px 10px;font-size:13px;line-height:1;cursor:pointer;transition:border-color .12s ease-out,background-color .12s ease-out,color .12s ease-out}.book-tools-tab button:hover{border-color:var(--accent);background:var(--accent-soft)}.book-tools-tab button:disabled{opacity:.62;cursor:not-allowed}.book-tools-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.book-tools-head strong{font-size:14px}.book-tools-head small{color:var(--muted);font-size:12px}.book-tools-divider{width:100%;border:none;border-top:1px solid #eadfce;margin:2px 0}.book-tools-section{display:grid;gap:10px}.book-tools-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.book-tools-section__head strong{font-size:13px}.book-tools-section__head small{font-size:12px;color:var(--muted)}.book-tools-collapsible{display:grid;gap:10px;border:0;border-radius:0;background:transparent;overflow:visible}.book-tools-collapsible__summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;-webkit-user-select:none;user-select:none;font-size:13px}.book-tools-collapsible__meta{font-size:12px;color:var(--muted)}.book-tools-collapsible__body{padding:0;border-top:0;display:grid;gap:10px}.douban-cookie-config{display:grid;gap:8px}.douban-cookie-config__toggle{display:inline-flex;align-items:center;gap:8px;justify-self:start;font-size:12px;padding:5px 10px!important;border-color:#d5ccbf!important;background:#faf7f3!important;color:var(--muted)!important}.douban-cookie-config__toggle:hover{background:#f3efe8!important}.douban-cookie-config__status{font-size:11px;padding:1px 6px;border-radius:4px}.douban-cookie-config__status.is-configured{background:#e0f5e4;color:#2a7d3f}.douban-cookie-config__status.is-empty{background:#f5e6dc;color:#9a6a4a}.douban-cookie-config__body{display:grid;gap:6px}.douban-cookie-config__hint{margin:0;font-size:12px;color:var(--muted);line-height:1.5}.douban-cookie-config__preview{margin:0;font-size:12px;color:var(--muted)}.douban-cookie-config__preview code{font-size:11px;background:#f0ebe5;padding:1px 5px;border-radius:3px;word-break:break-all}.douban-cookie-config__input{width:100%;min-height:56px;border:1px solid #d5ccbf;border-radius:8px;padding:7px 8px;font-size:12px;font-family:ui-monospace,SF Mono,Menlo,monospace;background:#fff;resize:vertical}.douban-cookie-config__input:focus{outline:none;border-color:var(--accent)}.douban-cookie-config__actions{display:flex;align-items:center;gap:8px}.douban-cookie-config__actions small{font-size:12px;color:var(--muted)}.book-tools-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.book-tools-controls{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;flex:0 0 auto}.book-tools-controls label{display:grid;gap:4px;font-size:12px;color:var(--muted)}.book-tools-controls input{width:100px;border:1px solid #d5ccbf;border-radius:8px;padding:7px 8px;font-size:13px;background:#fff}.book-tools-cancel-btn{border-color:#d4877c!important;color:#b44a3c!important;background:#fff5f4!important}.book-tools-cancel-btn:hover{border-color:#b44a3c!important;background:#fde8e5!important}.book-tools-error{margin:0;padding:8px 10px;border:1px solid #edb6a7;border-radius:8px;background:#fff4f1;color:var(--error);font-size:12px}.book-tools-hint{margin:0;padding:8px 10px;border:1px solid #d6ccb8;border-radius:8px;background:#fffaf3;color:var(--muted);font-size:12px}.book-tools-row .book-tools-progress{flex:1 1 360px;min-width:320px;margin:0}.book-tools-progress{display:grid;gap:6px;margin:0;padding:8px 10px;border:1px solid #d6ccb8;border-radius:8px;background:#fffaf3}.book-tools-progress.is-running{border-color:#c9b08d;background:#fff6e9}.book-tools-progress progress{width:100%;height:10px}.book-tools-progress p{margin:0;font-size:12px;color:var(--muted)}.book-tools-result{display:grid;gap:8px}.book-tools-result p{margin:0;font-size:12px;color:var(--muted)}.book-tools-result-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}.book-tools-item{border:1px solid #dfd6c9;border-radius:8px;background:#fffdf8;padding:8px 9px;display:grid;gap:2px}.book-tools-item.is-downloaded,.book-tools-item.is-updated{border-color:#9cccae;background:#eff9f2}.book-tools-item.is-skipped{border-color:#e2d8c8;background:#f8f2e9}.book-tools-item.is-failed{border-color:#edb6a7;background:#fff4f1}.book-tools-item__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.book-tools-item__head strong{font-size:12px}.book-tools-item__head span,.book-tools-item small{font-size:11px;color:var(--muted)}.book-tools-missing-list{margin:0;padding:0;list-style:none;display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.book-tools-missing-item{border:1px solid #dfd6c9;border-radius:8px;background:#fffdf8;padding:8px 9px;display:grid;gap:6px}.book-tools-missing-item__head{display:grid;gap:2px}.book-tools-missing-item__head strong{font-size:12px}.book-tools-missing-item__head span{font-size:11px;color:var(--muted)}.book-tools-missing-item__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.book-tools-missing-item__actions a{font-size:12px}.book-tools-missing-item__actions button{font-size:12px;padding:6px 8px}@media(max-width:720px){.book-tools-missing-list{grid-template-columns:repeat(1,minmax(0,1fr))}}.user-session-row{display:flex;align-items:center;gap:8px}.user-session-row__label{font-size:12px;color:var(--muted)}@keyframes events-ambient-breathe{0%,to{opacity:.28}50%{opacity:.46}}@keyframes events-dust-float{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(-.6%,-.9%,0) scale(1.015)}to{transform:translate3d(.7%,.4%,0) scale(1)}}.events-shell{min-height:100vh;padding:20px;color:var(--ink);position:relative;z-index:1;isolation:isolate;background:radial-gradient(circle at top right,#ffeedc 0%,transparent 34%),radial-gradient(circle at bottom left,#f7ebe2 0%,transparent 40%),var(--bg)}.events-shell:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 70% 52% at 18% 8%,rgba(255,246,230,.17) 0%,transparent 60%),radial-gradient(ellipse 66% 48% at 86% 82%,rgba(216,197,170,.14) 0%,transparent 56%),radial-gradient(circle at 12% 24%,rgba(255,255,255,.16) 0 .7px,transparent 1.3px),radial-gradient(circle at 74% 31%,rgba(255,255,255,.12) 0 .8px,transparent 1.4px),radial-gradient(circle at 44% 77%,rgba(255,255,255,.11) 0 .8px,transparent 1.4px),radial-gradient(circle at 24% 63%,rgba(255,255,255,.1) 0 .7px,transparent 1.3px);animation:events-ambient-breathe 9s ease-in-out infinite,events-dust-float 18s linear infinite}.events-shell>*{position:relative;z-index:1}.events-shell button,.events-shell a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d2c7b8;border-radius:8px;background:#fff;color:var(--ink);padding:7px 10px;font-size:13px;line-height:1;text-decoration:none;cursor:pointer;transition:border-color .12s ease-out,background-color .12s ease-out,color .12s ease-out,box-shadow .12s ease-out}.events-shell button:hover,.events-shell a:hover{border-color:var(--accent);background:var(--accent-soft)}.events-shell button:disabled{opacity:.62;cursor:not-allowed}.events-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.events-header.events-header-actions-only{justify-content:flex-end}.events-title-block h1{margin:0;font-size:28px;letter-spacing:.02em}.events-title-block p{margin:4px 0 0;color:var(--muted);font-size:13px}.events-header-actions{display:flex;gap:8px;flex-wrap:nowrap}.events-shell a.events-icon-link{width:36px;height:36px;padding:0}.events-shell a.events-icon-link svg{width:16px;height:16px;display:block}.events-header-user{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}.events-session-row{justify-content:flex-end;margin-left:auto}.events-session-row .user-session-row__label{font-size:13px}.events-view-tabs{display:inline-flex;gap:8px;margin-bottom:12px}.events-view-tabs button.active{border-color:var(--accent);background:var(--accent);color:#fff}.events-info{margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13px}.events-info.error{border-color:#edb6a7;background:#fff4f1;color:var(--error)}.events-info.success{border-color:#9cccae;background:#eff9f2;color:var(--success)}.events-panel{border-radius:14px;background:var(--panel);padding:14px;box-shadow:0 6px 18px #543f2914;margin-bottom:12px}.events-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.events-nav-title{font-weight:600}.events-nav-actions{display:flex;gap:8px;flex-wrap:wrap}.events-mini-card{border:1px solid #e7ddcf;border-radius:8px;background:#fffdfa;padding:6px;display:grid;gap:6px}.events-poster-card{position:relative;overflow:hidden;background-color:#4f4942;background-size:cover;background-position:center;background-repeat:no-repeat;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease}.events-poster-card:hover,.events-poster-card:focus-within{transform:translateY(-4px);box-shadow:0 14px 26px #2c1f155c}.events-poster-card:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#00000029,#00000057 45%,#0000009e);z-index:0;pointer-events:none}.events-poster-bg{position:absolute!important;inset:0;display:block!important;width:100%!important;max-width:none!important;z-index:0}.events-poster-bg-img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover}.events-poster-card .events-poster-cover-link{position:absolute;inset:0;z-index:1;border:0;border-radius:8px;background:transparent;padding:0}.events-shell a.events-poster-cover-link:hover{border-color:transparent;background:transparent}.events-shell a.events-poster-cover-link:focus-visible{outline:2px solid #fff;outline-offset:-2px}.events-poster-content{position:relative;z-index:2;width:100%;display:grid;gap:6px;pointer-events:none}.events-poster-content .events-mini-signup{pointer-events:auto}.events-mini-card.events-poster-card{min-height:126px;display:flex;align-items:flex-end}.events-shell a.events-mini-poster-link{display:block;border:0;border-radius:6px;background:transparent;padding:8px 0;overflow:visible}.events-shell a.events-mini-poster-link:hover{border-color:transparent;background:transparent}.events-shell a.events-mini-poster-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.events-mini-poster-link img{display:block;width:100%;height:68px;box-sizing:border-box;padding:4px 0;object-fit:contain;background:transparent;border-radius:6px;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease}.events-shell a.events-mini-poster-link:hover img,.events-shell a.events-mini-poster-link:focus-visible img{transform:translateY(-3px);box-shadow:0 9px 18px #46301e33}.events-mini-title{margin:0;border:0;background:transparent;padding:0;color:var(--ink);font-size:12px;font-weight:700;line-height:1.4}.events-ended-badge{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;padding:5px 12px;border-radius:8px;font-size:12px;font-weight:600;line-height:1;color:#fff9;background:#00000059;border:1px solid rgba(255,255,255,.15);pointer-events:none}.events-mini-signup{justify-self:stretch;width:100%;justify-content:center;padding:5px 8px;font-size:12px;border-color:#b53637;color:#fff;background:#b53637}.events-shell a.events-mini-signup:hover{border-color:#9f2f30;background:#9f2f30;color:#fff}.events-shell a.events-signup-button,.events-shell button.events-signup-button,.events-shell button.events-signup-submit{border-color:#b53637;background:#b53637;color:#fff;font-weight:600}.events-shell a.events-signup-button:hover,.events-shell button.events-signup-button:hover,.events-shell button.events-signup-submit:hover{border-color:#9f2f30;background:#9f2f30;color:#fff}.events-shell button.events-primary-button,.events-shell a.events-primary-button{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.events-shell button.events-primary-button:hover:not(:disabled),.events-shell a.events-primary-button:hover{border-color:#a24c22;background:#a24c22;color:#fff}.events-signup-cta{min-width:96px}.events-shell a.events-text-link{display:block;border:0;border-radius:0;background:transparent;padding:0;color:var(--ink);text-decoration:underline;line-height:1.4}.events-shell a.events-text-link:hover{border-color:transparent;background:transparent;color:var(--accent)}.events-empty{margin:0;font-size:13px;color:var(--muted)}.events-admin-form label,.events-auth-form label{display:grid;gap:4px;font-size:13px;color:var(--muted)}.events-admin-form input,.events-admin-search input,.events-admin-form textarea,.events-auth-form input{border:1px solid #d5ccbf;border-radius:8px;background:#fff;padding:8px;color:var(--ink);font-size:13px}.events-shell .danger{border-color:#e4b2a6;background:#fff3f0;color:var(--error)}.events-shell .danger:hover{border-color:#cb5b3d;background:#ffe8e2}.events-auth-card{width:min(460px,100%);margin:20px auto 0;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:14px}.events-auth-card h1{margin:0 0 6px}.events-auth-card>p{margin:0 0 10px;color:var(--muted);font-size:13px}.events-auth-form{display:grid;gap:10px}.events-auth-links{margin:10px 0 0;display:flex;gap:8px}@keyframes theater-breathe{0%,to{opacity:.55}50%{opacity:.85}}@keyframes theater-shimmer{0%{opacity:0;translate:-100% 0}50%{opacity:.18}to{opacity:0;translate:100% 0}}.site-frame:has(.events-theater){--bg: #0e0c0a;--panel: #1a1714;--line: #2e2924;--muted: #8a8078;--accent: #b53637;--accent-soft: rgba(181, 54, 55, .15)}.events-theater{--ink: #e8e2d8;--success: #4caf6a;--error: #e05a3a}.events-theater.events-shell{background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(181,54,55,.06) 0%,transparent 60%),radial-gradient(circle at 20% 90%,rgba(100,30,30,.04) 0%,transparent 50%),var(--bg)}.events-theater.events-shell:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 60% 50% at 50% 20%,rgba(181,54,55,.04) 0%,transparent 70%);animation:theater-breathe 8s ease-in-out infinite}.events-theater button,.events-theater a{border-color:#3a332c;background:#1e1b17;color:var(--ink)}.events-theater button:hover:not(:disabled),.events-theater a:hover{border-color:#ffffffb3;background:#fff;color:#1a1714;box-shadow:0 0 14px #ffffff1f}.events-theater .events-view-tabs button.active{border-color:#fffc;background:#fff;color:#1a1714;box-shadow:0 0 18px #ffffff26}.events-theater a.events-signup-button:hover,.events-theater button.events-signup-button:hover,.events-theater button.events-signup-submit:hover,.events-theater a.events-mini-signup:hover{border-color:#9f2f30;background:#9f2f30;color:#fff;box-shadow:none}.events-theater .events-info{border-color:var(--line);background:var(--panel)}.events-theater .events-info.error{border-color:#e05a3a66;background:#e05a3a14;color:var(--error)}.events-theater .events-info.success{border-color:#4caf6a66;background:#4caf6a14;color:var(--success)}.events-theater .events-panel{border-color:#2a2520;background:var(--panel);box-shadow:0 8px 24px #0000004d}.events-theater .events-nav-title{color:var(--ink)}.events-theater .events-auth-card{border-color:#2a2520;background:var(--panel)}.events-theater .events-auth-form input{border-color:#3a332c;background:#0e0c0a;color:var(--ink)}@media(max-width:880px){.events-shell{padding:12px}.events-header,.events-panel-head{flex-direction:column;align-items:stretch}.events-header-user{align-items:center;justify-content:flex-end;flex-wrap:wrap}.events-session-row{justify-content:flex-end}.events-header-actions{justify-content:flex-end;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.events-shell:before,.events-theater.events-shell:after{animation:none}}.events-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:8px}.events-calendar-weekdays div{border:1px solid #e4dbcf;border-radius:8px;background:#f7f4ef;padding:6px;text-align:center;font-size:12px;color:var(--muted)}.events-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.events-calendar-cell{min-height:170px;border:1px solid #e8dfd3;border-radius:10px;background:#fff;padding:8px;display:flex;flex-direction:column;transition:transform .18s cubic-bezier(.22,1,.36,1)}.events-calendar-cell:hover,.events-calendar-cell:focus-within{transform:translateY(-2px)}.events-calendar-cell.muted{background:#faf7f2;opacity:.8}.events-calendar-cell.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px #bf543133}.events-calendar-cell.today header{border-radius:8px;background:var(--accent-soft);padding:4px 6px;margin:-2px -2px 6px}.events-calendar-cell.today header span,.events-calendar-cell.today header small{color:var(--accent)}.events-calendar-cell header{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:6px}.events-calendar-cell header span{font-weight:600}.events-calendar-cell header small{color:var(--muted);font-size:11px}.events-calendar-weekday-inline{display:none}.events-cell-list{display:flex;flex-direction:column;justify-content:center;gap:6px;flex:1}.events-month-banner{--events-month-banner-signup-width: 24px;position:relative;overflow:hidden;min-height:68px;border:1px solid rgba(216,210,200,.45);border-radius:8px;background-color:#4f4942;background-size:cover;background-position:center;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease}.events-month-banner:hover,.events-month-banner:focus-within{transform:translateY(-3px);box-shadow:0 12px 22px #00000047}.events-month-banner:before{content:"";position:absolute;inset:0;border-radius:8px;background:linear-gradient(to right,#000000b3,#00000080 48%,#0003);z-index:0;pointer-events:none}.events-month-banner.has-signup:before{inset-inline-end:var(--events-month-banner-signup-width);border-radius:8px 0 0 8px}.events-shell a.events-month-banner-cover{position:absolute;inset:0;z-index:1;border:0;border-radius:8px;background:transparent;padding:0}.events-month-banner.has-signup .events-month-banner-cover{inset-inline-end:var(--events-month-banner-signup-width);border-radius:8px 0 0 8px}.events-shell a.events-month-banner-cover:hover{border-color:transparent;background:transparent;box-shadow:none}.events-shell a.events-month-banner-cover:focus-visible{outline:2px solid #fff;outline-offset:-2px}.events-month-banner-body{position:relative;grid-column:1;z-index:2;min-height:100%;padding:8px 10px;display:grid;align-content:center;gap:4px;pointer-events:none}.events-month-banner-title{margin:0;color:#fff;font-size:13px;font-weight:700;line-height:1.25;text-shadow:0 1px 3px rgba(0,0,0,.62);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.events-month-banner-meta{margin:0;font-size:11px;line-height:1.2;color:#ffffffc7;text-shadow:0 1px 2px rgba(0,0,0,.58);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.events-shell a.events-month-banner-signup{grid-column:2;grid-row:1;z-index:2;width:var(--events-month-banner-signup-width);height:100%;padding:0;border-radius:0 8px 8px 0;writing-mode:vertical-rl;text-orientation:upright;font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1;pointer-events:auto}.events-month-banner:hover .events-month-banner-title,.events-month-banner:focus-within .events-month-banner-title{text-decoration:underline;text-underline-offset:2px}.events-mini-more{margin:0;font-size:12px;color:var(--muted)}.events-theater .events-calendar-weekdays div{border-color:#2a2520;background:#161310;color:var(--muted)}.events-theater .events-calendar-cell{border-color:#2a2520;background:#141210}.events-theater .events-calendar-cell.muted{background:#100e0c;opacity:.6}.events-theater .events-calendar-cell.today{border-color:#fff;background:#fff;color:#1a1714;box-shadow:0 0 28px #ffffff2e,0 0 6px #ffffff14}.events-theater .events-calendar-cell.today header{background:transparent}.events-theater .events-calendar-cell.today header span{color:#1a1714;font-size:18px;font-weight:800}.events-theater .events-calendar-cell.today header small{color:#5a5450}.events-theater .events-calendar-cell.today .events-mini-more{color:#5a5450}.events-theater .events-calendar-cell.has-events{border-color:#3a332c;box-shadow:0 0 12px #ffffff08}.events-theater a.events-month-banner-cover:hover,.events-theater a.events-month-banner-cover:focus-visible{border-color:transparent;background:transparent;box-shadow:none}.events-theater .events-month-banner:hover .events-month-banner-title,.events-theater .events-month-banner:focus-within .events-month-banner-title{text-decoration:underline;text-underline-offset:2px}@media(max-width:1200px){.events-calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:880px){.events-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.events-calendar-weekdays{display:none}.events-calendar-weekday-inline{display:inline}}.events-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.events-week-poster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.events-week-poster{aspect-ratio:1 / 1.414;border-radius:12px;display:flex;align-items:flex-end}.events-week-poster-content{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:14px}.events-week-poster-top{display:flex;align-items:flex-start}.events-week-date-badge{display:inline-flex;align-items:baseline;gap:5px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;color:#fff;background:#00000073;border:1px solid rgba(255,255,255,.25);text-shadow:0 1px 2px rgba(0,0,0,.6);pointer-events:none}.events-week-date-badge.is-today{padding:6px 14px;font-size:22px;font-weight:900;letter-spacing:.04em;background:#ffffffeb;border-color:#fff;color:#1a1714;text-shadow:none;box-shadow:0 0 20px #fff3}.events-week-date-badge.is-today .events-week-date-badge-date{font-size:13px;font-weight:600;opacity:.55}.events-week-poster-bottom{display:grid;gap:8px}.events-week-column{border:1px solid #e7ddcf;border-radius:10px;background:#fff;padding:8px;min-height:240px;display:flex;flex-direction:column}.events-week-column.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px #bf543133}.events-week-column.today header{border-radius:8px;border-bottom-color:#bf543159;background:var(--accent-soft);padding:6px 8px;margin:0 0 8px}.events-week-column.today header strong,.events-week-column.today header span{color:var(--accent)}.events-week-column header{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;border-bottom:1px dashed #e4dbcf;padding-bottom:7px}.events-week-column header span{color:var(--muted);font-size:12px}.events-week-column-list{display:flex;flex-direction:column;gap:8px;flex:1}.events-week-column-list.has-events{justify-content:center}.events-week-card{border:1px solid #e8dfd3;border-radius:8px;padding:6px;display:grid;gap:6px}.events-week-card.events-poster-card{min-height:180px;display:flex;align-items:flex-end}.events-shell a.events-week-poster-link{display:block;border:0;border-radius:6px;padding:8px 0;background:transparent;overflow:visible}.events-shell a.events-week-poster-link:hover{border-color:transparent;background:transparent}.events-shell a.events-week-poster-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.events-week-poster-link img{display:block;width:100%;height:72px;box-sizing:border-box;padding:4px 0;border-radius:6px;object-fit:contain;background:transparent;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease}.events-shell a.events-week-poster-link:hover img,.events-shell a.events-week-poster-link:focus-visible img{transform:translateY(-3px);box-shadow:0 9px 18px #46301e33}.events-week-time{margin:0;font-size:13px;font-weight:700;color:var(--accent);text-align:center;letter-spacing:.01em}.events-week-time-chip{display:inline-flex;align-self:flex-start;padding:3px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.5);background:#00000073}.events-week-title{margin:0;border:0;padding:0;background:transparent;font-weight:700;line-height:1.3}.events-title-chip{display:inline-block;align-self:flex-start;max-width:100%;padding:4px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.44);background:#0000006b}.events-shell .events-poster-card .events-mini-title,.events-shell .events-poster-card .events-week-title{color:#fff;text-shadow:0 0 6px rgba(255,255,255,.55),0 1px 2px rgba(0,0,0,.72)}.events-shell .events-poster-card .events-week-time{color:#fff;text-align:left;text-shadow:0 0 6px rgba(255,255,255,.5),0 1px 2px rgba(0,0,0,.72)}.events-theater .events-mini-card{border-color:#2a2520;background:#1a1714}.events-theater .events-poster-card{box-shadow:0 4px 16px #0006}.events-theater .events-poster-card:hover,.events-theater .events-poster-card:focus-within{box-shadow:0 16px 32px #00000080,0 0 24px #ffffff0d}.events-theater .events-poster-card:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.08) 50%,transparent 60%);opacity:0;translate:-100% 0}.events-theater .events-poster-card:hover:after{animation:theater-shimmer .8s ease-out forwards}.events-theater .events-week-column{border-color:#2a2520;background:#141210}.events-theater .events-week-column.today{border-color:#fff;background:#fff;color:#1a1714;box-shadow:0 0 28px #ffffff2e,0 0 6px #ffffff14}.events-theater .events-week-column.today header{background:transparent;border-bottom-color:#e8e2d8}.events-theater .events-week-column.today header strong,.events-theater .events-week-column.today header span{color:#1a1714}.events-theater .events-week-column header{border-bottom-color:#2a2520}.events-theater .events-week-card{border-color:#2a2520}@media(max-width:1200px){.events-week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.events-week-poster-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media(max-width:880px){.events-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.events-week-poster-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}}.events-history-list{display:grid;grid-template-columns:1fr;gap:12px}.events-history-banner{--events-history-signup-width: 68px;--events-history-signup-expand: 16px;--events-history-signup-hit-width: calc(var(--events-history-signup-width) + var(--events-history-signup-expand));position:relative;overflow:hidden;border:1px solid var(--line);border-radius:12px;background-color:#4f4942;background-size:cover;background-position:center;height:180px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease}.events-history-banner:hover{transform:translateY(-3px);box-shadow:0 14px 28px #0000004d}.events-history-banner:before{content:"";position:absolute;inset:0;border-radius:12px;background:linear-gradient(to right,#000000ad,#00000073 40%,#0000002e);z-index:0;pointer-events:none}.events-history-banner.has-signup:before{inset-inline-end:var(--events-history-signup-width);border-radius:12px 0 0 12px}.events-shell a.events-history-banner-cover{position:absolute;inset:0;z-index:1;border:0;border-radius:12px;background:transparent;padding:0}.events-history-banner.has-signup .events-history-banner-cover{inset-inline-end:var(--events-history-signup-width);border-radius:12px 0 0 12px}.events-shell a.events-history-banner-cover:hover{border-color:transparent;background:transparent}.events-shell a.events-history-banner-cover:focus-visible{outline:2px solid #fff;outline-offset:-2px}.events-history-banner-body{position:relative;grid-column:1;z-index:2;min-height:100%;padding:20px 24px;display:flex;align-items:flex-end;pointer-events:none}.events-history-banner-info{display:grid;gap:6px;min-width:0}.events-history-banner-title{margin:0;font-size:20px;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6);line-height:1.3}.events-history-banner-meta{margin:0;font-size:13px;color:#ffffffb3;text-shadow:0 1px 2px rgba(0,0,0,.5)}.events-history-banner-signup-wrap{grid-column:2;grid-row:1;z-index:2;width:var(--events-history-signup-hit-width);height:100%;display:flex;align-items:stretch;justify-content:flex-end;border-radius:0 12px 12px 0;overflow:hidden;pointer-events:auto}.events-shell a.events-history-banner-signup{width:var(--events-history-signup-width);height:100%;padding:0;border-radius:0 12px 12px 0;writing-mode:vertical-rl;text-orientation:upright;font-size:16px;font-weight:700;letter-spacing:.08em;line-height:1;pointer-events:auto;transition:width .18s cubic-bezier(.22,1,.36,1),border-color .12s ease-out,background-color .12s ease-out,color .12s ease-out}.events-history-banner-signup-wrap:hover .events-history-banner-signup,.events-shell a.events-history-banner-signup:focus-visible{width:var(--events-history-signup-hit-width)}.events-history-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:10px}.events-history-toolbar label{display:grid;gap:4px;font-size:12px;color:var(--muted);flex:1 1 auto;min-width:120px}.events-history-toolbar select,.events-history-toolbar input{border:1px solid #d5ccbf;border-radius:8px;background:#fff;padding:8px;color:var(--ink);font-size:13px}.events-history-toolbar button{height:35px}.events-history-card{border:1px solid #e7ddcf;border-radius:10px;background:#fff;padding:10px;display:grid;grid-template-columns:150px 1fr;gap:10px}.events-shell a.events-history-poster-link{display:block;border:0;border-radius:8px;padding:4px 0;background:transparent;overflow:visible}.events-shell a.events-history-poster-link:hover{border-color:transparent;background:transparent}.events-shell a.events-history-poster-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.events-history-poster-link img{display:block;width:100%;height:110px;object-fit:contain;background:transparent;border-radius:8px;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease}.events-shell a.events-history-poster-link:hover img,.events-shell a.events-history-poster-link:focus-visible img{transform:translateY(-3px);box-shadow:0 9px 18px #46301e33}.events-history-body p{margin:0 0 6px;font-size:13px}.events-history-title{border:0;padding:0;justify-content:flex-start;background:transparent;font-weight:600;margin-bottom:6px}.events-history-actions{display:flex;gap:8px}.events-theater .events-history-toolbar select,.events-theater .events-history-toolbar input{border-color:#3a332c;background:#1a1714;color:var(--ink)}.events-theater .events-history-card{border-color:#2a2520;background:#141210}.events-theater .events-history-banner{border-color:#2a2520;background-color:#141210}.events-theater .events-history-banner:hover{box-shadow:0 16px 32px #00000073,0 0 20px #ffffff0a}.events-theater .events-history-banner:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.06) 50%,transparent 60%);opacity:0;translate:-100% 0}.events-theater .events-history-banner:hover:after{animation:theater-shimmer .8s ease-out forwards}@media(max-width:880px){.events-history-banner{--events-history-signup-width: 56px;--events-history-signup-expand: 12px;height:140px}.events-history-banner-body{padding:14px 16px}.events-shell a.events-history-banner-signup{font-size:14px}.events-history-banner-title{font-size:16px}.events-history-banner-meta{font-size:12px}}.progressive-image{position:relative;display:inline-block;max-width:100%;overflow:hidden;isolation:isolate;vertical-align:middle;background:transparent}.progressive-image.is-block{display:block;width:100%}.progressive-image__img{position:relative;z-index:1;display:block;width:auto;height:auto;max-width:100%;opacity:0;filter:blur(10px) saturate(.9);transform:scale(1.03);transition:opacity .26s ease-out,filter .34s ease-out,transform .34s ease-out}.progressive-image.is-loaded .progressive-image__img{opacity:1;filter:blur(0);transform:scale(1)}.progressive-image.is-lite .progressive-image__img{filter:none;transform:none;transition:opacity .2s ease-out}.progressive-image.is-lite.is-loaded .progressive-image__img{opacity:1}.progressive-image__placeholder{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.38),transparent 42%),radial-gradient(circle at 80% 76%,rgba(255,255,255,.26),transparent 44%),linear-gradient(135deg,#f7f3ede6,#e7e0d4eb);backdrop-filter:blur(12px) saturate(.85);-webkit-backdrop-filter:blur(12px) saturate(.85);transition:opacity .28s ease-out}.progressive-image__placeholder:before{content:"";position:absolute;inset:0;background:linear-gradient(112deg,#fff0 18%,#ffffff57,#fff0 78%);transform:translate(-120%);animation:progressive-image-shimmer 1.2s ease-in-out infinite}.progressive-image.is-loaded .progressive-image__placeholder{opacity:0;backdrop-filter:none;-webkit-backdrop-filter:none}.progressive-image.is-loaded .progressive-image__placeholder:before{content:none;animation:none}.progressive-image.is-lite .progressive-image__placeholder{backdrop-filter:none;-webkit-backdrop-filter:none}.progressive-image.is-lite .progressive-image__placeholder:before{content:none;animation:none}@keyframes progressive-image-shimmer{to{transform:translate(120%)}}.events-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.events-detail-header .events-title-block p.events-detail-meta{margin-top:6px;font-size:16px;font-weight:700;color:var(--accent);letter-spacing:.01em}.events-detail-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,1fr);gap:12px;align-items:start;padding-bottom:92px}.events-detail-content{display:grid;gap:12px}.events-detail-sidebar{display:grid;gap:12px;position:sticky;top:12px;align-self:start}.events-detail-hero,.events-detail-intro,.events-detail-info-card{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:14px}.events-detail-intro h2,.events-detail-info-card h2{margin:0 0 8px;font-size:18px}.events-detail-intro p{margin:0;line-height:1.7;white-space:pre-wrap}.events-detail-poster{width:100%;height:min(420px,62vh);object-fit:contain;background:transparent;border-radius:10px;margin:0}.events-signup-submit{width:100%}.events-inline-notice{margin:10px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:13px}.events-inline-notice.error{border-color:#edb6a7;background:#fff4f1;color:var(--error)}.events-inline-notice.success{border-color:#9cccae;background:#eff9f2;color:var(--success)}.events-signup-success-only{margin:0}.events-signup-ack{margin-top:10px}.events-signup-contact-hint{margin:0;font-size:12px;color:var(--muted);line-height:1.5}.events-detail-info-card dl{display:grid;grid-template-columns:78px 1fr;gap:8px 10px;margin:0}.events-detail-info-card dt{color:var(--muted);font-size:13px}.events-detail-info-card dd{margin:0;font-size:13px}.events-detail-info-card dt.events-detail-key-label{color:var(--ink);font-weight:700}.events-detail-info-card dd.events-detail-key-value{font-size:15px;font-weight:700;color:var(--ink)}.events-detail-signup-hint{margin:12px 0 0;font-size:13px;color:var(--muted)}.events-detail-people{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:14px;display:grid;gap:10px}.events-detail-people h2{margin:0;font-size:18px}.events-detail-people-list{display:grid;gap:10px}.events-detail-person-card{border:1px solid #e7ddcf;border-radius:10px;background:#fff;padding:10px;display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;align-items:start}.events-detail-person-card.no-avatar{grid-template-columns:1fr}.events-detail-person-avatar{width:56px;height:56px;border-radius:999px;object-fit:cover;border:1px solid #e8dfd3;background:#f9f4ed}.events-detail-person-body{display:grid;gap:6px}.events-detail-person-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.events-detail-person-head strong{font-size:14px}.events-detail-person-head span{font-size:12px;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:2px 8px}.events-detail-person-body p{margin:0;font-size:13px;color:#6f5f56;line-height:1.6;white-space:pre-wrap}.events-signup-form{display:grid;gap:10px;max-width:440px}.events-signup-form label{display:grid;gap:4px;font-size:13px;color:var(--muted)}.events-signup-form input{border:1px solid #d5ccbf;border-radius:8px;background:#fff;padding:8px;color:var(--ink);font-size:13px}.events-shell button.events-detail-floating-signup{position:fixed;left:50%;transform:translate(-50%);bottom:16px;width:252px;height:62px;padding:0 20px;border:0;border-radius:16px;font-size:17px;line-height:1;white-space:nowrap;letter-spacing:.01em;text-align:center;background:transparent;color:#fff;font-weight:600;box-shadow:none;z-index:36;isolation:isolate;overflow:visible;transition:color .12s ease}.events-shell button.events-detail-floating-signup:before{content:"";position:absolute;left:50%;top:50%;width:100%;height:100%;transform:translate(-50%,-50%);border:1px solid #b53637;border-radius:16px;background:#b53637;box-shadow:0 16px 32px #431c146b;z-index:-1;pointer-events:none;transition:width .2s cubic-bezier(.22,1,.36,1),height .2s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1),border-radius .2s cubic-bezier(.22,1,.36,1),border-color .12s ease,background-color .12s ease,box-shadow .18s ease}.events-shell button.events-detail-floating-ended{color:var(--muted)}.events-shell button.events-detail-floating-ended:before{border-color:#d5ccbf;background:#f7f4ef;box-shadow:0 10px 20px #45342438}.events-shell button.events-detail-floating-signup:hover:not(:disabled):before{width:124px;height:124px;transform:translate(-50%,calc(-50% - 3px));border-radius:999px;border-color:#9f2f30;background:#9f2f30;box-shadow:0 24px 44px #431c148a}.events-shell button.events-detail-floating-ended:hover{transform:translate(-50%);color:var(--muted)}.events-shell button.events-detail-floating-ended:hover:before{width:100%;height:100%;transform:translate(-50%,-50%);border-radius:16px;box-shadow:0 10px 20px #45342438;border-color:#d5ccbf;background:#f7f4ef}.events-shell button.events-detail-floating-signup:active:not(:disabled){transform:translate(-50%)}.events-shell button.events-detail-floating-signup:active:not(:disabled):before{transform:translate(-50%,calc(-50% - 1px)) scale(.97)}.events-shell button.events-detail-floating-ended:disabled{opacity:1;cursor:not-allowed}.events-signup-modal-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:#2419126b;z-index:52}.events-signup-modal-card{width:min(520px,100%);border:1px solid #d99293;border-radius:14px;background:linear-gradient(180deg,#fff8f8,#fff);box-shadow:0 14px 36px #331f144d;padding:14px}.events-signup-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.events-signup-modal-head h2{margin:0;font-size:19px}.events-signup-modal-close{min-width:64px}.events-signup-modal-card>p{margin:0 0 10px;color:#6f5f56;font-size:13px}.events-signup-modal-card .events-signup-form{max-width:none}.events-theater .events-detail-hero,.events-theater .events-detail-intro,.events-theater .events-detail-info-card,.events-theater .events-detail-people{border-color:#2a2520;background:var(--panel)}.events-theater .events-detail-person-card{border-color:#2a2520;background:#141210}.events-theater .events-detail-person-avatar{border-color:#3a332c;background:#1a1714}.events-theater .events-detail-person-body p{color:var(--muted)}.events-theater button.events-detail-floating-signup:before{box-shadow:0 16px 40px #0009,0 0 30px #b5363740}.events-theater button.events-detail-floating-signup:hover:not(:disabled){border-color:transparent;background:transparent;box-shadow:none;color:#fff}.events-theater button.events-detail-floating-signup:hover:not(:disabled):before{box-shadow:0 24px 52px #000000b3,0 0 40px #b536374d}.events-theater button.events-detail-floating-ended:before{border-color:#3a332c;background:#1e1b17;box-shadow:0 10px 24px #0006}.events-theater button.events-detail-floating-ended:hover:before{border-color:#3a332c;background:#1e1b17;box-shadow:0 10px 24px #0006}.events-theater .events-signup-modal-backdrop{background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.events-theater .events-signup-modal-card{border-color:#3a332c;background:linear-gradient(180deg,#1e1b17,#141210);box-shadow:0 20px 48px #0009,0 0 1px #b5363733;color:var(--ink)}.events-theater .events-signup-modal-card>p{color:var(--muted)}.events-theater .events-signup-form input{border-color:#3a332c;background:#0e0c0a;color:var(--ink)}.events-theater .events-inline-notice.error{border-color:#e05a3a66;background:#e05a3a14;color:var(--error)}.events-theater .events-inline-notice.success{border-color:#4caf6a66;background:#4caf6a14;color:var(--success)}@keyframes events-signup-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes events-signup-card-in{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.events-signup-modal-backdrop{animation:events-signup-backdrop-in .18s ease-out both}.events-signup-modal-card{animation:events-signup-card-in .3s cubic-bezier(.22,1,.36,1) 80ms both}@media(prefers-reduced-motion:reduce){.events-signup-modal-backdrop,.events-signup-modal-card{animation:none}}@media(max-width:880px){.events-detail-header{flex-direction:column;align-items:stretch}.events-detail-layout{grid-template-columns:1fr;padding-bottom:82px}.events-detail-sidebar{position:static}.events-shell button.events-detail-floating-signup{bottom:12px;width:min(88vw,220px);height:56px;border-radius:14px;font-size:15px}.events-shell button.events-detail-floating-signup:before{border-radius:14px}.events-shell button.events-detail-floating-signup:hover:not(:disabled):before{width:104px;height:104px;border-radius:999px}}.events-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.events-admin-grid.events-admin-grid--events{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);align-items:start}.events-admin-form{display:grid;gap:10px}.events-admin-price-field{margin:0;border:1px solid #e1d6c8;border-radius:10px;padding:8px;display:grid;gap:8px}.events-admin-price-field legend{padding:0 4px;font-size:13px;color:var(--muted)}.events-admin-price-modes{display:flex;flex-wrap:wrap;gap:12px}.events-admin-price-mode-option{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-size:13px}.events-admin-price-mode-option input{width:auto;margin:0}.events-admin-price-amount-label{display:grid;gap:4px;font-size:13px;color:var(--muted)}.events-admin-price-amount{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.events-admin-price-amount span{color:var(--muted);font-size:13px}.events-admin-price-amount input:disabled{background:#f4efe8;color:#a09585;cursor:not-allowed}.events-admin-time-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.events-admin-people-field{margin:0;border:1px solid #e1d6c8;border-radius:10px;padding:10px;display:grid;gap:10px}.events-admin-people-field legend{padding:0 4px;font-size:13px;color:var(--muted)}.events-admin-people-mode-row{display:grid;gap:8px}.events-admin-organizer-toggle{--organizer-toggle-padding: 3px;position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid #d9cbb8;border-radius:999px;background:#f6efe4;padding:var(--organizer-toggle-padding);overflow:hidden}.events-admin-organizer-toggle-thumb{position:absolute;top:var(--organizer-toggle-padding);left:var(--organizer-toggle-padding);width:calc((100% - (var(--organizer-toggle-padding) * 2)) / 2);height:calc(100% - (var(--organizer-toggle-padding) * 2));border-radius:999px;background:#fff;box-shadow:0 3px 9px #60482e29;transition:transform .18s cubic-bezier(.22,1,.36,1)}.events-admin-organizer-toggle.is-people .events-admin-organizer-toggle-thumb{transform:translate(100%)}.events-admin-organizer-toggle-option{position:relative;display:flex;align-items:center;justify-content:center;min-height:34px;font-size:13px;font-weight:600;color:#7b6a58;cursor:pointer}.events-admin-organizer-toggle-option input{position:absolute;opacity:0;pointer-events:none}.events-admin-organizer-toggle-option span{position:relative;z-index:1}.events-admin-organizer-toggle-option.active{color:#3d3022}.events-admin-people-hint{margin:0;font-size:12px;color:var(--muted)}.events-admin-avatar-upload{display:flex;align-items:center;gap:10px}.events-admin-avatar-upload-input{display:none}.events-admin-people-picker{display:grid;gap:8px;border:1px solid #e8dfd3;border-radius:10px;padding:10px;background:#fff}.events-admin-people-picker h3{margin:0;font-size:14px}.events-admin-people-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.events-admin-people-picker-search{display:grid;gap:8px}.events-admin-people-picker-search input{width:100%}.events-admin-people-picker-dropdown{display:grid;gap:8px}.events-shell button.events-admin-people-picker-toggle{width:100%;justify-content:flex-start;border-style:dashed;border-color:#d8c9b5;background:#fffdfa;color:var(--ink);font-weight:600}.events-shell button.events-admin-people-picker-toggle:hover{border-color:var(--accent);background:#fff4e7}.events-admin-person-picker-dropdown-panel{display:grid;gap:8px}.events-admin-person-picker-options{max-height:216px;overflow:auto;border:1px solid #ece3d8;border-radius:8px;padding:6px;display:grid;gap:6px;background:#fffdfa}.events-admin-person-picker-options .events-empty{margin:0;padding:6px 4px}.events-shell button.events-admin-person-option{width:100%;justify-content:flex-start;gap:8px;border-color:#ece3d8;background:#fff;color:var(--ink);padding:6px 8px}.events-shell button.events-admin-person-option:hover{border-color:var(--accent);background:#fff4e7}.events-admin-person-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.events-admin-person-option-avatar{width:26px;height:26px;border-radius:999px;object-fit:cover;border:1px solid #e8dfd3;background:#f7f1e8;flex:0 0 26px}.events-admin-selected-people-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.events-admin-selected-people-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #ece3d8;border-radius:8px;padding:6px 8px;background:#fffdfa;font-size:13px}.events-admin-selected-people-actions{display:inline-flex;gap:6px;flex-wrap:wrap}.events-admin-quick-person-toggle{display:flex}.events-admin-quick-person{border:1px dashed #d8c9b5;border-radius:10px;padding:10px;display:grid;gap:10px}.events-admin-quick-person h3{margin:0;font-size:14px}.events-admin-quick-person-grid{display:grid;gap:10px}.events-admin-search{display:flex;gap:8px;margin-bottom:10px}.events-admin-search input{flex:1}.events-signups-search{margin-bottom:8px}.events-admin-list{display:grid;gap:8px}.events-admin-list-item{border:1px solid #e7ddcf;border-radius:8px;background:#fff;padding:8px;display:flex;align-items:center;gap:10px}.events-admin-list-item--selectable{cursor:pointer;transition:border-color .12s ease-out,background-color .12s ease-out,box-shadow .14s ease-out}.events-admin-list-item--selectable:hover{border-color:#d9c3a9;background:#fffaf4}.events-admin-list-item.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-soft)}.events-admin-list-item.selected{border-color:var(--accent);background:#fff7ef;box-shadow:inset 0 0 0 1px #bf543129}.events-admin-list-item.archived{background:#fcf8f3}.events-admin-list-item.archived .events-admin-list-poster-link img{opacity:.86}.events-admin-person-avatar{width:56px;height:56px;flex:0 0 56px;border-radius:999px;object-fit:cover;border:1px solid #e8dfd3;background:#f7f1e8}.events-shell a.events-admin-list-poster-link{display:block;flex:0 0 88px;width:88px;border:0;border-radius:8px;padding:4px 0;background:transparent;overflow:visible}.events-shell a.events-admin-list-poster-link:hover{border-color:transparent;background:transparent}.events-shell a.events-admin-list-poster-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.events-admin-list-poster-link img{display:block;width:100%;height:64px;box-sizing:border-box;padding:4px 0;object-fit:contain;background:transparent;border-radius:8px;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease}.events-shell a.events-admin-list-poster-link:hover img,.events-shell a.events-admin-list-poster-link:focus-visible img{transform:translateY(-3px);box-shadow:0 9px 18px #46301e33}.events-admin-list-meta{display:grid;gap:4px;min-width:0;flex:1}.events-admin-list-meta strong{font-size:14px}.events-admin-list-meta span{font-size:12px;color:var(--muted)}.events-admin-list-meta .events-admin-status-tag{display:inline-flex;width:fit-content;align-items:center;font-size:11px;line-height:1;padding:4px 6px;border-radius:999px;color:#7d6250;border:1px solid #d7c7b5;background:#f5ede4}.events-admin-list-actions{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:wrap;align-self:flex-end;margin-left:auto;gap:6px}.events-shell a.events-admin-action-icon,.events-shell button.events-admin-action-icon{width:32px;height:32px;padding:0;border-radius:8px}.events-shell a.events-admin-action-icon svg,.events-shell button.events-admin-action-icon svg{width:16px;height:16px;display:block}.events-admin-list-action-muted{font-size:12px;color:var(--muted);text-align:center}.events-signups-table-wrap{overflow:auto;border:1px solid #e7ddcf;border-radius:10px;background:#fff}.events-signups-table{width:100%;border-collapse:collapse;min-width:460px}.events-signups-table th,.events-signups-table td{text-align:left;padding:8px;border-bottom:1px solid #eee7de;font-size:13px;vertical-align:middle}.events-signups-table th{background:#f7f4ef}.events-signup-verified{display:inline-flex;align-items:center;justify-content:center;border:1px solid #6ab486;border-radius:999px;background:#eaf8ef;color:#1f6f3d;padding:4px 10px;font-size:12px;line-height:1}.events-shell button.events-signup-verify-button{border-color:#b53637;background:#b53637;color:#fff}.events-shell button.events-signup-verify-button:hover:not(:disabled){border-color:#972d2e;background:#972d2e}.events-admin-poster-field{margin:0;border:1px solid #e1d6c8;border-radius:10px;padding:8px;display:grid;gap:8px}.events-admin-poster-field legend{padding:0 4px;font-size:13px;color:var(--muted)}.events-admin-poster-upload{display:flex;flex-direction:column;align-items:center;gap:8px;border:2px dashed #d8c9b5;border-radius:10px;padding:16px;cursor:pointer;transition:border-color .12s ease-out,background-color .12s ease-out}.events-admin-poster-upload:hover{border-color:var(--accent);background:#fff8f0}.events-admin-poster-upload.is-uploading{border-color:var(--accent);background:#fff4e7;pointer-events:none;opacity:.7}.events-admin-poster-preview{max-width:100%;max-height:200px;border-radius:8px;object-fit:contain}.events-admin-poster-placeholder{margin:0;padding:24px 0;font-size:14px;color:var(--muted)}.events-admin-poster-file-input{display:none}.events-admin-poster-hint{margin:0;font-size:12px;color:var(--muted)}.events-admin-poster-uploading{width:100%;display:grid;gap:4px}.events-admin-poster-progress{width:100%;height:4px;background:#e1d6c8;border-radius:2px;overflow:hidden}.events-admin-poster-progress-bar{height:100%;background:var(--accent);border-radius:2px;transition:width .2s ease}.events-admin-poster-progress-text{margin:0;font-size:12px;color:var(--accent);font-weight:600;text-align:center}.events-admin-poster-url-fallback{font-size:13px;color:var(--muted)}.events-admin-poster-url-fallback summary{cursor:pointer;-webkit-user-select:none;user-select:none}.events-admin-poster-url-fallback input{margin-top:6px;width:100%}@media(max-width:1200px){.events-admin-grid.events-admin-grid--events{grid-template-columns:repeat(2,minmax(0,1fr))}.events-admin-grid.events-admin-grid--events>.events-panel:first-child{grid-column:1 / -1}}@media(max-width:880px){.events-admin-grid,.events-admin-time-row{grid-template-columns:1fr}.events-admin-list-item{align-items:flex-start}.events-admin-list-actions{justify-content:flex-start}.events-shell a.events-admin-list-poster-link{flex-basis:72px;width:72px}.events-admin-people-picker-row{grid-template-columns:1fr}.events-admin-selected-people-list li{align-items:flex-start;flex-direction:column}}.library-wall-shell{min-height:100vh;padding:20px;color:var(--ink);background:radial-gradient(circle at top right,#ffeedc 0%,transparent 34%),radial-gradient(circle at bottom left,#f7ebe2 0%,transparent 40%),var(--bg)}@property --library-wall-cell-size{syntax: "<length>"; inherits: true; initial-value: 44px;}.library-wall-shell button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d2c7b8;border-radius:8px;background:#fff;color:var(--ink);padding:7px 10px;font-size:13px;line-height:1;cursor:pointer;transition:border-color .12s ease-out,background-color .12s ease-out,color .12s ease-out}.library-wall-shell button:hover{border-color:var(--accent);background:var(--accent-soft)}.library-wall-shell button:disabled{opacity:.62;cursor:not-allowed}.library-wall-state{margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13px}.library-wall-state.is-error{border-color:#edb6a7;background:#fff4f1;color:var(--error)}.library-wall-state p{margin:0}.library-wall-state button{margin-top:10px}.library-wall-toolbar{margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;gap:8px}.library-wall-toolbar label{font-size:12px;color:var(--muted)}.library-wall-toolbar input{width:100%;border:1px solid #d5ccbf;border-radius:8px;padding:8px 10px;font-size:13px;background:#fff}.library-wall-toolbar p{margin:0;font-size:12px;color:var(--muted)}.library-wall-grid{--library-wall-cell-size: 44px;display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--library-wall-cell-size),var(--library-wall-cell-size)));gap:8px;justify-content:center}.library-wall-card{position:relative;display:block;width:100%;margin:0;padding:0;border:1px solid #e7ddcf;border-radius:0;overflow:visible;aspect-ratio:2 / 3;background:#fff;cursor:pointer;box-shadow:0 3px 10px #543f2924;animation-duration:.52s;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:backwards;transition:transform .26s cubic-bezier(.34,1.42,.64,1),box-shadow .18s ease-out,border-color .16s ease-out}.library-wall-card:active{transform:translate3d(0,4px,0) scale(.98);box-shadow:0 1px 4px #543f291f}.library-wall-card.is-enter-left{animation-name:library-wall-card-drop-left}.library-wall-card.is-enter-right{animation-name:library-wall-card-drop-right}.library-wall-card img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}.library-wall-card:focus-visible{transform:translate3d(0,-10px,0) scale(1.04);border-color:var(--accent);box-shadow:0 14px 26px #543f2938;z-index:96}@keyframes library-wall-card-drop-left{0%{opacity:0;transform:translateY(-42px) rotate(-9deg) scale(.96)}72%{opacity:1;transform:translateY(4px) rotate(1.4deg) scale(1)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes library-wall-card-drop-right{0%{opacity:0;transform:translateY(-42px) rotate(9deg) scale(.96)}72%{opacity:1;transform:translateY(4px) rotate(-1.4deg) scale(1)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}.library-wall-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.library-wall-card__hover-bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(6px);display:grid;gap:2px;width:max-content;max-width:220px;padding:7px 8px;border:1px solid #d6ccb8;border-radius:10px;background:#fffdf8f5;color:var(--ink);box-shadow:0 8px 16px #543f292e;text-align:left;opacity:0;pointer-events:none;transition:opacity .14s ease-out,transform .14s ease-out;z-index:97}.library-wall-card__hover-bubble:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:7px 6px 0;border-style:solid;border-color:#d6ccb8 transparent transparent}.library-wall-card__hover-bubble:after{content:"";position:absolute;top:calc(100% - 1px);left:50%;transform:translate(-50%);border-width:6px 5px 0;border-style:solid;border-color:rgba(255,253,248,.96) transparent transparent}.library-wall-card__hover-bubble.is-left{left:0;transform:translateY(6px)}.library-wall-card__hover-bubble.is-right{left:auto;right:0;transform:translateY(6px)}.library-wall-card__hover-bubble.is-left:before,.library-wall-card__hover-bubble.is-left:after{left:24px;transform:none}.library-wall-card__hover-bubble.is-right:before,.library-wall-card__hover-bubble.is-right:after{left:auto;right:24px;transform:none}.library-wall-card__hover-bubble strong{font-size:12px;line-height:1.24}.library-wall-card__hover-bubble small{color:var(--muted);font-size:11px}.library-wall-card__hover-stock{font-weight:700;color:var(--ink)}.library-wall-card__hover-stock.is-empty{color:var(--error)}.library-wall-modal-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:#3027207a;animation:library-wall-modal-backdrop-in .18s ease-out both}.library-wall-modal-stage{position:relative;width:min(440px,100%)}.library-wall-modal{position:relative;width:100%;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 12px 30px #32231438;transform-origin:78% 100%;will-change:transform,opacity;animation:library-wall-modal-from-book .42s cubic-bezier(.22,1,.36,1) .18s both}.library-wall-modal__cover-bookmark{position:absolute;right:22px;bottom:-56px;margin:0;width:clamp(150px,34%,220px);min-width:120px;border:1px solid #d9d0c3;background:#fff;box-shadow:0 20px 30px #3223144d,0 6px 10px #3223142e;transform:translateY(0);z-index:3;pointer-events:none;will-change:transform,opacity;animation:library-wall-bookmark-in .36s cubic-bezier(.22,1,.36,1) both}.library-wall-modal__cover-bookmark:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px #ffffff38}.library-wall-modal__cover-bookmark img{display:block;width:100%;height:auto}.library-wall-modal h2{margin:0 32px 8px 0;font-size:24px;color:var(--ink)}.library-wall-modal__close{position:absolute;top:10px;right:10px;width:28px;height:28px;padding:0}.library-wall-modal__stock{display:inline-flex;margin:0 0 14px;padding:3px 9px;border:1px solid #9cccae;border-radius:999px;background:#eff9f2;color:var(--success);font-size:12px;font-weight:700}.library-wall-modal__stock.is-empty{border-color:#edb6a7;background:#fff4f1;color:var(--error)}.library-wall-modal__tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.library-wall-modal__tags span{display:inline-flex;align-items:center;border:1px solid #e2d8c8;border-radius:999px;background:#f8f2e9;color:var(--muted);padding:2px 8px;font-size:12px;line-height:1.2}.library-wall-modal__prices{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin:0 0 14px;padding:0;border:0;border-radius:0;background:transparent}.library-wall-price__pair{display:inline-flex;align-items:baseline;gap:6px}.library-wall-price__label{color:var(--muted);font-size:12px}.library-wall-price__list,.library-wall-price__sale{font-size:16px;font-weight:700;color:var(--ink)}.library-wall-price__list.is-strike{color:var(--muted);text-decoration:line-through;text-decoration-thickness:2px}.library-wall-price__sale.is-promo{color:var(--accent)}.library-wall-modal__meta{margin:0;display:grid;gap:9px}.library-wall-modal__meta div{padding:10px;border:1px solid #e8dfd3;border-radius:10px;background:#fff}.library-wall-modal__meta dt{color:var(--muted);font-size:12px}.library-wall-modal__meta dd{margin:4px 0 0;color:var(--ink);font-size:14px}@keyframes library-wall-modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes library-wall-modal-from-book{0%{opacity:0;transform:translateY(56px) scale(.96)}68%{opacity:.96;transform:translateY(-6px) scale(1.004)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes library-wall-bookmark-in{0%{opacity:0;transform:translateY(24px) rotate(1.8deg) scale(.96)}70%{opacity:1;transform:translateY(-2px) rotate(-.5deg) scale(1.01)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@media(hover:hover)and (pointer:fine){.library-wall-card:hover{transform:translate3d(0,-10px,0) scale(1.04);border-color:var(--accent);box-shadow:0 14px 26px #543f2938;z-index:96}.library-wall-card:hover:active,.library-wall-card:focus-visible:active{transform:translate3d(0,-2px,0) scale(1.01);box-shadow:0 6px 12px #543f2929}.library-wall-card:hover .library-wall-card__hover-bubble,.library-wall-card:focus-visible .library-wall-card__hover-bubble{opacity:1;transform:translate(-50%) translateY(0)}.library-wall-card:hover .library-wall-card__hover-bubble.is-left,.library-wall-card:focus-visible .library-wall-card__hover-bubble.is-left,.library-wall-card:hover .library-wall-card__hover-bubble.is-right,.library-wall-card:focus-visible .library-wall-card__hover-bubble.is-right{transform:translateY(0)}}@media(hover:none),(pointer:coarse){.library-wall-card__hover-bubble{display:none}.library-wall-card:focus-visible{outline:none;transform:none;box-shadow:0 3px 10px #543f2924;border-color:#e7ddcf}}@media(max-width:880px){.library-wall-shell{padding:12px}.library-wall-sync-row,.library-wall-admin-panel__controls{align-items:stretch}.library-wall-admin-panel__controls label,.library-wall-admin-panel__controls input{width:100%}.library-wall-sync-row .library-wall-sync-progress{min-width:0;width:100%}.library-wall-missing-list{grid-template-columns:1fr}.library-wall-grid{gap:7px}.library-wall-modal__cover-bookmark{right:14px;bottom:-64px;width:min(36vw,190px)}}@media(max-width:640px){.library-wall-grid{gap:6px}.library-wall-modal__cover-bookmark{right:10px;bottom:-64px;width:min(42vw,155px)}}@media(max-width:880px)and (pointer:coarse){.library-wall-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}@media(max-width:640px)and (pointer:coarse){.library-wall-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:480px)and (pointer:coarse){.library-wall-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.library-wall-card{animation:none;transition:none}.library-wall-grid,.library-wall-card__hover-bubble{transition:none}.library-wall-modal-backdrop,.library-wall-modal,.library-wall-modal__cover-bookmark{animation:none}}.blog-shell{min-height:100vh;padding:20px;color:var(--ink);background:radial-gradient(circle at top right,#ffeedc 0%,transparent 34%),radial-gradient(circle at bottom left,#f7ebe2 0%,transparent 40%),var(--bg)}.blog-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.blog-page-title{margin:0;font-size:26px;letter-spacing:.02em}.blog-sync-btn{flex-shrink:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);padding:6px 14px;font-size:13px;cursor:pointer;transition:border-color .12s ease-out,background-color .12s ease-out}.blog-sync-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.blog-sync-btn:disabled{opacity:.6;cursor:not-allowed}.blog-sync-result{margin:0 0 12px;font-size:13px;color:var(--muted)}.blog-sync-panel{margin:0 0 16px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.blog-sync-status{margin:0 0 8px;font-size:13px;color:var(--ink)}.blog-sync-progress-bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin-bottom:8px}.blog-sync-progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .2s ease-out}.blog-sync-sub-progress{height:4px;border-radius:2px;margin-top:-4px}.blog-sync-sub-progress .blog-sync-progress-fill{background:var(--muted);border-radius:2px}.blog-sync-log{margin:0;padding:0;list-style:none;font-size:12px;color:var(--muted);max-height:120px;overflow-y:auto}.blog-sync-log li{padding:2px 0}.blog-tag-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.blog-tag-chip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);padding:5px 14px;font-size:13px;line-height:1.4;cursor:pointer;text-decoration:none;transition:border-color .12s ease-out,background-color .12s ease-out}.blog-tag-chip:hover{border-color:var(--accent);background:var(--accent-soft)}.blog-tag-chip--active{border-color:var(--accent);background:var(--accent);color:var(--panel)}.blog-tag-chip--small{padding:3px 10px;font-size:12px}.blog-list{display:grid;column-gap:20px;row-gap:16px}@media(min-width:560px){.blog-list{grid-template-columns:repeat(2,1fr)}}@media(min-width:860px){.blog-list{grid-template-columns:repeat(3,1fr)}}.blog-card{position:relative;z-index:0;background:transparent;border:none;border-radius:0;padding:10px 0 0;overflow:visible}.blog-card-link{display:block;position:relative;text-decoration:none;color:inherit;border:none;border-radius:0;background:transparent;padding:0;transform:none;transition:none}.blog-card-link:hover,.blog-card-link:active{border-color:transparent;background:transparent;transform:none}.blog-envelope{position:relative;z-index:2;height:160px;overflow:hidden;background-color:#ddcdac;background-image:url(/assets/tex_paper.jpg);background-size:400px 400px;background-blend-mode:multiply;border:1px solid #e8dfd0;padding:20px 20px 28px;box-sizing:border-box;box-shadow:0 2px 8px #543f291a,0 1px 3px #543f290f;transition:box-shadow .18s ease-out}.blog-card:hover .blog-envelope{box-shadow:0 4px 16px #543f2924,0 2px 6px #543f2914}.blog-envelope-front{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding-right:80px}.blog-envelope-back:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%) rotate(.5deg);width:60%;height:32px;background:linear-gradient(135deg,#dcc4a240,#dcc4a226,#dcc4a240);border-left:1px dashed rgba(28,12,5,.12);border-right:1px dashed rgba(28,12,5,.12);pointer-events:none}.blog-envelope-stamp{position:absolute;top:10px;right:10px;z-index:1;width:64px;height:64px;box-shadow:0 0 0 1px var(--line);isolation:isolate}.blog-envelope-stamp:before{content:"";position:absolute;inset:-8px;border:1px dashed rgba(84,63,41,.28);border-radius:2px;pointer-events:none;z-index:-1}.blog-envelope-stamp img{display:block;width:100%;height:100%;object-fit:cover}.blog-envelope-stamp:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background-image:url(/assets/tex_paper.jpg);background-size:200px 200px;mix-blend-mode:multiply;opacity:.45}.blog-envelope-date{font-size:11px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.blog-envelope-title{margin:0;font-size:17px;font-weight:600;line-height:1.4;color:var(--ink);text-align:left;letter-spacing:.02em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.blog-letter-peek{position:absolute;top:0;left:8px;right:8px;height:80px;z-index:1;background:#fffffe;border-radius:6px 6px 0 0;padding:10px 16px 0;overflow:hidden;transform:translateY(-6px);will-change:transform;pointer-events:none}.blog-letter-peek:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(180deg,transparent,transparent 19px,rgba(28,12,5,.04) 19px,rgba(28,12,5,.04) 20px);pointer-events:none}.blog-letter-excerpt{position:relative;z-index:1;margin:0;font-size:13px;line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}@media(max-width:640px){.blog-card{padding-top:56px}.blog-envelope{padding:16px 16px 20px}.blog-envelope-stamp{width:56px;height:56px}.blog-envelope-title{font-size:16px}.blog-envelope-date{font-size:10px}}.blog-card-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.blog-card-link:focus-visible .blog-envelope{box-shadow:0 6px 20px #543f292e,0 2px 8px #543f291a}@media(prefers-reduced-motion:reduce){.blog-envelope{transition:none}}.blog-empty{grid-column:1 / -1;text-align:center;color:var(--muted);font-size:14px;padding:40px 0}.blog-back-link{display:inline-block;font-size:13px;color:var(--muted);text-decoration:none;margin-bottom:16px;transition:color .12s ease-out}.blog-back-link:hover{color:var(--accent)}.blog-post{max-width:720px;margin:0 auto;animation:blog-post-unfold .38s cubic-bezier(.22,1,.36,1) both}@keyframes blog-post-unfold{0%{opacity:0;transform:perspective(800px) rotateX(-8deg) translateY(-12px)}to{opacity:1;transform:perspective(800px) rotateX(0) translateY(0)}}@media(prefers-reduced-motion:reduce){.blog-post{animation:none}}.blog-post-cover-wrap{margin-bottom:20px;border-radius:12px}.blog-post-cover{display:block;width:100%;height:auto;object-fit:contain}.blog-post-header{margin-bottom:24px}.blog-post-title{margin:0 0 8px;font-size:28px;line-height:1.3;letter-spacing:.01em}.blog-post-date{display:block;font-size:13px;color:var(--muted);margin-bottom:10px}.blog-post-tags{display:flex;flex-wrap:wrap;gap:6px}.blog-post-content{line-height:1.6;font-size:15px;letter-spacing:.06em;font-weight:400;color:var(--ink);background:#fffffe;padding:28px 32px;border-radius:8px;box-shadow:0 2px 12px #543f2914,inset 0 0 0 1px #dcc4a226;background-image:repeating-linear-gradient(180deg,transparent,transparent 23px,rgba(28,12,5,.03) 23px,rgba(28,12,5,.03) 24px)}@media(max-width:640px){.blog-post-content{padding:20px 24px}}.blog-post-content h1,.blog-post-content h2,.blog-post-content h3{margin:1.5em 0 .5em;line-height:1.3}.blog-post-content h1{font-size:24px}.blog-post-content h2{font-size:20px}.blog-post-content h3{font-size:17px}.blog-post-content p{margin:0 0 1em}.blog-post-content img{display:block;width:auto;max-width:100%;height:auto}.blog-post-content .progressive-image{margin:1em 0;border-radius:8px}.blog-post-content .progressive-image__img{width:100%;margin:0;border-radius:0}.blog-post-content blockquote{border-left:3px solid var(--accent);margin:1em 0;padding:.5em 1em;color:var(--muted);background:var(--panel);border-radius:0 8px 8px 0}.blog-post-content a{color:var(--accent);text-decoration:underline}.blog-post-content ul,.blog-post-content ol{margin:0 0 1em;padding-left:1.5em}.blog-post-content li{margin-bottom:.3em}.blog-post-content code{background:#0000000d;padding:2px 6px;border-radius:4px;font-size:.9em}.blog-post-content pre{background:#0000000d;padding:12px 16px;border-radius:8px;overflow-x:auto;margin:1em 0}.blog-post-content pre code{background:none;padding:0}.blog-post-content hr{border:none;border-top:1px solid var(--line);margin:2em 0}.blog-post-content table{width:100%;border-collapse:collapse;margin:1em 0;font-size:14px}.blog-post-content th,.blog-post-content td{border:1px solid var(--line);padding:8px 12px;text-align:left}.blog-post-content th{background:#00000008;font-weight:600}.blog-post-nav{display:flex;gap:16px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}.blog-post-nav-link{flex:1;display:flex;flex-direction:column;gap:4px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:inherit;transition:border-color .12s ease-out,background-color .12s ease-out}.blog-post-nav-link:hover{border-color:var(--accent);background:var(--accent-soft)}.blog-post-nav-next{text-align:right}.blog-post-nav-label{font-size:12px;color:var(--muted)}.blog-post-nav-title{font-size:14px;line-height:1.4}.ua-role-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.ua-role-badge.admin{background:var(--accent-soft);color:var(--accent)}.ua-role-badge.editor,.ua-role-badge.tagger{background:var(--bg);color:var(--muted)}.ua-self-label{font-size:12px;color:var(--muted)}.ua-role-hint{margin:0;font-size:12px;color:var(--muted)}.site-header{position:sticky;top:0;z-index:10100;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:25px 20px;border-bottom:.5px solid #ffffff38;background:transparent;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px)}.site-header-main{display:flex;align-items:center;gap:16px;min-width:0}.site-header .site-title-link{display:inline-flex;align-items:center;text-decoration:none;border:0;border-radius:0;background:transparent;padding:0;transform:none}.site-header .site-title-link:hover,.site-header .site-title-link:active{border:0;background:transparent;transform:none}.site-title-logo{display:block;width:auto;height:44px}.site-nav{display:flex;align-items:center;gap:8px}.site-nav-toggle{display:none;flex-shrink:0;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #d2c7b8;border-radius:999px;background:#fff;color:var(--ink);cursor:pointer;transition:border-color .12s ease-out,background-color .12s ease-out}.site-nav-toggle:hover{border-color:var(--accent);background:var(--accent-soft)}.site-nav-toggle-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:18px;height:14px}.site-nav-toggle-icon span{display:block;width:18px;height:2px;border-radius:1px;background:currentColor;transition:transform .12s ease-out}.site-nav--open .site-nav-toggle-icon span:nth-child(1){transform:translateY(7px) rotate(45deg)}.site-nav--open .site-nav-toggle-icon span:nth-child(2){opacity:0}.site-nav--open .site-nav-toggle-icon span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-nav-menu{display:flex;align-items:center;gap:8px}.site-header-session-wrap{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.site-nav-dropdown{position:relative}button.site-nav-dropdown-trigger{font-family:inherit}.site-nav-dropdown-trigger:after{content:" ▾";font-size:10px;opacity:.55;display:inline-block;transition:transform .16s ease-out}.site-nav-dropdown--open>.site-nav-dropdown-trigger:after{transform:rotate(180deg)}.site-nav-dropdown-panel{position:absolute;top:100%;left:0;margin-top:2px;display:flex;flex-direction:column;gap:4px;min-width:110px;padding:8px;border:1px solid #d2c7b8;border-radius:12px;background:#fff;box-shadow:0 8px 24px #0000001f;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity .12s ease-out,transform .12s ease-out,visibility .12s ease-out;z-index:101}.site-nav-dropdown-panel:before{content:"";position:absolute;top:-6px;left:0;right:0;height:6px}.site-nav-dropdown--open>.site-nav-dropdown-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}@media(hover:hover)and (pointer:fine){.site-nav-dropdown:hover>.site-nav-dropdown-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}}.site-nav-dropdown-panel .site-nav-link{border-color:transparent;border-radius:8px;justify-content:flex-start}.site-nav-dropdown-panel .site-nav-link:hover{border-color:transparent;border-radius:8px}.site-nav-dropdown-panel .site-nav-link.active{border-color:transparent}.site-header-session{justify-content:flex-end}.site-header-session .user-session-row__label{white-space:nowrap}.site-header-session-logout{border:1px solid #d2c7b8;border-radius:999px;background:#fff;color:var(--ink);padding:6px 12px;font-size:12px;line-height:1;cursor:pointer;transition:border-color .12s ease-out,background-color .12s ease-out,color .12s ease-out}.site-header-session-logout:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.site-header-session-logout:disabled{opacity:.62;cursor:not-allowed}.site-nav-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d2c7b8;border-radius:14px;background:#fff;color:var(--ink);padding:6px 12px;font-size:13px;line-height:1;text-decoration:none;transition:border-color .12s ease-out,background-color .12s ease-out,color .12s ease-out,border-radius .3s cubic-bezier(.4,0,.2,1)}.site-nav-link:hover{border-color:var(--accent);background:var(--accent);color:#fff;border-radius:2px}.site-nav-link.active{border-color:var(--accent);background:var(--accent);color:#fff}.site-footer{position:relative;margin:0;padding:40px 20px 18px;background:var(--bg);color:var(--muted);font-size:13px;line-height:1.55}.site-footer:before{content:"";position:absolute;bottom:100%;left:0;right:0;height:80px;background:linear-gradient(transparent,var(--bg));pointer-events:none}.site-footer p{margin:0}.site-footer-logo{display:block;height:32px;width:auto;margin-bottom:10px;opacity:.85}.site-footer-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.site-footer-social{display:flex;align-items:center;gap:10px;flex-shrink:0}.site-footer-social a,.site-footer-social button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);cursor:pointer;transition:border-color .12s ease-out,background-color .12s ease-out,color .12s ease-out}.site-footer-social a:hover,.site-footer-social button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.site-footer-qr-overlay{position:fixed;inset:0;z-index:10200;display:flex;align-items:center;justify-content:center;background:#00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.site-footer-qr-panel{position:relative;padding:28px 24px 20px;border-radius:14px;background:var(--panel);box-shadow:0 8px 32px #0000002e;text-align:center;max-width:280px;width:90vw}.site-footer-qr-close{position:absolute;top:8px;right:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:999px;background:transparent;color:var(--muted);font-size:14px;cursor:pointer;transition:background-color .12s ease-out,color .12s ease-out}.site-footer-qr-close:hover{background:var(--close-soft);color:var(--close)}.site-footer-qr-img{display:block;width:200px;height:200px;margin:0 auto;border-radius:8px;object-fit:contain}.site-footer-qr-hint{margin:10px 0 0;font-size:13px;color:var(--muted)}.site-footer-version{margin-top:6px;font-size:11px;opacity:.65;letter-spacing:.01em}@media(max-width:880px){.site-header{padding:8px 12px;gap:10px}.site-header-main{width:100%;justify-content:space-between}.site-title-logo{height:38px}.site-header-session-wrap{width:100%;margin-left:0}.site-header-session{width:100%;justify-content:flex-end}.site-header-session{flex-wrap:wrap}.site-nav-link{padding:6px 10px;font-size:12px}.site-footer{padding:12px;font-size:12px}.site-footer-row{flex-direction:column;gap:12px}}@media(max-width:768px){.site-nav{position:relative;flex-direction:column;align-items:stretch;gap:0}.site-nav-toggle{display:inline-flex}.site-nav-menu{position:absolute;top:100%;right:0;margin-top:8px;flex-direction:column;align-items:stretch;gap:4px;min-width:160px;padding:8px;border:1px solid #d2c7b8;border-radius:12px;background:#fff;box-shadow:0 8px 24px #0000001f;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .16s ease-out,transform .16s ease-out,visibility .16s ease-out;z-index:100}.site-nav--open .site-nav-menu{opacity:1;visibility:visible;transform:translateY(0)}.site-nav-menu .site-nav-link{display:block;padding:10px 14px;border-radius:8px;text-align:left}.site-nav-menu .site-nav-link:hover{background:var(--accent-soft);border-radius:8px}.site-nav-menu .site-nav-link.site-nav-link--pc-only{display:none}.site-nav-menu .site-nav-dropdown{position:static}.site-nav-menu .site-nav-dropdown-trigger{display:block;padding:10px 14px;border-radius:8px;text-align:left;width:100%}.site-nav-menu .site-nav-dropdown-panel{position:static;margin-top:0;min-width:0;padding:0 0 0 14px;border:none;border-radius:0;background:transparent;box-shadow:none;transform:none;display:none}.site-nav-menu .site-nav-dropdown-panel:before{display:none}.site-nav-menu .site-nav-dropdown--open>.site-nav-dropdown-panel{display:flex;opacity:1;visibility:visible;pointer-events:auto;transform:none}.site-nav-menu .site-nav-dropdown-panel .site-nav-link{font-size:12px}}
