:root{--font-body:-apple-system, BlinkMacSystemFont, "Helvetica Neue", system-ui, Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--color-bg:#fafafa;--color-surface:#fff;--color-text:#111;--color-text-muted:#6b6b6b;--color-text-subtle:#999;--color-border:#e5e5e5;--color-border-strong:#ccc;--color-accent:#0f4c81;--color-error:#b54708;--color-warning:#b54708;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}[data-theme=dark]{--color-bg:#0f1115;--color-surface:#161922;--color-text:#e8e8e8;--color-text-muted:#9ea3ad;--color-text-subtle:#6b7280;--color-border:#1f232c;--color-border-strong:#2a2f3a;--color-accent:#6ea8fe;--color-error:#f59e7a;--color-warning:#f5a76a;color:var(--color-text);background:var(--color-bg)}*{box-sizing:border-box}body{min-height:100vh;margin:0;transition:background-color .25s,color .25s}.print-only{display:none}@media print{.page>:not(.print-only){display:none!important}.page{margin:0!important;padding:0!important;display:block!important}.print-only{color:#111;background:#fff;width:100%;font-family:Helvetica,Arial,sans-serif;font-size:11pt;display:block;position:absolute;top:0;left:0}.print-brand{color:#666;letter-spacing:.15em;margin:0 0 2pt;font-size:9pt}.print-title{color:#111;margin:0 0 4pt;font-size:20pt;font-weight:700}.print-meta{color:#444;margin:0 0 2pt;font-size:11pt}.print-filtered{color:#666;margin:8pt 0 0;font-size:9pt;font-style:italic}.print-empty{color:#666;margin-top:12pt;font-size:11pt;font-style:italic}.print-table{border-collapse:collapse;width:100%;margin-top:12pt}.print-table thead th{text-align:left;color:#111;background:#f2f2f2;border-bottom:.75pt solid #ccc;padding:6pt;font-size:10pt;font-weight:700}.print-table td{color:#111;vertical-align:top;border-bottom:.25pt solid #e5e5e5;padding:6pt;font-size:10pt}.print-table .mono{font-family:Courier New,Courier,monospace}.print-table tr.print-sub td{color:#333;background:#fafafa;font-size:9pt}.print-table tr.print-muted td{color:#999}.print-table tr{page-break-inside:avoid}@page{margin:1.8cm}}.page{max-width:880px;margin:0 auto;padding:4rem 2rem}.page-header{margin-bottom:2.5rem}.brand{font-family:var(--font-mono);letter-spacing:.2em;color:var(--color-text-subtle);margin:0 0 .5rem;font-size:.8rem}.back-link{color:var(--color-text-subtle);text-decoration:none;transition:color .2s}.back-link:hover{color:var(--color-text)}.page-header h1{color:var(--color-text);letter-spacing:-.01em;margin:0 0 .25rem;font-size:1.75rem;font-weight:600}.muted{color:var(--color-text-subtle);margin:0}.description{color:var(--color-text-muted);margin:.75rem 0 0}.progress-line{color:var(--color-text-muted);margin:0;font-size:.95rem}.mono{font-family:var(--font-mono)}.status-error{font-family:var(--font-mono);color:var(--color-error);margin:0;font-size:.95rem}.header-bottom{justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1rem;display:flex}.export-pdf{font-family:var(--font-mono);letter-spacing:.05em;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:2px;padding:.4rem .75rem;font-size:.85rem;text-decoration:none;transition:border-color .15s,color .15s}.export-pdf:hover{border-color:var(--color-text-muted);color:var(--color-text)}.export-pdf:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.event-list{border-top:1px solid var(--color-border);margin:0;padding:0;list-style:none}.event-row{border-bottom:1px solid var(--color-border)}.event-link{color:var(--color-text);justify-content:space-between;align-items:baseline;padding:1rem 0;text-decoration:none;transition:color .2s;display:flex}.event-link:hover{color:var(--color-accent)}.event-name{font-weight:500}.event-date{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.9rem}.task-table{border-collapse:collapse;width:100%;font-size:.95rem}.task-table thead th{text-align:left;color:var(--color-text);border-bottom:1px solid var(--color-border-strong);background:var(--color-surface);letter-spacing:.05em;text-transform:uppercase;padding:.75rem;font-size:.85rem;font-weight:600}.task-table tbody td{border-bottom:1px solid var(--color-border);vertical-align:top;color:var(--color-text);padding:.85rem .75rem}.task-table tr.task-done td{color:var(--color-text-subtle)}.task-table tr.task-done td:first-child{text-decoration:line-through}.status-toggle{font:inherit;font-family:var(--font-mono);color:inherit;cursor:pointer;background:0 0;border:none;border-bottom:1px dashed #0000;margin:0;padding:0;transition:border-color .15s,color .15s}.status-toggle:hover{border-bottom-color:var(--color-text-muted);color:var(--color-accent)}.status-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}.task-done .status-toggle{color:var(--color-text-subtle)}.task-done .status-toggle:hover{color:var(--color-text-muted)}.status-task-error{color:var(--color-error);margin-top:.25rem;font-size:.8rem}.header-top{justify-content:space-between;align-items:baseline;margin-bottom:.25rem;display:flex}.theme-toggle{border:1px solid var(--color-border);font-family:var(--font-mono);letter-spacing:.15em;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:2px;padding:.3rem .6rem;font-size:.75rem;transition:border-color .15s,color .15s}.theme-toggle:hover{border-color:var(--color-text-muted);color:var(--color-text)}.theme-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.runway-wrapper{width:100%;max-width:360px;margin-top:.6rem}.runway-svg{width:100%;height:28px;display:block;overflow:visible}.runway-plane{transition:transform .5s cubic-bezier(.2,.8,.2,1)}.header-progress{flex-direction:column;align-items:flex-start;display:flex}.empty-state{border:1px dashed var(--color-border-strong);text-align:center;background:var(--color-surface);border-radius:4px;margin-top:1rem;padding:2.5rem 1.5rem}.empty-state-title{letter-spacing:.2em;color:var(--color-text-subtle);margin:0 0 .5rem;font-size:.85rem}.empty-state-body{color:var(--color-text-muted);margin:0;font-size:.95rem;line-height:1.5}.admin-form{flex-direction:column;gap:1.5rem;display:flex}.form-row{flex-direction:column;gap:.4rem;display:flex}.form-row label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-size:.8rem}.form-row input,.form-row textarea,.form-row select{font-family:var(--font-body);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:2px;padding:.6rem .75rem;font-size:1rem;transition:border-color .15s}.form-row input.mono,.form-row textarea.mono{font-family:var(--font-mono)}.form-row input:focus,.form-row textarea:focus,.form-row select:focus{border-color:var(--color-accent);outline:none}.form-hint{color:var(--color-text-subtle);margin:0;font-size:.85rem;line-height:1.4}.form-error{color:var(--color-error);margin:0;font-size:.9rem}.form-success{border:1px solid var(--color-border);background:var(--color-surface);border-radius:2px;flex-direction:column;gap:.5rem;margin-top:1rem;padding:1rem;display:flex}.admin-form-actions{gap:.75rem;margin-top:.5rem;display:flex}.primary-button{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--color-text);background:var(--color-text);color:var(--color-bg);cursor:pointer;border-radius:2px;padding:.7rem 1.2rem;font-size:.85rem;transition:opacity .15s}.primary-button:hover{opacity:.85}.primary-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:2px;padding:.7rem 1.2rem;font-size:.85rem;transition:border-color .15s,color .15s}.secondary-button:hover{border-color:var(--color-text-muted);color:var(--color-text)}.form-section{border-top:1px solid var(--color-border);flex-direction:column;gap:1rem;padding-top:1.5rem;display:flex}.form-section-header{flex-direction:column;gap:.25rem;display:flex}.form-section-header h2{color:var(--color-text);margin:0;font-size:1.1rem;font-weight:600}.condition-row{border:1px solid var(--color-border);background:var(--color-surface);border-radius:2px;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.condition-fields{flex-direction:column;flex:1;gap:.75rem;display:flex}.row-remove{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:2px;padding:.4rem .7rem;font-size:.75rem;transition:border-color .15s,color .15s}.row-remove:hover{border-color:var(--color-error);color:var(--color-error)}.phase-block{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:4px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.phase-header{border-bottom:1px solid var(--color-border);align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex}.phase-fields{flex-direction:column;flex:1;gap:.75rem;display:flex}.task-list{border-left:2px dashed var(--color-border);flex-direction:column;gap:.75rem;padding-left:1rem;display:flex}.task-block{border:1px solid var(--color-border);background:var(--color-bg);border-radius:2px;align-items:flex-start;gap:1rem;padding:.85rem;display:flex}.task-fields{flex-direction:column;flex:1;gap:.6rem;display:flex}.task-meta-row{grid-template-columns:1fr 1fr 1fr;gap:.75rem;display:grid}.header-top-actions{align-items:center;gap:.75rem;display:flex}.header-link{letter-spacing:.15em;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:2px;padding:.3rem .6rem;font-size:.75rem;text-decoration:none;transition:border-color .15s,color .15s}.header-link:hover{border-color:var(--color-text-muted);color:var(--color-text)}.catalog-tabs{border-bottom:1px solid var(--color-border-strong);flex-wrap:wrap;gap:0;margin-bottom:2rem;display:flex}.catalog-tab{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-subtle);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding:.85rem 1.25rem;font-size:.75rem;transition:color .15s,border-color .15s;display:inline-flex}.catalog-tab:hover{color:var(--color-text-muted)}.catalog-tab.active{color:var(--color-text);border-bottom-color:var(--color-text)}.catalog-tab-count{color:var(--color-text-subtle);border:1px solid var(--color-border);text-align:center;border-radius:8px;min-width:1.25rem;padding:.1rem .4rem;font-size:.7rem;display:inline-block}.catalog-tab.active .catalog-tab-count{color:var(--color-text);border-color:var(--color-border-strong)}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.module-card{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:4px;flex-direction:column;justify-content:space-between;gap:1rem;padding:1.25rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.module-card:hover{border-color:var(--color-text-muted)}.module-card-body{flex-direction:column;gap:.5rem;display:flex}.module-card-name{color:var(--color-text);margin:0;font-size:1.05rem;font-weight:600}.module-card-description{color:var(--color-text-muted);margin:0;font-size:.9rem;line-height:1.4}.module-card-meta{color:var(--color-text-subtle);letter-spacing:.05em;border-top:1px solid var(--color-border);gap:1rem;padding-top:.75rem;font-size:.8rem;display:flex}.module-detail-category{letter-spacing:.2em;color:var(--color-text-subtle);margin:0 0 .5rem;font-size:.75rem}.module-detail-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:1.25rem;margin:1.25rem 0 1.5rem;font-size:.85rem;display:flex}.module-detail-cta{margin:1rem 0 0}.primary-button-link{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--color-text);background:var(--color-text);color:var(--color-bg);border-radius:2px;padding:.7rem 1.2rem;font-size:.85rem;text-decoration:none;transition:opacity .15s;display:inline-block}.primary-button-link:hover{opacity:.85}.section-title{color:var(--color-text);margin:2rem 0 1rem;font-size:1.05rem;font-weight:600}.module-detail-phases,.module-detail-conditions{margin-top:1rem}.phase-summary-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.phase-summary{border:1px solid var(--color-border);background:var(--color-surface);border-radius:4px;padding:1rem 1.25rem}.phase-summary-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:baseline;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.phase-summary-name{color:var(--color-text);font-weight:600}.phase-summary-count{color:var(--color-text-subtle);font-size:.8rem}.phase-summary-tasks{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.phase-summary-task{color:var(--color-text);flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.9rem;display:flex}.task-condition-tag{color:var(--color-text-subtle);letter-spacing:.05em;border:1px solid var(--color-border);border-radius:2px;padding:.1rem .4rem;font-size:.7rem}.condition-summary-list{border-top:1px solid var(--color-border);flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.condition-summary{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:baseline;padding:.6rem 0;display:flex}.condition-summary-name{color:var(--color-text)}.condition-summary-default{color:var(--color-text-subtle);font-size:.8rem}.condition-toggles{flex-direction:column;gap:.85rem;display:flex}.condition-toggle{cursor:pointer;align-items:center;gap:.85rem;padding:.6rem 0;display:flex}.condition-toggle input{opacity:0;pointer-events:none;position:absolute}.condition-toggle-track{background:var(--color-border);border-radius:11px;flex-shrink:0;width:40px;height:22px;transition:background-color .2s;display:inline-block;position:relative}.condition-toggle-thumb{background:var(--color-bg);border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.condition-toggle input:checked~.condition-toggle-track{background:var(--color-accent)}.condition-toggle input:checked~.condition-toggle-track .condition-toggle-thumb{transform:translate(18px)}.condition-toggle input:focus-visible~.condition-toggle-track{outline:2px solid var(--color-accent);outline-offset:3px}.condition-toggle-label{color:var(--color-text);font-size:.95rem}.event-group{margin-bottom:2rem}.event-group:last-child{margin-bottom:0}.event-group-title{letter-spacing:.15em;color:var(--color-text-muted);align-items:center;gap:.6rem;margin:0 0 .5rem;font-size:.8rem;font-weight:600;display:flex}.event-group-count{color:var(--color-text-subtle);border:1px solid var(--color-border);text-align:center;border-radius:8px;min-width:1.25rem;padding:.05rem .4rem;font-size:.75rem}.admin-module-list{border-top:1px solid var(--color-border);margin:0;padding:0;list-style:none}.admin-module-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1.5rem;padding:.85rem 0;display:flex}.admin-module-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.admin-module-name{color:var(--color-text);font-size:1rem}.admin-module-meta{color:var(--color-text-subtle);letter-spacing:.05em;font-size:.75rem}.admin-status-select{font-family:var(--font-mono);letter-spacing:.05em;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:2px;padding:.4rem .7rem;font-size:.8rem}.admin-status-select:disabled{opacity:.5;cursor:wait}.admin-module-actions{align-items:center;gap:1rem;display:flex}.admin-module-actions .back-link{white-space:nowrap}.admin-form-actions-sticky{background:var(--color-bg,#fff);border-top:1px solid var(--color-border,#e6e6e6);z-index:10;align-items:center;gap:1rem;margin-top:2rem;padding:1rem 0;display:flex;position:sticky;bottom:0}.sticky-error{margin:0 0 0 auto;font-size:.9rem}.conditions-library-picker{margin-bottom:1.5rem}.conditions-library-picker label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.4rem;font-size:.8rem;display:block}.conditions-library-input-wrapper{position:relative}.conditions-library-input-wrapper input{width:100%;font-family:var(--font-body);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:2px;padding:.6rem .75rem;font-size:1rem;transition:border-color .15s}.conditions-library-input-wrapper input:focus{border-color:var(--color-accent);outline:none}.conditions-library-results{background:var(--color-bg);border:1px solid var(--color-border);z-index:20;border-radius:2px;max-height:360px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000014}.conditions-library-result{border:none;border-bottom:1px solid var(--color-border);text-align:left;cursor:pointer;width:100%;color:var(--color-text);background:0 0;grid-template-rows:auto auto;grid-template-columns:minmax(120px,max-content) 1fr;gap:.15rem .75rem;padding:.55rem .75rem;font-family:inherit;font-size:.9rem;display:grid}.conditions-library-result:last-of-type{border-bottom:none}.conditions-library-result:hover,.conditions-library-result:focus{background:var(--color-surface);outline:none}.conditions-library-result-id{font-family:var(--font-mono);color:var(--color-accent);grid-area:1/1;align-self:center;font-size:.85rem}.conditions-library-result-name{grid-area:1/2;align-self:center}.conditions-library-result-meta{color:var(--color-text-subtle);grid-area:2/1/auto/-1;font-size:.75rem}.conditions-library-empty{color:var(--color-text-subtle);margin:0;padding:.75rem;font-size:.85rem}.conditions-library-truncated{color:var(--color-text-subtle);background:var(--color-surface);border-top:1px solid var(--color-border);margin:0;padding:.5rem .75rem;font-size:.75rem}.sub-items-editor{border-top:1px dashed var(--color-border);margin-top:.75rem;padding-top:.75rem}.sub-items-toggle{cursor:pointer;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);background:0 0;border:none;align-items:center;gap:.5rem;padding:.3rem 0;font-size:.75rem;transition:color .15s;display:flex}.sub-items-toggle:hover{color:var(--color-text)}.sub-items-toggle-arrow{width:1rem;font-size:.7rem;display:inline-block}.sub-items-toggle-label{letter-spacing:.1em}.sub-items-count{font-family:var(--font-mono);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);text-align:center;border-radius:8px;min-width:1.25rem;padding:.05rem .4rem;font-size:.7rem;display:inline-block}.sub-items-list{border-left:2px solid var(--color-border);flex-direction:column;gap:.6rem;margin-top:.75rem;padding-left:1rem;display:flex}.sub-items-empty{margin:0;font-size:.85rem}.sub-item-block{border:1px solid var(--color-border);background:var(--color-surface);border-radius:2px;align-items:flex-start;gap:.75rem;padding:.7rem;display:flex}.sub-item-fields{flex-direction:column;flex:1;gap:.5rem;display:flex}.sub-item-meta-row{grid-template-columns:1fr 1fr 1fr;gap:.6rem;display:grid}.sub-items-add{align-self:flex-start;margin-top:.25rem}.task-table th.col-expand,.task-table td.col-expand{width:3.5rem;padding-left:.5rem;padding-right:.5rem}.sub-items-row-toggle{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:2px;align-items:center;gap:.35rem;padding:.2rem .4rem;font-size:.75rem;transition:color .15s,background-color .15s;display:inline-flex}.sub-items-row-toggle:hover{color:var(--color-text);background:var(--color-surface)}.sub-items-row-arrow{font-size:.65rem}.sub-items-row-count{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);text-align:center;border-radius:8px;min-width:1.25rem;padding:.05rem .4rem;font-size:.7rem}.sub-item-row td{background:var(--color-surface);border-bottom:1px solid var(--color-border);font-size:.9rem}.sub-item-row.task-done td:first-child+td{text-decoration:line-through}.sub-item-title-cell{padding-left:1.5rem!important}.sub-item-indent{color:var(--color-text-subtle);font-family:var(--font-mono);margin-right:.5rem;display:inline-block}.status-readonly{color:var(--color-text-subtle);font-size:.85rem}.sub-item-hide-toggle{border:1px solid var(--color-border);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-subtle);cursor:pointer;background:0 0;border-radius:2px;margin-left:.75rem;padding:.1rem .4rem;font-size:.7rem;transition:border-color .15s,color .15s}.sub-item-hide-toggle:hover{border-color:var(--color-text-muted);color:var(--color-text-muted)}.sub-item-row.sub-item-hidden td{opacity:.45}.sub-item-row.sub-item-hidden .sub-item-title-cell{text-decoration:line-through}.sub-item-row.sub-item-hidden .status-toggle{cursor:not-allowed}.sub-item-title-button{font:inherit;font-size:inherit;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-bottom:1px dashed #0000;margin:0;padding:0;transition:border-color .15s,color .15s}.sub-item-title-button:hover{border-bottom-color:var(--color-text-muted);color:var(--color-accent)}.sub-item-title-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.sub-item-user-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-subtle);border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;margin-left:.6rem;padding:.05rem .4rem;font-size:.65rem;display:inline-block}.sub-item-edit-row td,.sub-item-add-row td{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:1rem 1.5rem}.sub-item-edit-panel{flex-direction:column;gap:1rem;display:flex}.sub-item-edit-fields{flex-direction:column;gap:.75rem;display:flex}.sub-item-edit-meta-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.sub-item-edit-actions{align-items:center;gap:.75rem;display:flex}.sub-item-edit-delete{margin-left:auto}.sub-item-add-button{display:inline-flex}.pdf-export-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:4px;flex-direction:column;gap:1rem;margin-top:1rem;padding:1.25rem;display:flex}.pdf-export-fields{grid-template-columns:1fr 1fr 1fr;align-items:end;gap:1rem;display:grid}.pdf-export-checkbox{color:var(--color-text);cursor:pointer;align-items:center;gap:.5rem;padding-top:1.4rem;font-size:.95rem;display:flex}.pdf-export-actions{align-items:center;gap:.75rem;display:flex}.library-admin-page{max-width:1400px}.library-search{border:1px solid var(--color-border-strong);background:var(--color-surface);width:100%;color:var(--color-text);font-size:1rem;font-family:var(--font-body);border-radius:4px;margin-top:1rem;padding:.6rem .9rem}.library-three-col{grid-template-columns:1fr 1fr 1.6fr;align-items:start;gap:1.5rem;margin-top:2rem;display:grid}.library-col{flex-direction:column;gap:.75rem;min-width:0;display:flex}.library-col .section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 .5rem;font-size:.85rem}.library-list{border:1px solid var(--color-border);background:var(--color-surface);border-radius:4px;max-height:400px;margin:0;padding:0;list-style:none;overflow-y:auto}.library-row{border-bottom:1px solid var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-text);grid-template-columns:1fr auto auto;align-items:center;gap:.5rem;padding:.55rem .75rem;display:grid}.library-row:last-child{border-bottom:none}.library-row:hover{background:var(--color-bg)}.library-row.active{background:var(--color-bg);border-left:3px solid var(--color-accent);padding-left:calc(.75rem - 3px);font-weight:500}.library-row-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.library-row-meta{color:var(--color-text-subtle);background:var(--color-bg);border:1px solid var(--color-border);text-align:center;border-radius:999px;min-width:1.5rem;padding:.1rem .5rem;font-size:.75rem}.library-row-delete{width:1.6rem;height:1.6rem;color:var(--color-text-subtle);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:50%;padding:0;font-size:1.2rem;line-height:1;transition:opacity .15s}.library-row:hover .library-row-delete{opacity:1}.library-row-delete:hover{background:var(--color-bg);color:var(--color-error)}.library-add-form{flex-wrap:wrap;align-items:stretch;gap:.5rem;display:flex}.library-add-form input{border:1px solid var(--color-border-strong);background:var(--color-surface);min-width:0;color:var(--color-text);font-size:.9rem;font-family:var(--font-body);border-radius:4px;flex:6rem;padding:.5rem .7rem}.library-add-form button{white-space:nowrap}.library-edit-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:4px;margin-top:1.5rem;padding:1.25rem}.library-edit-panel .section-title{margin-top:0}.library-edit-panel .form-row{margin-bottom:.85rem}.library-edit-panel input,.library-edit-panel textarea{border:1px solid var(--color-border-strong);background:var(--color-surface);width:100%;color:var(--color-text);font-size:.95rem;font-family:var(--font-body);border-radius:4px;padding:.55rem .75rem}.library-edit-panel input:disabled{background:var(--color-bg);color:var(--color-text-subtle)}.library-translations{grid-template-columns:1fr 1fr;gap:.5rem 1rem;margin:1rem 0;display:grid}.library-search-results{border:1px solid var(--color-border);background:var(--color-surface);border-radius:4px;margin:1rem 0 1.5rem;padding:1rem 1.25rem}.library-search-list{margin:.5rem 0 0;padding:0;list-style:none}.library-search-list li{border-bottom:1px solid var(--color-border);color:var(--color-text);padding:.4rem 0}.library-search-list li:last-child{border-bottom:none}.library-tr-tag{color:var(--color-text-muted);font-size:.8rem;font-family:var(--font-mono);margin-left:.75rem}@media (width<=900px){.library-three-col,.library-translations{grid-template-columns:1fr}}.admin-translations-page{max-width:1400px;margin:0 auto;padding:2rem}.admin-translations-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.admin-translations-header h1{margin:0;font-size:1.5rem}.admin-translations-header-right{align-items:center;gap:1.5rem;display:flex}.admin-translations-error{color:#900;font-family:var(--font-mono);background:#fee;border-radius:4px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.85rem}.admin-translations-pickers{flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;display:flex}.admin-translations-pickers label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--color-text-muted);text-transform:uppercase;flex-direction:column;gap:.3rem;font-size:.75rem;display:flex}.admin-translations-pickers select{font-family:var(--font-body);background:var(--color-bg);border:1px solid var(--color-border-strong);cursor:pointer;border-radius:3px;min-width:280px;padding:.5rem .75rem;font-size:.95rem}.admin-translations-pickers select:disabled{opacity:.5;cursor:not-allowed}.admin-translations-stats{font-family:var(--font-mono);color:var(--color-text-muted);margin-bottom:1rem;font-size:.8rem}.admin-translations-table{border-collapse:collapse;border:1px solid var(--color-border);width:100%;font-size:.9rem}.admin-translations-table thead th{background:var(--color-surface);text-align:left;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-strong);padding:.75rem .85rem;font-size:.75rem;font-weight:500}.admin-translations-table tbody td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:0}.admin-translations-table tbody td:not(:last-child){border-right:1px solid var(--color-border)}.admin-translations-table input{width:100%;font-family:var(--font-body);color:var(--color-text);background:0 0;border:none;outline:none;padding:.65rem .85rem;font-size:.9rem}.admin-translations-table input:focus{outline:2px solid var(--color-accent);outline-offset:-2px;background:#fff}.admin-translations-table input::placeholder{color:#c4a747;font-style:italic}.admin-translations-en{color:var(--color-text);background:var(--color-surface);padding:.65rem .85rem;font-weight:500;display:block}.admin-translations-row{background:var(--color-bg);transition:background .15s}.admin-translations-row.is-missing{background:#fef6dc}.admin-translations-row.is-missing .admin-translations-en{background:#f9eec0}.admin-translations-row.is-edited{background:#eef7ee}.admin-translations-row.is-edited .admin-translations-en{background:#dfedde}.admin-translations-row.is-edited.is-missing{background:#f5f3da}.admin-translations-row.is-saving{opacity:.55;pointer-events:none}
