:root{--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--space-6: 3rem;--space-7: 4rem;--radius-sm: .375rem;--radius-md: .75rem;--radius-lg: .875rem;--color-accent: var(--modula-accent);--color-accent-hover: var(--modula-accent-hover);--color-accent-light: var(--modula-accent-light);--font-sans: var(--modula-font-body);--font-heading: var(--modula-font-display);--color-success: #22c55e;--color-warning: #f59e0b;--color-error: #ef4444;--color-danger: #ef4444;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}[data-modula]{--color-accent: var(--modula-accent);--color-accent-hover: var(--modula-accent-hover);--color-accent-light: var(--modula-accent-light)}[data-theme=light]{--color-bg-primary: #ffffff;--color-bg-secondary: #f8f9fa;--color-bg-card: #ffffff;--color-bg-input: #f8f9fa;--color-bg-subtle: #f3f4f6;--color-bg-hover: rgba(0, 0, 0, .03);--color-text-primary: #4a4a4a;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-border: rgba(0, 0, 0, .08);--color-border-subtle: rgba(0, 0, 0, .06);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12)}[data-theme=dark]{--color-bg-primary: #0f0f0f;--color-bg-secondary: #161616;--color-bg-card: #1e1e1e;--color-bg-input: #2a2a2a;--color-bg-subtle: #1a1a1a;--color-bg-hover: rgba(255, 255, 255, .04);--color-text-primary: #fefefe;--color-text-secondary: #9ca3af;--color-text-muted: #6b7280;--color-border: rgba(255, 255, 255, .1);--color-border-subtle: rgba(255, 255, 255, .06);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4)}.modula-base-light,.modula-base-dark{background:var(--color-bg-primary);padding:var(--space-6) var(--space-3)}.module-outer{display:block;background:transparent;padding:0;margin:var(--space-6) 0 0 0;max-width:100%}.module-inner{width:100%;padding:var(--space-3);overflow:hidden}.module-header{width:100%;padding:var(--space-1);display:flex;flex-direction:row;align-items:flex-end;flex-wrap:nowrap;gap:var(--space-2)}.module-header-start{flex:1;min-width:0}.module-header-end{flex-shrink:0;margin-left:auto}.module-body{width:100%;padding:var(--space-3) var(--space-1) var(--space-1) var(--space-1);display:flex;flex-direction:row;flex-wrap:wrap}.module-group{flex:1;max-width:100%;min-width:15rem;display:flex;flex-direction:column}.module-group--horizontal{flex-direction:row;flex-wrap:wrap;gap:var(--space-2)}.module-item{flex:1;margin:var(--space-2) 0;padding:var(--space-1)}.module-footer{width:100%;padding:var(--space-3) var(--space-1) var(--space-1) var(--space-1);display:flex;justify-content:flex-end;align-items:center;gap:var(--space-4)}.module-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:var(--color-text-primary);line-height:1.3}.module-subtitle{font-family:var(--font-sans);font-size:.75rem;font-weight:400;color:var(--color-text-secondary);line-height:1.4}.item-label{display:block;font-family:var(--font-sans);font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.text-primary{font-family:var(--font-sans);font-size:.875rem;color:var(--color-text-primary);line-height:1.5}.text-secondary{font-family:var(--font-sans);font-size:.875rem;color:var(--color-text-secondary);line-height:1.5}.table-outer{display:block;background:transparent;padding:0;margin:var(--space-6) 0 0 0;max-width:100%;min-width:0}.table-outer>.table-inner{width:100%;max-width:100%;min-width:0;padding:0;overflow-x:auto;overflow-y:hidden}.table-base{width:100%;border-collapse:collapse;border-spacing:0;table-layout:auto}.table-header-cell{padding:var(--space-3) var(--space-4);text-align:left;vertical-align:middle;white-space:nowrap;font-family:var(--font-sans);font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border-subtle)}.table-header-cell[data-align=right]{text-align:right}.table-header-cell[data-align=center]{text-align:center}.table-row{transition:background-color .15s ease}.table-row:hover{background-color:var(--color-bg-hover)}.table-base.table-striped .table-row:nth-child(2n){background-color:var(--color-bg-subtle)}.table-base.table-striped .table-row:nth-child(2n):hover{background-color:var(--color-bg-hover)}.table-cell{padding:var(--space-3) var(--space-4);text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-border-subtle)}.table-cell[data-align=right]{text-align:right}.table-cell[data-align=center]{text-align:center}.table-base.table-compact .table-header-cell,.table-base.table-compact .table-cell{padding:var(--space-2) var(--space-3)}.cell-primary{font-family:var(--font-sans);font-size:.875rem;font-weight:500;color:var(--color-text-primary);line-height:1.4}.cell-secondary{font-family:var(--font-sans);font-size:.75rem;font-weight:400;color:var(--color-text-secondary);line-height:1.4}.cell-number{font-family:var(--font-mono);font-size:.875rem;font-weight:500;color:var(--color-text-primary);text-align:right}.cell-number.is-positive{color:var(--color-success)}.cell-number.is-negative{color:var(--color-danger)}.table-empty{padding:var(--space-6);text-align:center;font-family:var(--font-sans);font-size:.875rem;color:var(--color-text-muted)}.mod-tag{display:inline-block;padding:.25rem .75rem;border-radius:.75rem;font-family:var(--font-sans);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;line-height:1.4;white-space:nowrap;background:var(--color-bg-subtle);color:var(--color-text-secondary)}.mod-tag--status{background:linear-gradient(45deg,var(--modula-one-start),var(--modula-two-1-start));color:#fff}.mod-tag--success{background:#22c55e26;color:var(--color-success)}[data-theme=dark] .mod-tag--success{background:#22c55e33}.mod-tag--warning{background:#f59e0b26;color:var(--color-warning)}[data-theme=dark] .mod-tag--warning{background:#f59e0b33}.mod-tag--error{background:#ef444426;color:var(--color-error)}[data-theme=dark] .mod-tag--error{background:#ef444433}.mod-tag--muted{background:var(--color-bg-subtle);color:var(--color-text-muted);opacity:.7}.mod-tag--accent{background:var(--modula-accent-light);color:var(--modula-accent)}.mod-action{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.8125rem;font-weight:500;line-height:1.4;white-space:nowrap;cursor:pointer;transition:all .15s ease;background:var(--color-bg-subtle);color:var(--color-text-primary)}.mod-action:hover{background:var(--color-bg-hover)}.mod-action:focus{outline:2px solid var(--modula-accent);outline-offset:2px}.mod-action:active{transform:scale(.98)}.mod-action:disabled,.mod-action[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.mod-action svg{width:1em;height:1em;flex-shrink:0}.mod-action--primary{background:linear-gradient(135deg,var(--modula-btn-start),var(--modula-btn-end));color:#fff;font-weight:600}.mod-action--primary:hover{filter:brightness(1.1);background:linear-gradient(135deg,var(--modula-btn-start),var(--modula-btn-end))}.mod-action--secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.mod-action--secondary:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border)}.mod-action--danger{background:#ef44441a;color:var(--color-error)}.mod-action--danger:hover{background:var(--color-error);color:#fff}[data-theme=dark] .mod-action--danger{background:#ef444426}.mod-action--ghost{background:transparent;color:var(--color-text-muted);padding:.375rem .5rem}.mod-action--ghost:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.mod-action--sm{padding:.25rem .625rem;font-size:.75rem;border-radius:calc(var(--radius-sm) * .75)}.mod-action--sm.mod-action--icon{padding:.25rem}.mod-action--icon{padding:.5rem;aspect-ratio:1}.mod-action--icon svg{width:1.125em;height:1.125em}.mod-action--success{background:#22c55e1a;color:var(--color-success)}.mod-action--success:hover{background:var(--color-success);color:#fff}[data-theme=dark] .mod-action--success{background:#22c55e26}.mod-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.375rem .75rem;border:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.8125rem;font-weight:500;line-height:1.4;white-space:nowrap;cursor:pointer;transition:all .15s ease;background:var(--color-bg-subtle);color:var(--color-text-secondary)}.mod-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.mod-btn:focus-visible{outline:2px solid var(--modula-accent);outline-offset:2px}.mod-btn:active{transform:scale(.98)}.mod-btn:disabled,.mod-btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.mod-btn svg{width:1em;height:1em;flex-shrink:0}.mod-btn--ghost{background:transparent;color:var(--color-text-muted);padding:.375rem}.mod-btn--ghost:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.mod-btn--subtle{background:var(--color-bg-subtle);color:var(--color-text-secondary)}.mod-btn--subtle:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.mod-btn--outline{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.mod-btn--outline:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border)}.mod-btn--sm{padding:.25rem .5rem;font-size:.75rem;gap:.25rem;border-radius:calc(var(--radius-sm) * .75)}.mod-btn--sm.mod-btn--icon,.mod-btn--sm.mod-btn--ghost{padding:.25rem}.mod-btn--icon{padding:.375rem;aspect-ratio:1}.mod-btn--icon svg{width:1.125em;height:1.125em}.mod-btn--round{border-radius:50%}.mod-btn--active,.mod-btn.is-active,.mod-btn--ghost.mod-btn--active,.mod-btn--ghost.is-active,.mod-btn--subtle.mod-btn--active,.mod-btn--subtle.is-active{background:var(--color-bg-hover);color:var(--color-text-primary)}.mod-btn--outline.mod-btn--active,.mod-btn--outline.is-active{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--modula-accent)}.mod-form-group{display:flex;flex-direction:column;gap:.375rem}.mod-form-row{display:flex;gap:1rem;align-items:flex-start}.mod-form-row>.mod-form-group{flex:1}.mod-form-label{font-family:var(--font-sans);font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);line-height:1.4}.mod-form-label--required:after{content:" *";color:var(--color-error)}.mod-form-input{display:block;width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-input);color:var(--color-text-primary);font-family:var(--font-sans);font-size:.875rem;line-height:1.5;transition:border-color .15s ease,box-shadow .15s ease}.mod-form-input::placeholder{color:var(--color-text-muted)}.mod-form-input:focus{outline:none;border-color:var(--modula-accent);box-shadow:0 0 0 3px var(--modula-accent-light)}.mod-form-input:disabled,.mod-form-input[disabled]{opacity:.5;cursor:not-allowed;background:var(--color-bg-subtle)}.mod-form-group:has(.mod-form-select.open){z-index:100}.mod-form-select{position:relative}.mod-form-select-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-input);color:var(--color-text-primary);font-family:var(--font-sans);font-size:.875rem;line-height:1.5;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.mod-form-select-trigger:hover{border-color:var(--modula-accent)}.mod-form-select-trigger:focus{outline:none;border-color:var(--modula-accent);box-shadow:0 0 0 3px var(--modula-accent-light)}.mod-form-select-arrow{font-size:.7rem;color:var(--color-text-muted);transition:transform .2s ease}.mod-form-select.open .mod-form-select-arrow{transform:rotate(180deg)}.mod-form-select-options{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);list-style:none;margin:0;padding:4px 0;z-index:10;box-shadow:var(--shadow-md)}.mod-form-select.open .mod-form-select-options{display:block}.mod-form-select-option{padding:.5rem .75rem;font-family:var(--font-sans);font-size:.875rem;color:var(--color-text-primary);cursor:pointer;transition:background .15s ease}.mod-form-select-option:hover{background:var(--modula-accent-light);color:var(--modula-accent)}.mod-form-select-option.selected{color:var(--modula-accent);font-weight:600}.mod-form-select.disabled .mod-form-select-trigger{opacity:.5;cursor:not-allowed;background:var(--color-bg-subtle)}.mod-form-select.disabled .mod-form-select-trigger:hover{border-color:var(--color-border)}.mod-form-select-native{display:block;width:100%;padding:.5rem 2rem .5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-input);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px;color:var(--color-text-primary);font-family:var(--font-sans);font-size:.875rem;line-height:1.5;cursor:pointer;appearance:none;transition:border-color .15s ease,box-shadow .15s ease}.mod-form-select-native:focus{outline:none;border-color:var(--modula-accent);box-shadow:0 0 0 3px var(--modula-accent-light)}.mod-form-select-native:disabled,.mod-form-select-native[disabled]{opacity:.5;cursor:not-allowed;background-color:var(--color-bg-subtle)}.mod-form-textarea{display:block;width:100%;min-height:6rem;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-input);color:var(--color-text-primary);font-family:var(--font-sans);font-size:.875rem;line-height:1.5;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.mod-form-textarea::placeholder{color:var(--color-text-muted)}.mod-form-textarea:focus{outline:none;border-color:var(--modula-accent);box-shadow:0 0 0 3px var(--modula-accent-light)}.mod-form-textarea:disabled,.mod-form-textarea[disabled]{opacity:.5;cursor:not-allowed;background:var(--color-bg-subtle)}.mod-form-hint{font-family:var(--font-sans);font-size:.75rem;color:var(--color-text-muted);line-height:1.4}.mod-form-input--sm{padding:.375rem .5rem;font-size:.8125rem}.mod-form-input--lg{padding:.625rem 1rem;font-size:1rem}.mod-form-select-native--sm{padding:.375rem 2rem .375rem .5rem;font-size:.8125rem}.mod-form-select-native--lg{padding:.625rem 2.5rem .625rem 1rem;font-size:1rem}.mod-form-select--sm .mod-form-select-trigger,.mod-form-select--sm .mod-form-select-option{padding:.375rem .5rem;font-size:.8125rem}.mod-form-select--lg .mod-form-select-trigger,.mod-form-select--lg .mod-form-select-option{padding:.625rem 1rem;font-size:1rem}.mod-form-group--error .mod-form-input,.mod-form-group--error .mod-form-select-trigger,.mod-form-group--error .mod-form-select-native,.mod-form-group--error .mod-form-textarea{border-color:var(--color-error)}.mod-form-group--error .mod-form-input:focus,.mod-form-group--error .mod-form-select-trigger:focus,.mod-form-group--error .mod-form-select-native:focus,.mod-form-group--error .mod-form-textarea:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #ef444426}.mod-form-group--error .mod-form-hint,.mod-form-group--error .mod-form-label{color:var(--color-error)}.mod-form-group--success .mod-form-input,.mod-form-group--success .mod-form-select-trigger,.mod-form-group--success .mod-form-select-native,.mod-form-group--success .mod-form-textarea{border-color:var(--color-success)}.mod-form-group--success .mod-form-input:focus,.mod-form-group--success .mod-form-select-trigger:focus,.mod-form-group--success .mod-form-select-native:focus,.mod-form-group--success .mod-form-textarea:focus{border-color:var(--color-success);box-shadow:0 0 0 3px #22c55e26}.mod-form-group--success .mod-form-hint{color:var(--color-success)}.mod-panel-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:1000;justify-content:flex-end;align-items:stretch}.mod-panel-overlay.open{display:flex}.mod-panel{width:450px;max-width:90vw;height:100%;display:flex;flex-direction:column;background:var(--color-bg-primary);box-shadow:-8px 0 24px #00000026;transform:translate(100%);transition:transform .3s ease;overflow:hidden}.mod-panel.open{transform:translate(0)}.mod-panel--sm{width:360px}.mod-panel--lg{width:560px}.mod-panel-overlay.mod-panel-overlay--left{justify-content:flex-start}.mod-panel--left{transform:translate(-100%);box-shadow:8px 0 24px #00000026}.mod-panel--left.open{transform:translate(0)}.mod-panel-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.mod-panel-title{font-family:var(--font-sans);font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0;line-height:1.4}.mod-panel-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;background:transparent;color:var(--color-text-muted);font-size:1.5rem;line-height:1;cursor:pointer;border-radius:var(--radius-sm);transition:color .15s ease,background .15s ease}.mod-panel-close:hover{color:var(--color-text-primary);background:var(--color-bg-subtle)}.mod-panel-close:focus{outline:none;box-shadow:0 0 0 2px var(--modula-accent)}.mod-panel-body{flex:1;padding:1.5rem;overflow-y:auto}.mod-panel-body>.mod-form-group+.mod-form-group{margin-top:1rem}.mod-panel-body>.mod-form-row+.mod-form-row,.mod-panel-body>.mod-form-group+.mod-form-row,.mod-panel-body>.mod-form-row+.mod-form-group{margin-top:1rem}.mod-panel-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border);flex-shrink:0}.mod-panel-footer--stacked{flex-direction:column}.mod-panel-footer--stacked>.mod-btn{width:100%}.mod-panel-footer--split{justify-content:space-between}.mod-panel-message{padding:.75rem 1rem;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.875rem;line-height:1.5;margin-bottom:1rem}.mod-panel-message--success{background:#22c55e1a;color:var(--color-success);border:1px solid rgba(34,197,94,.2)}.mod-panel-message--error{background:#ef44441a;color:var(--color-error);border:1px solid rgba(239,68,68,.2)}.mod-panel-body::-webkit-scrollbar{width:6px}.mod-panel-body::-webkit-scrollbar-track{background:transparent}.mod-panel-body::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.mod-panel-body::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}[data-theme=dark] .mod-panel{box-shadow:-8px 0 32px #0006}[data-theme=dark] .mod-panel--left{box-shadow:8px 0 32px #0006}[data-theme=dark] .mod-panel-overlay{background:#0009}.mod-panel--docked{position:fixed;top:0;left:0;width:220px;height:100vh;transform:none;z-index:800;border-right:1px solid var(--color-border);box-shadow:none;transition:transform .2s ease}.mod-panel--docked.mod-panel--below-navbar{top:3rem;height:calc(100vh - 3rem)}.mod-panel--docked.open{transform:none}.mod-panel--docked.mod-panel--collapsed{transform:translate(-100%)}.mod-panel--docked.mod-panel--right{left:auto;right:0;border-right:none;border-left:1px solid var(--color-border)}.mod-panel--docked.mod-panel--right.mod-panel--collapsed{transform:translate(100%)}.mod-panel--docked .mod-panel-header{padding:var(--space-3) var(--space-3) var(--space-2);border-bottom:1px solid var(--color-border-subtle)}.mod-panel--docked .mod-panel-body{padding:var(--space-2) var(--space-3)}[data-theme=dark] .mod-panel--docked{box-shadow:none;border-right-color:var(--color-border)}@keyframes mod-confirm-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.mod-confirm{border-radius:var(--radius-md);padding:1rem;margin-bottom:1rem;animation:mod-confirm-slide-in .2s ease-out}.mod-confirm,.mod-confirm--danger{background:#ef44440f;border:1px solid rgba(239,68,68,.2)}.mod-confirm--warning{background:#f59e0b0f;border:1px solid rgba(245,158,11,.2)}.mod-confirm--info{background:#3b82f60f;border:1px solid rgba(59,130,246,.2)}.mod-confirm-icon{font-size:1.5rem;margin-bottom:.5rem;line-height:1}.mod-confirm-title{font-family:var(--font-sans);font-weight:600;font-size:.9rem;margin-bottom:.375rem;line-height:1.4}.mod-confirm--danger .mod-confirm-title,.mod-confirm:not([class*=--]) .mod-confirm-title{color:var(--color-error)}.mod-confirm--warning .mod-confirm-title{color:var(--color-warning, #d97706)}.mod-confirm--info .mod-confirm-title{color:var(--color-info, #2563eb)}.mod-confirm-text{font-family:var(--font-sans);font-size:.825rem;color:var(--color-text-secondary);line-height:1.5;margin-bottom:.875rem}.mod-confirm-actions{display:flex;gap:.75rem}.mod-confirm-cancel{flex:1;padding:.625rem 1rem;background:var(--color-bg-tertiary, var(--color-bg-subtle));color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s ease}.mod-confirm-cancel:hover{background:var(--color-bg-secondary, var(--color-bg-card))}.mod-confirm-cancel:focus{outline:none;box-shadow:0 0 0 2px var(--modula-accent)}.mod-confirm-proceed{flex:1;padding:.625rem 1rem;border:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.875rem;font-weight:600;cursor:pointer;transition:filter .15s ease,box-shadow .15s ease}.mod-confirm--danger .mod-confirm-proceed,.mod-confirm:not([class*=--]) .mod-confirm-proceed{background:var(--color-error);color:#fff}.mod-confirm--danger .mod-confirm-proceed:hover,.mod-confirm:not([class*=--]) .mod-confirm-proceed:hover{filter:brightness(1.1);box-shadow:0 2px 8px #ef44444d}.mod-confirm--warning .mod-confirm-proceed{background:var(--color-warning, #d97706);color:#fff}.mod-confirm--warning .mod-confirm-proceed:hover{filter:brightness(1.1);box-shadow:0 2px 8px #d977064d}.mod-confirm--info .mod-confirm-proceed{background:var(--color-info, #2563eb);color:#fff}.mod-confirm--info .mod-confirm-proceed:hover{filter:brightness(1.1);box-shadow:0 2px 8px #2563eb4d}.mod-confirm-proceed:focus{outline:none;box-shadow:0 0 0 2px var(--modula-accent),0 2px 8px #0003}[data-theme=dark] .mod-confirm,[data-theme=dark] .mod-confirm--danger{background:#ef44441a;border-color:#ef444440}[data-theme=dark] .mod-confirm--warning{background:#f59e0b1a;border-color:#f59e0b40}[data-theme=dark] .mod-confirm--info{background:#3b82f61a;border-color:#3b82f640}[data-theme=dark] .mod-confirm-cancel{background:var(--color-bg-card);border-color:var(--color-border)}[data-theme=dark] .mod-confirm-cancel:hover{background:var(--color-bg-subtle)}.tile-outer{display:block;background:transparent;padding:0;margin:.5rem;min-width:20rem;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.tile-inner{width:100%;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);overflow:hidden}.tile-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:0}.tile-indicator{display:block;width:.5rem;height:.5rem;border-radius:50%;background:var(--color-text-muted);flex-shrink:0}.tile-badge{flex-shrink:0}.tile-body{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0;max-height:3rem;overflow:hidden}.tile-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:0}.tile-title{font-family:var(--font-sans);font-size:.9375rem;font-weight:600;color:var(--color-text-primary);line-height:1.3}.tile-subtitle{font-family:var(--font-sans);font-size:.75rem;font-weight:400;color:var(--color-text-secondary);line-height:1.4}.tile-blurb{font-family:var(--font-sans);font-size:.8125rem;font-weight:400;color:var(--color-text-muted);line-height:1.5}.tile-meta{font-family:var(--font-sans);font-size:.6875rem;font-weight:400;color:var(--color-text-muted)}.tile-link{font-family:var(--font-sans);font-size:.75rem;font-weight:600;color:var(--color-accent);transition:transform .15s ease}.tile-outer--compact .tile-inner{padding:var(--space-2);gap:var(--space-1)}.tile-outer--clickable{cursor:pointer}.tile-outer--clickable:hover{transform:translateY(-1px)}.tile-outer--clickable:hover .tile-link{transform:translate(2px)}.tile-outer--clickable:active{transform:scale(.99)}.tile-outer--active .tile-inner,.tile-outer[aria-current] .tile-inner{border-color:var(--color-accent)}.tile-outer--active .tile-title,.tile-outer[aria-current] .tile-title{color:var(--color-accent)}.navbar-outer{position:fixed;top:0;left:0;right:0;z-index:900;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border)}.navbar-inner{width:100%;display:flex;align-items:center;padding:var(--space-2) var(--space-3);gap:var(--space-3);min-height:3rem}.navbar-start{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.navbar-center{display:flex;align-items:center;gap:var(--space-2);flex:1;justify-content:center}.navbar-end{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto}.navbar-brand{font-family:var(--font-heading);font-size:1rem;font-weight:800;color:var(--color-text-primary);text-decoration:none;line-height:1;white-space:nowrap}.navbar-title{font-family:var(--font-sans);font-size:.875rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap}.navbar-subtitle{font-family:var(--font-sans);font-size:.75rem;font-weight:400;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar-separator{width:1px;height:1.25rem;background:var(--color-border);flex-shrink:0}.navbar-outer--transparent{background:transparent;border-bottom-color:transparent}.navbar-outer--bordered{border-bottom:1px solid var(--color-border)}.page-outer{display:block;min-height:100vh;padding-top:3rem;margin-left:0;transition:margin-left .2s ease;min-width:0}.page-inner{width:100%;max-width:80rem;margin:0 auto;padding:var(--space-4) var(--space-3)}.page-inner>*+*{margin-top:var(--space-4)}.page-outer--full .page-inner{max-width:none}.page-outer--narrow .page-inner{max-width:48rem}.page-outer--flush{margin-left:0}.page-outer--centered{display:flex;align-items:center;justify-content:center}.page-outer--centered .page-inner{width:100%;max-width:28rem;padding:var(--space-6) var(--space-4)}.header-outer{display:block;padding:0;margin:0;max-width:100%;position:relative}.header-inner{width:100%;padding:var(--space-2) var(--space-1);display:flex;flex-direction:row;align-items:flex-end;flex-wrap:nowrap;justify-content:space-between;gap:var(--space-3);overflow:visible}.context-menu-outer{display:none;position:absolute;z-index:200;min-width:10rem;max-width:18rem;padding:0}.context-menu-outer.open{display:block}.context-menu-inner{width:100%;padding:0;overflow:hidden}.context-menu-header{padding:var(--space-2) var(--space-3) 0}.context-menu-body{padding:var(--space-1) var(--space-2)}.context-menu-footer{padding:0 var(--space-3) var(--space-2);display:flex;justify-content:flex-end;align-items:center;gap:var(--space-2);border-top:1px solid var(--color-border-subtle)}.tabs-nav{display:flex;gap:0;width:100%}.tabs-btn{padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:.875rem;font-weight:500;color:var(--color-text-secondary);background:none;border:none;cursor:pointer;position:relative;transition:color .15s ease}.tabs-btn:hover{color:var(--color-text-primary)}.tabs-btn.is-active,.tabs-btn--active{color:var(--color-text-primary);font-weight:600}.tabs-btn.is-active:after,.tabs-btn--active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--modula-accent);border-radius:1px 1px 0 0}.tabs-nav--pills{width:auto;gap:var(--space-2);margin-bottom:var(--space-4)}.tabs-nav--pills .tabs-btn{padding:.375rem 1rem;font-size:.8rem;color:var(--color-text-secondary);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:999px;transition:all .15s ease}.tabs-nav--pills .tabs-btn:hover{border-color:var(--modula-accent);color:var(--color-text-primary)}.tabs-nav--pills .tabs-btn.is-active,.tabs-nav--pills .tabs-btn--active{background:var(--modula-accent-light);border-color:var(--modula-accent);color:var(--color-text-primary);font-weight:600}.tabs-nav--pills .tabs-btn.is-active:after,.tabs-nav--pills .tabs-btn--active:after{content:none}.tabs-content{display:none;width:100%;min-width:0}.tabs-content.is-active,.tabs-content--active{display:block}.tabs-body{flex-direction:column;padding:var(--space-3) var(--space-1);min-width:0}.module-header:has(.tabs-nav){border-bottom:1px solid var(--color-border);padding-bottom:0}@media(max-width:480px){.tabs-nav{flex-direction:column;gap:0}.tabs-btn{text-align:left;border-bottom:1px solid var(--color-border)}.tabs-btn.is-active:after,.tabs-btn--active:after{inset:0 auto 0 0;width:3px;height:auto;border-radius:0 1px 1px 0}.tabs-nav--pills{flex-direction:row;flex-wrap:wrap}.tabs-nav--pills .tabs-btn{border-bottom:1px solid var(--color-border)}}[data-modula=zen][data-theme=dark]{--color-bg-primary: #0d0e11;--color-bg-secondary: #0d0e11;--color-bg-card: #15161b;--color-bg-subtle: #15161b;--color-bg-input: #15161b;--color-bg-hover: rgba(232, 228, 218, .04);--color-border: #26272e;--color-border-subtle: #1f2026;--color-text-primary: #e8e4da;--color-text-secondary:#8d8a80;--color-text-muted: #6f6c63;--modula-six-odd-start: #2a2b31;--modula-six-odd-end: #1c1d22;--modula-six-even-start: #34353c;--modula-six-even-end: #26272e;--modula-two-1-start: #e8e4da;--modula-two-1-end: #c9c4b6;--modula-two-2-start: #8d8a80;--modula-two-2-end: #6f6c63;--modula-one-start: #2fb4a6;--modula-one-end: #1f8a7e;--modula-accent: #2fb4a6;--modula-accent-hover: #46c5b8;--modula-accent-light: rgba(47, 180, 166, .14);--zen-accent-glow: rgba(47, 180, 166, .45);--modula-btn-start: #2fb4a6;--modula-btn-end: #1f8a7e;--modula-wordmark-gradient: linear-gradient(0deg, #e8e4da, #e8e4da);--modula-wordmark-fallback: #e8e4da;--zen-stock: #34373d;--zen-stock-ink: #ddd9cf;--zen-stock-dim: #9a968c;--zen-card-shadow: 0 8px 26px rgba(0, 0, 0, .45);--zen-work-shadow: 0 18px 50px rgba(0, 0, 0, .6);--zen-cast-shadow: drop-shadow(0 10px 44px color-mix(in srgb, var(--zen-accent-glow) 60%, transparent));--zen-stage-shadow: 0 34px 90px -26px color-mix(in srgb, var(--zen-accent-glow) 65%, transparent);--zen-well-shadow: inset 0 2px 10px rgba(0, 0, 0, .55);--zen-engrave-bg: #0a0b0e;--zen-engrave-shadow: inset 0 1px 3px rgba(0, 0, 0, .7), inset 0 -1px 0 rgba(232, 228, 218, .05);--zen-stone-bg: linear-gradient(135deg, #17181d 0%, #0b0c10 55%, #14151a 100%);--zen-stone-lip: inset 0 1px 0 rgba(232, 228, 218, .05), inset 0 -1px 0 rgba(0, 0, 0, .55);--zen-subnav-bg: #1a1c23;--zen-subnav-lip: inset 0 1px 0 rgba(232, 228, 218, .07), inset 0 -1px 0 rgba(0, 0, 0, .5);--zen-carve-ink: #84817a;--zen-carve-relief: 0 1px 1px rgba(0, 0, 0, .85), 0 -1px 0 rgba(0, 0, 0, .4);--zen-carve-line: drop-shadow(0 1px 1px rgba(0, 0, 0, .85));--zen-paint-sand: #58503e;--zen-paint-sage: #464d3f;--zen-paint-terracotta: #5a3a2b;--zen-paint-ochre: #55462a;--zen-paint-slate: #39414b;--zen-paint-charcoal: #1b1d20;--modula-font-display: "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--modula-font-body: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;--zen-font-tall: "Avenir Next Condensed", "Arial Narrow", "Avenir Next", Helvetica, Arial, sans-serif}[data-modula=zen][data-theme=light]{--color-bg-primary: #f6f1e6;--color-bg-secondary: #f6f1e6;--color-bg-card: #fdfcf7;--color-bg-subtle: #efe9dc;--color-bg-input: #fdfcf7;--color-bg-hover: rgba(38, 34, 28, .04);--color-border: #ddd3c0;--color-border-subtle: #e7dfd0;--color-text-primary: #26221c;--color-text-secondary:#8a8172;--color-text-muted: #a59c8c;--modula-six-odd-start: #efe9dc;--modula-six-odd-end: #e2dac8;--modula-six-even-start: #f6f1e6;--modula-six-even-end: #eae3d3;--modula-two-1-start: #4a443a;--modula-two-1-end: #26221c;--modula-two-2-start: #8a8172;--modula-two-2-end: #6f675a;--modula-one-start: #1f8a7e;--modula-one-end: #166c63;--modula-accent: #1f8a7e;--modula-accent-hover: #166c63;--modula-accent-light: rgba(31, 138, 126, .12);--zen-accent-glow: rgba(31, 138, 126, 0);--modula-btn-start: #1f8a7e;--modula-btn-end: #166c63;--modula-wordmark-gradient: linear-gradient(0deg, #26221c, #26221c);--modula-wordmark-fallback: #26221c;--zen-stock: #f3edda;--zen-stock-ink: #2a261d;--zen-stock-dim: #8a8172;--zen-card-shadow: 0 1px 3px rgba(38, 34, 28, .3), 0 7px 22px rgba(38, 34, 28, .28);--zen-work-shadow: 0 3px 18px rgba(38, 34, 28, .18);--zen-cast-shadow: drop-shadow(0 1px 3px rgba(38, 34, 28, .3)) drop-shadow(0 7px 22px rgba(38, 34, 28, .28));--zen-stage-shadow: 0 1px 3px rgba(38, 34, 28, .3), 0 26px 50px -20px rgba(38, 34, 28, .3);--zen-well-shadow: inset 0 1px 4px rgba(38, 34, 28, .16);--zen-engrave-bg: #efe8d6;--zen-engrave-shadow: inset 0 1px 3px rgba(38, 34, 28, .18), inset 0 -1px 0 rgba(255, 255, 255, .85);--zen-stone-bg: linear-gradient(135deg, #fdfbf4 0%, #f3eedf 55%, #faf6ea 100%);--zen-stone-lip: inset 0 1px 0 rgba(255, 255, 255, .9), inset 0 -1px 0 rgba(38, 34, 28, .08);--zen-subnav-bg: #e9dfc8;--zen-subnav-lip: inset 0 1px 0 rgba(255, 255, 255, .75), inset 0 -1px 0 rgba(38, 34, 28, .1);--zen-carve-ink: #7c7466;--zen-carve-relief: 0 1px 0 rgba(255, 255, 255, .9);--zen-carve-line: drop-shadow(0 1px 0 rgba(255, 255, 255, .9));--zen-paint-sand: #ddccab;--zen-paint-sage: #a9b49b;--zen-paint-terracotta: #c2795a;--zen-paint-ochre: #cba452;--zen-paint-slate: #8b95a1;--zen-paint-charcoal: #494c4f;--modula-font-display: "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--modula-font-body: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif}[data-modula=zen]{--zen-nudge-rest: -2.5deg;--zen-nudge-ease: cubic-bezier(.34, 1.56, .64, 1);--zen-nudge-time: .45s}[data-theme=dark] .zen-room-tuned{--modula-accent: var(--zen-work-accent-night);--modula-accent-hover: color-mix(in srgb, var(--zen-work-accent-night) 82%, white);--modula-accent-light: color-mix(in srgb, var(--zen-work-accent-night) 14%, transparent);--zen-accent-glow: color-mix(in srgb, var(--zen-work-accent-night) 45%, transparent);--modula-btn-start: var(--zen-work-accent-night);--modula-btn-end: color-mix(in srgb, var(--zen-work-accent-night) 78%, black)}[data-theme=light] .zen-room-tuned{--modula-accent: var(--zen-work-accent-day);--modula-accent-hover: color-mix(in srgb, var(--zen-work-accent-day) 82%, black);--modula-accent-light: color-mix(in srgb, var(--zen-work-accent-day) 12%, transparent);--zen-accent-glow: transparent;--modula-btn-start: var(--zen-work-accent-day);--modula-btn-end: color-mix(in srgb, var(--zen-work-accent-day) 78%, black)}.zen-mark{display:inline-block;width:34px;height:34px;position:relative}.zen-mark:before{content:"";position:absolute;inset:0;border:2px solid var(--zen-carve-ink);clip-path:polygon(0 0,100% 0,100% 62%,92% 62%,92% 8%,8% 8%,8% 92%,62% 92%,62% 100%,0 100%);filter:var(--zen-carve-line);transition:border-color .35s ease}.zen-mark:hover:before,a:hover>.zen-mark:before,.zen-lockup:hover .zen-mark:before{border-color:var(--color-text-primary)}.zen-mark:after{content:"";position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;background:color-mix(in srgb,var(--modula-accent) 55%,transparent);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00000047,0 0 8px var(--zen-accent-glow);transition:background .35s ease,box-shadow .35s ease}.zen-mark:hover:after,a:hover>.zen-mark:after,.zen-lockup:hover .zen-mark:after{background:var(--modula-accent);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00000047,0 0 14px var(--zen-accent-glow)}.zen-mark--sm{width:15px;height:15px}.zen-mark--sm:before{border-width:1.5px;clip-path:polygon(0 0,100% 0,100% 62%,90% 62%,90% 10%,10% 10%,10% 90%,62% 90%,62% 100%,0 100%)}.zen-mark--sm:after{right:-1px;bottom:-1px;width:5px;height:5px;box-shadow:none}.zen-mark--monogram{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:600;font-size:var(--zen-monogram-size, 16px);line-height:1;color:var(--zen-carve-ink);text-shadow:var(--zen-carve-relief);transition:color .35s ease}.zen-mark--monogram:before{border-width:2px}.zen-mark--monogram:after{right:-2px;bottom:-2px;width:8px;height:8px;box-shadow:none}.zen-mark--sm.zen-mark--monogram{--zen-monogram-size: 10px}.zen-mark--monogram:hover,a:hover>.zen-mark--monogram{color:var(--color-text-primary)}.zen-lockup{display:inline-flex;align-items:center;gap:1rem;text-decoration:none;color:var(--color-text-primary)}.zen-lockup .zen-wordmark{color:var(--zen-carve-ink);text-shadow:var(--zen-carve-relief);transition:color .35s ease}.zen-lockup:hover .zen-wordmark{color:var(--color-text-primary)}.zen-arrow{display:inline-block;overflow:visible;width:20px;height:auto}.zen-arrow--prev{transform:scaleX(-1)}.zen-arrow-stroke{stroke:var(--zen-carve-ink);stroke-width:2;stroke-linecap:round;filter:var(--zen-carve-line);transition:stroke .35s ease}.zen-arrow-head{fill:color-mix(in srgb,var(--modula-accent) 55%,transparent);transition:fill .35s ease}.zen-arrow-glow{fill:var(--zen-accent-glow);filter:blur(3px);transition:filter .35s ease}button:hover>.zen-arrow .zen-arrow-stroke,a:hover>.zen-arrow .zen-arrow-stroke{stroke:var(--color-text-primary)}button:hover>.zen-arrow .zen-arrow-head,a:hover>.zen-arrow .zen-arrow-head{fill:var(--modula-accent)}button:hover>.zen-arrow .zen-arrow-glow,a:hover>.zen-arrow .zen-arrow-glow{filter:blur(5px)}.zen-vein{--vein-glass: color-mix(in srgb, var(--modula-accent) 55%, transparent);position:relative;height:5px}.zen-vein:before{content:"";position:absolute;left:0;right:0;top:2px;height:1px;background:linear-gradient(90deg,transparent 0 8px,var(--zen-carve-ink) 8px calc(50% - 5.5px),transparent calc(50% - 5.5px) calc(50% + 5.5px),var(--zen-carve-ink) calc(50% + 5.5px) calc(100% - 8px),transparent calc(100% - 8px));filter:var(--zen-carve-line)}.zen-vein:after{content:"";position:absolute;inset:0;background:linear-gradient(var(--vein-glass),var(--vein-glass)) left center / 5px 5px no-repeat,linear-gradient(var(--vein-glass),var(--vein-glass)) center center / 5px 5px no-repeat,linear-gradient(var(--vein-glass),var(--vein-glass)) right center / 5px 5px no-repeat;filter:drop-shadow(0 0 4px var(--zen-accent-glow))}.zen-vein--ends:before{background:linear-gradient(90deg,transparent 0 8px,var(--zen-carve-ink) 8px calc(100% - 8px),transparent calc(100% - 8px))}.zen-vein--ends:after{background:linear-gradient(var(--vein-glass),var(--vein-glass)) left center / 5px 5px no-repeat,linear-gradient(var(--vein-glass),var(--vein-glass)) right center / 5px 5px no-repeat}.zen-vein--mid:before{background:linear-gradient(90deg,var(--zen-carve-ink) 0 calc(50% - 5.5px),transparent calc(50% - 5.5px) calc(50% + 5.5px),var(--zen-carve-ink) calc(50% + 5.5px))}.zen-vein--mid:after{background:linear-gradient(var(--vein-glass),var(--vein-glass)) center center / 5px 5px no-repeat}.zen-sep{display:inline-block;vertical-align:middle;position:relative;width:27px;height:5px;margin:0 .55em}.zen-sep:before{content:"";position:absolute;inset:2px 0;background:linear-gradient(90deg,var(--zen-carve-ink) 0 5px,transparent 5px calc(100% - 5px),var(--zen-carve-ink) calc(100% - 5px));filter:var(--zen-carve-line)}.zen-sep:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;transform:translate(-50%,-50%);background:color-mix(in srgb,var(--modula-accent) 55%,transparent);box-shadow:0 0 6px var(--zen-accent-glow)}.zen-markbadge{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.18em .5em;margin-left:.55em;vertical-align:middle}.zen-markbadge:before{content:"";position:absolute;inset:0;border:1.5px solid var(--zen-carve-ink);clip-path:polygon(0 0,100% 0,100% 62%,92% 62%,92% 8%,8% 8%,8% 92%,62% 92%,62% 100%,0 100%);filter:var(--zen-carve-line)}.zen-markbadge:after{content:"";position:absolute;right:-2px;bottom:-2px;width:5px;height:5px;background:color-mix(in srgb,var(--modula-accent) 55%,transparent);box-shadow:0 0 6px var(--zen-accent-glow)}.zen-markbadge--print{aspect-ratio:3 / 4;padding:.3em .45em}.zen-markbadge--print:before{border-width:2px}.zen-markbadge--sq{aspect-ratio:1;padding:.3em .45em}.zen-markbadge--sq:before{border-width:2px}.zen-markbadge-cur{display:inline-block;font-size:.7em;margin-right:.08em;transform:translateY(-.16em)}.zen-markbadge-val{font-family:var(--zen-font-tall);font-weight:700;font-size:1.55em;line-height:1;letter-spacing:-.02em}.zen-markframe{position:relative;overflow:visible}.zen-markframe:after{content:"";position:absolute;right:-5.5px;bottom:-5.5px;width:11px;height:11px;z-index:2;transform:scale(.3);background:color-mix(in srgb,var(--modula-accent) 55%,transparent);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00000047,0 0 8px var(--zen-accent-glow);transition:transform .4s ease,background .35s ease,box-shadow .35s ease}.tile-outer:hover .zen-markframe:after,a:hover>.zen-markframe:after{transform:scale(1);background:var(--modula-accent);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00000047,0 0 14px var(--zen-accent-glow)}.markframe-draw{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}.markframe-draw line{stroke:var(--color-text-primary);stroke-width:2;stroke-dasharray:100 100;stroke-dashoffset:100;transition:stroke-dashoffset .22s ease .18s}.markframe-draw .mf-late{stroke-dasharray:95 100;stroke-dashoffset:95;transition:stroke-dashoffset .2s ease}.tile-outer:hover .markframe-draw line{stroke-dashoffset:0;transition:stroke-dashoffset .22s ease}.tile-outer:hover .markframe-draw .mf-late{transition:stroke-dashoffset .2s ease .18s}.zen-markframe:has(.zen-cellbtn):after{content:none}button.zen-cellbtn{position:absolute;right:-19px;bottom:-19px;width:38px;height:38px;padding:0;border:none;background:transparent;cursor:pointer;z-index:3}.zen-cellbtn:before{content:"";position:absolute;left:50%;top:50%;width:11px;height:11px;transform:translate(-50%,-50%) scale(.3);background:color-mix(in srgb,var(--modula-accent) 55%,transparent);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00000047,0 0 8px var(--zen-accent-glow);clip-path:polygon(0% 0%,33% 0%,67% 0%,100% 0%,100% 33%,100% 67%,100% 100%,67% 100%,33% 100%,0% 100%,0% 67%,0% 33%);transition:transform .4s ease,background .35s ease,box-shadow .35s ease,clip-path .3s ease}.tile-outer:hover .zen-cellbtn:before{transform:translate(-50%,-50%) scale(1);background:var(--modula-accent);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00000047,0 0 14px var(--zen-accent-glow)}.zen-cellbtn:hover:before{transform:translate(-50%,-50%) scale(1.15);clip-path:polygon(33% 0%,67% 0%,67% 33%,100% 33%,100% 67%,67% 67%,67% 100%,33% 100%,33% 67%,0% 67%,0% 33%,33% 33%)}.zen-cellbtn.is-kept:before{transform:translate(-50%,-50%) scale(1);background:var(--modula-accent);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00000047,0 0 14px var(--zen-accent-glow)}.zen-cellbtn.is-kept:hover:before{transform:translate(-50%,-50%) scale(1.15) rotate(45deg);clip-path:polygon(33% 0%,67% 0%,67% 33%,100% 33%,100% 67%,67% 67%,67% 100%,33% 100%,33% 67%,0% 67%,0% 33%,33% 33%)}.zen-cellbtn:focus-visible{outline:1px solid var(--modula-accent);outline-offset:2px}@media(pointer:coarse){.zen-cellbtn:before{transform:translate(-50%,-50%) scale(1);clip-path:polygon(33% 0%,67% 0%,67% 33%,100% 33%,100% 67%,67% 67%,67% 100%,33% 100%,33% 67%,0% 67%,0% 33%,33% 33%)}.zen-cellbtn.is-kept:before{clip-path:polygon(0% 0%,33% 0%,67% 0%,100% 0%,100% 33%,100% 67%,100% 100%,67% 100%,33% 100%,0% 100%,0% 67%,0% 33%)}}.zen-roomicon{display:block;width:56px;height:56px;overflow:visible}.zen-ri-stroke{stroke:var(--zen-carve-ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none;filter:var(--zen-carve-line);transition:stroke .35s ease}.zen-ri-cell{fill:color-mix(in srgb,var(--color-text-primary) 18%,transparent);transition:fill .35s ease}.zen-ri-cell--dim{fill:color-mix(in srgb,var(--color-text-primary) 10%,transparent)}.zen-ri-ink{fill:var(--zen-carve-ink);transition:fill .35s ease}.zen-ri-glass{fill:color-mix(in srgb,var(--modula-accent) 55%,transparent);transition:fill .35s ease}.zen-ri-glow{fill:var(--zen-accent-glow);filter:blur(3px);transition:filter .35s ease}button:hover .zen-roomicon .zen-ri-stroke,a:hover .zen-roomicon .zen-ri-stroke{stroke:var(--color-text-primary)}button:hover .zen-roomicon .zen-ri-cell,a:hover .zen-roomicon .zen-ri-cell{fill:color-mix(in srgb,var(--color-text-primary) 30%,transparent)}button:hover .zen-roomicon .zen-ri-cell--dim,a:hover .zen-roomicon .zen-ri-cell--dim{fill:color-mix(in srgb,var(--color-text-primary) 18%,transparent)}button:hover .zen-roomicon .zen-ri-ink,a:hover .zen-roomicon .zen-ri-ink{fill:var(--color-text-primary)}button:hover .zen-roomicon .zen-ri-glass,a:hover .zen-roomicon .zen-ri-glass{fill:var(--modula-accent)}button:hover .zen-roomicon .zen-ri-glow,a:hover .zen-roomicon .zen-ri-glow{filter:blur(5px)}[data-theme=light] .zen-ri-cell{fill:color-mix(in srgb,var(--color-text-primary) 30%,transparent)}[data-theme=light] .zen-ri-cell--dim{fill:color-mix(in srgb,var(--color-text-primary) 18%,transparent)}[data-theme=light] button:hover .zen-roomicon .zen-ri-cell,[data-theme=light] a:hover .zen-roomicon .zen-ri-cell{fill:color-mix(in srgb,var(--color-text-primary) 42%,transparent)}[data-theme=light] button:hover .zen-roomicon .zen-ri-cell--dim,[data-theme=light] a:hover .zen-roomicon .zen-ri-cell--dim{fill:color-mix(in srgb,var(--color-text-primary) 30%,transparent)}.zen-ri-awake .zen-ri-stroke{stroke:var(--color-text-primary)}.zen-ri-awake .zen-ri-cell{fill:color-mix(in srgb,var(--color-text-primary) 30%,transparent)}.zen-ri-awake .zen-ri-cell--dim{fill:color-mix(in srgb,var(--color-text-primary) 18%,transparent)}.zen-ri-awake .zen-ri-ink{fill:var(--color-text-primary)}.zen-ri-awake .zen-ri-glass{fill:var(--modula-accent)}.zen-ri-awake .zen-ri-glow{filter:blur(5px)}[data-theme=light] .zen-ri-awake .zen-ri-cell{fill:color-mix(in srgb,var(--color-text-primary) 42%,transparent)}[data-theme=light] .zen-ri-awake .zen-ri-cell--dim{fill:color-mix(in srgb,var(--color-text-primary) 30%,transparent)}.zen-card{background:var(--color-bg-card);border:1px solid var(--color-border);box-shadow:none;transition:box-shadow .25s ease,border-color .25s ease,background .35s ease}[data-theme=light] .zen-card{border-color:transparent;box-shadow:var(--zen-work-shadow)}.tile-outer--clickable:hover .zen-card{box-shadow:var(--zen-work-shadow),0 0 0 1px var(--modula-accent)}.tile-outer--clickable:hover .zen-card.zen-markframe{box-shadow:var(--zen-work-shadow)}.zen-frame{background:var(--color-bg-subtle);overflow:hidden}.zen-spot{position:relative}.zen-spot:before{content:"";position:absolute;inset:-110px -80px -90px;pointer-events:none;opacity:1;transition:opacity .35s ease;background:radial-gradient(ellipse 52% 42% at 50% 28%,color-mix(in srgb,var(--zen-accent-glow) 36%,transparent),transparent 66%),radial-gradient(ellipse 78% 62% at 50% 36%,color-mix(in srgb,var(--color-text-primary) 5%,transparent),transparent 62%)}.zen-spot>*{position:relative}.zen-spot-room{overflow-x:clip}.zen-card.zen-spot{box-shadow:var(--zen-stage-shadow)}.zen-spot .zen-frame{position:relative}.zen-spot .zen-frame:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:var(--zen-well-shadow)}.zen-plaque{padding:1.2rem 1.4rem;background:var(--zen-stone-bg);box-shadow:var(--zen-stone-lip),var(--zen-card-shadow);color:var(--color-text-secondary);font-size:.9rem;transition:color .35s ease}.zen-plaque b{display:block;margin-bottom:.3rem;color:var(--zen-carve-ink);text-shadow:var(--zen-carve-relief);font-weight:600;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase}.zen-gallery-card{background:var(--zen-stock);color:var(--zen-stock-ink);box-shadow:var(--zen-card-shadow);transition:background .35s ease,box-shadow .35s ease}.zen-stock-dim{color:var(--zen-stock-dim)}.zen-stock-rule{border-top:1px solid color-mix(in srgb,var(--zen-stock-dim) 35%,transparent)}.zen-gcard{display:block;max-width:380px;padding:1rem 4.2rem .95rem 1.2rem;position:relative}.zen-gcard-no{font-family:var(--font-sans);font-size:.62rem;letter-spacing:.26em;text-transform:uppercase}.zen-gcard-title{font-size:1.15rem;margin-top:.3rem;color:var(--zen-stock-ink)}.zen-gcard-medium{font-family:var(--font-heading);font-style:italic;font-size:.8rem;margin-top:.1rem}.zen-gcard-line{display:flex;justify-content:space-between;gap:1rem;margin-top:.55rem;padding-top:.5rem;font-family:var(--font-sans);font-size:.72rem}.zen-gcard-qr{position:absolute;top:.9rem;right:.9rem;width:38px;height:38px;display:grid;place-items:center;background:repeating-linear-gradient(0deg,color-mix(in srgb,var(--zen-stock-ink) 50%,transparent) 0 2px,transparent 2px 5px),repeating-linear-gradient(90deg,color-mix(in srgb,var(--zen-stock-ink) 50%,transparent) 0 2px,transparent 2px 5px)}.zen-gcard-qr-core{display:grid;place-items:center;padding:2px;background:var(--zen-stock)}.zen-nudge{transform:rotate(var(--zen-nudge-rest));transition:transform var(--zen-nudge-time) var(--zen-nudge-ease)}.zen-nudge:hover,a:hover>.zen-nudge,.zen-lockup:hover .zen-nudge{transform:rotate(0)}.zen-display{font-family:var(--font-heading);font-weight:400;letter-spacing:.02em;color:var(--color-text-primary)}.zen-headline{font-family:var(--font-sans);font-weight:600;letter-spacing:-.01em;color:var(--color-text-primary)}.zen-wordmark{font-family:var(--font-heading);font-weight:400;letter-spacing:.32em;text-transform:uppercase;color:var(--color-text-primary)}.zen-label{font-family:var(--font-sans);font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-secondary)}.zen-label--accent{color:var(--modula-accent)}.zen-price{font-variant-numeric:tabular-nums;font-weight:500;color:var(--modula-accent)}.zen-price--display{font-family:var(--font-heading);font-weight:400;font-size:2rem}.zen-carved{color:var(--zen-carve-ink);text-shadow:var(--zen-carve-relief);transition:color .25s ease}a.zen-carved:hover,button.zen-carved:hover,.zen-carved.is-on,.zen-carved.is-active{color:var(--modula-accent)}.zen-carve-btn{border:none;background:transparent;color:var(--zen-carve-ink);transition:color .25s ease}.zen-carve-btn svg{filter:var(--zen-carve-line);transition:filter .3s ease}.zen-carve-btn:hover{background:transparent;color:var(--modula-accent)}.zen-carve-btn:hover svg{filter:drop-shadow(0 0 6px var(--zen-accent-glow))}.zen-field{border-radius:0}.zen-inlay{display:inline-block;padding:.35em .8em;background:var(--modula-accent-light);box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #0000002e;color:var(--modula-accent);text-decoration:none;transition:background .25s ease,box-shadow .25s ease,color .25s ease}.zen-inlay:hover{background:color-mix(in srgb,var(--modula-accent) 28%,transparent);box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #0000002e,0 0 8px var(--zen-accent-glow);color:var(--modula-accent-hover)}.zen-inlay:active{background:var(--modula-accent);color:var(--color-bg-primary)}.zen-keep{display:inline-flex;align-items:center;justify-content:center;gap:.6em;background:transparent;border:1px solid var(--zen-carve-ink);border-radius:0;color:var(--zen-carve-ink);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;transition:color .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease}.zen-keep-cell{width:10px;height:10px;flex:none;background:color-mix(in srgb,var(--modula-accent) 55%,transparent);clip-path:polygon(33% 0%,67% 0%,67% 33%,100% 33%,100% 67%,67% 67%,67% 100%,33% 100%,33% 67%,0% 67%,0% 33%,33% 33%);transition:background .25s ease,box-shadow .25s ease,clip-path .3s ease,transform .3s ease}.zen-keep:hover{background:transparent;color:var(--color-text-primary);border-color:var(--color-text-primary)}.zen-keep:hover .zen-keep-cell{background:var(--modula-accent);box-shadow:0 0 8px var(--zen-accent-glow)}.zen-keep.is-kept{background:var(--modula-accent-light);border-color:transparent;box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #0000002e;color:var(--modula-accent)}.zen-keep.is-kept .zen-keep-cell{background:var(--modula-accent);box-shadow:0 0 8px var(--zen-accent-glow);clip-path:polygon(0% 0%,33% 0%,67% 0%,100% 0%,100% 33%,100% 67%,100% 100%,67% 100%,33% 100%,0% 100%,0% 67%,0% 33%)}.zen-keep.is-kept:hover .zen-keep-cell{clip-path:polygon(33% 0%,67% 0%,67% 33%,100% 33%,100% 67%,67% 67%,67% 100%,33% 100%,33% 67%,0% 67%,0% 33%,33% 33%);transform:rotate(45deg)}.zen-buy{background:var(--modula-accent-light);border:none;border-radius:0;box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #0000002e;color:var(--modula-accent);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.zen-buy:hover{background:color-mix(in srgb,var(--modula-accent) 28%,transparent);color:var(--modula-accent-hover);box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #0000002e,0 0 12px var(--zen-accent-glow)}.zen-buy:active{background:var(--modula-accent);color:var(--color-bg-primary);box-shadow:0 0 30px var(--zen-accent-glow)}.zen-stone{background:var(--zen-stone-bg);box-shadow:var(--zen-stone-lip)}.zen-alcove{background:var(--zen-engrave-bg);box-shadow:var(--zen-engrave-shadow)}.zen-subnav{background:var(--zen-subnav-bg);box-shadow:var(--zen-subnav-lip)}.zen-plaster{--zen-wall-paint: var(--color-bg-primary);--zen-wall-tint-hi: 82%;--zen-wall-tint-lo: 74%;--zen-wall-tile: 36rem;background:linear-gradient(color-mix(in srgb,var(--modula-accent) 5%,transparent),transparent 55%),linear-gradient(color-mix(in srgb,var(--zen-wall-paint) var(--zen-wall-tint-hi),transparent),color-mix(in srgb,var(--zen-wall-paint) var(--zen-wall-tint-lo),transparent) 80%),url(/art/textures/taxco-wall-dark.jpg) top left / var(--zen-wall-tile) repeat}[data-theme=light] .zen-plaster{--zen-wall-tint-hi: 78%;--zen-wall-tint-lo: 70%;background:linear-gradient(color-mix(in srgb,var(--modula-accent) 5%,transparent),transparent 55%),linear-gradient(color-mix(in srgb,var(--zen-wall-paint) var(--zen-wall-tint-hi),transparent),color-mix(in srgb,var(--zen-wall-paint) var(--zen-wall-tint-lo),transparent) 80%),url(/art/textures/taxco-wall.jpg) top left / var(--zen-wall-tile) repeat}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;transition:background .35s ease,color .35s ease}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--modula-accent) 40%,var(--color-bg-subtle));border:3px solid var(--color-bg-primary);border-radius:6px}::-webkit-scrollbar-thumb:hover,::-webkit-scrollbar-thumb:active{background:var(--modula-accent)}@supports not selector(::-webkit-scrollbar){html{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--modula-accent) 45%,var(--color-bg-subtle)) var(--color-bg-primary)}}
