.main-nav{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-primary)}.layout>.main-nav{z-index:100}.menu-toggle{display:none;background:none;border:none;color:var(--color-text);font-size:1.5rem;cursor:pointer;padding:var(--spacing-sm);min-width:44px;min-height:44px}.nav-links{display:flex;list-style:none;gap:var(--spacing-md)}.nav-links li a{color:var(--color-text);text-decoration:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:4px;transition:background-color .2s;min-height:44px;display:inline-flex;align-items:center;font-weight:700;font-family:Caudex,serif}.nav-links li a:hover,.nav-links li a.active{background-color:var(--color-background);color:var(--color-secondary);text-decoration:underline}@media(max-width:768px){.main-nav{flex-wrap:wrap;align-items:center}.menu-toggle{display:block}.theme-toggle{margin-left:auto}.nav-links{display:none;flex-direction:column;width:100%;gap:0;order:3}.nav-links.open{display:flex}.nav-links li a{display:block;padding:var(--spacing-md);width:100%;min-height:44px}}.theme-toggle{background:none;border:2px solid var(--color-text);border-radius:50%;color:var(--color-text);font-size:1.25rem;cursor:pointer;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;margin-left:auto;transition:background-color .2s,color .2s}.auth-section{display:flex;align-items:center;margin-left:var(--spacing-md);gap:var(--spacing-sm)}.auth-error{color:#f44;font-size:.85rem;margin-right:var(--spacing-sm)}.user-info{display:flex;align-items:center;gap:var(--spacing-sm)}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.profile-link{display:inline-flex;align-items:center;gap:var(--spacing-sm);text-decoration:none;color:inherit}.profile-link:hover .user-name{color:var(--color-secondary)}.user-name{color:var(--color-text);font-family:Caudex,serif;font-weight:700}.auth-button{background:none;border:2px solid var(--color-text);border-radius:4px;color:var(--color-text);cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);font-family:Caudex,serif;font-weight:700;min-height:44px;min-width:44px;transition:background-color .2s,color .2s}.auth-button:hover{background-color:var(--color-background);color:var(--color-secondary)}@media(max-width:768px){.auth-section{margin-left:var(--spacing-sm)}.user-name{display:none}.edit-mode-toggle{font-size:0;padding:var(--spacing-sm);min-height:44px;min-width:44px}.edit-mode-toggle:after{content:"✏️";font-size:1.25rem}}.nav-logo{width:40px;height:40px;border-radius:50%;border:2px solid #000;object-fit:cover;margin-left:0;margin-right:var(--spacing-md);flex-shrink:0;order:-1}.review-queue-link{position:relative}.pending-badge{position:absolute;top:-4px;right:-10px;background-color:#c0392b;color:#fff;font-size:.65rem;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}.reviews-nav-item{position:relative}.reviews-nav-item--admin .reviews-nav-item__trigger{padding-right:var(--spacing-sm)}.reviews-nav-item__toggle{position:relative;background:none;border:none;color:var(--color-text);font-family:Caudex,serif;font-weight:700;font-size:.9rem;cursor:pointer;padding:var(--spacing-sm) var(--spacing-xs);min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.reviews-nav-item__toggle:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px;border-radius:4px}.reviews-nav-item__toggle[aria-expanded=true]{color:var(--color-secondary)}.reviews-nav-item__dropdown{position:absolute;top:100%;left:0;margin:0;padding:var(--spacing-xs) 0;list-style:none;background-color:var(--color-primary);border:2px solid var(--color-accent);border-radius:8px;min-width:180px;z-index:50;box-shadow:0 4px 12px #00000026}.reviews-nav-item__dropdown[hidden]{display:none}.reviews-nav-item__dropdown li a{display:flex;width:100%;padding:var(--spacing-sm) var(--spacing-md);border-radius:0;white-space:nowrap}.reviews-nav-item__dropdown li a:hover,.reviews-nav-item__dropdown li a.active{background-color:var(--color-background);color:var(--color-secondary);text-decoration:underline}@media(max-width:768px){.reviews-nav-item--admin .reviews-nav-item__toggle{display:none}.reviews-nav-item__dropdown,.reviews-nav-item__dropdown[hidden]{position:static;display:block;border:none;border-radius:0;box-shadow:none;background:transparent;padding-left:var(--spacing-md)}}.secondary-nav{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-primary)}.secondary-menu-toggle{display:none;background:none;border:none;color:var(--color-text);font-size:1.5rem;cursor:pointer;padding:var(--spacing-sm);min-width:44px;min-height:44px}.secondary-nav-links{display:flex;list-style:none;gap:var(--spacing-md);margin:0;padding:0}.secondary-nav-links li a{position:relative;color:var(--color-text);text-decoration:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:4px;transition:background-color .2s,color .2s;min-height:44px;display:inline-flex;align-items:center;font-family:Caudex,serif;font-weight:700}.secondary-nav-links li a:hover,.secondary-nav-links li a.active{background-color:var(--color-background);color:var(--color-secondary)}@media(max-width:768px){.secondary-nav{flex-wrap:wrap}.secondary-menu-toggle{display:block}.secondary-nav-links{display:none;flex-direction:column;width:100%;gap:0}.secondary-nav-links.open{display:flex}.secondary-nav-links li a{display:block;padding:var(--spacing-md);width:100%;min-height:44px}}.site-footer{text-align:center;padding:var(--spacing-lg);color:var(--color-text);font-size:var(--font-sizeSmall);border-top:1px solid var(--color-primary);margin-top:auto}.developer-credit{margin-top:var(--spacing-sm);font-size:.85em;opacity:.8}.developer-credit a{color:var(--color-secondary);text-decoration:none}.developer-credit a:hover{text-decoration:underline}.edit-mode-banner{position:sticky;top:0;z-index:999;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-secondary);color:#000;text-align:center;font-family:Caudex,serif;font-size:.95rem;letter-spacing:1px;border-bottom:2px solid var(--color-accent)}.edit-mode-banner__icon{vertical-align:-3px;margin-right:.25rem}.edit-mode-toggle{padding:var(--spacing-sm) var(--spacing-md);min-height:44px;min-width:44px;background:none;color:var(--color-text);border:2px solid var(--color-text);border-radius:4px;font-family:Caudex,serif;font-weight:700;font-size:.9rem;letter-spacing:1px;cursor:pointer;transition:background-color .2s,color .2s;white-space:nowrap}.edit-mode-toggle:hover{background-color:var(--color-background);color:var(--color-secondary)}.edit-mode-toggle[aria-pressed=true]{background-color:var(--color-accent);color:#000;border-color:var(--color-accent)}.edit-mode-toggle:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.color-token-control{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;flex-wrap:wrap}.color-token-label{min-width:120px;font-weight:600;font-size:.875rem}.color-token-picker{width:44px;height:44px;border:2px solid var(--color-border);border-radius:6px;cursor:pointer;padding:2px;background:transparent}.color-token-hex-input{width:90px;padding:.375rem .5rem;border:2px solid var(--color-border);border-radius:6px;font-family:monospace;font-size:.875rem;text-transform:uppercase}.color-token-hex-input:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.color-token-error{color:#e74c3c;font-size:.75rem;min-width:100px}.color-token-saved-swatch{display:flex;align-items:center;gap:.25rem}.color-token-swatch-preview{display:inline-block;width:24px;height:24px;border:1px solid var(--color-border);border-radius:4px}.color-token-swatch-label{font-family:monospace;font-size:.75rem;opacity:.8}.color-token-reset-btn{padding:.25rem .75rem;min-height:44px;border:1px solid var(--color-border);border-radius:6px;background:transparent;cursor:pointer;font-size:.75rem}.color-token-reset-btn:hover{background:#ffffff1a}.color-token-reset-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.color-picker-panel{position:fixed;top:180px;left:12px;width:280px;max-height:calc(100vh - 192px);overflow-y:auto;background-color:var(--color-primary);border:2px solid var(--color-accent);border-radius:12px;padding:var(--spacing-md);z-index:9999;box-shadow:0 4px 16px #00000059}.color-picker-panel--collapsed{overflow-y:hidden}.color-picker-panel-header{display:flex;justify-content:space-between;align-items:center}.color-picker-panel-header h2{margin:0;font-size:1.25rem;color:var(--color-text)}.color-picker-toggle-btn{background:none;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-size:.875rem;padding:4px 10px;color:var(--color-text);min-height:32px;min-width:32px;display:flex;align-items:center;justify-content:center}.color-picker-toggle-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.color-picker-panel-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.color-picker-panel-actions button{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;font-size:.875rem;min-height:44px}.color-picker-save-btn{background-color:var(--color-secondary);color:var(--color-text)}.color-picker-save-btn:disabled{opacity:.6;cursor:not-allowed}.color-picker-reset-all-btn{background-color:transparent;color:var(--color-text)}.color-picker-error{color:#c00;font-size:.875rem;margin-top:var(--spacing-sm)}.color-picker-success{color:#2e7d32;font-size:.875rem;margin-top:var(--spacing-sm)}.layout{display:flex;flex-direction:column;min-height:100vh;position:relative}.layout:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url(/assets/musicNotes3-YlErB5pE.jpg);background-size:100% 100%;background-position:center;background-repeat:no-repeat;opacity:.2;z-index:0;pointer-events:none;filter:contrast(2);filter:grayscale(100%);filter:hue-rotate(280deg)}.layout>*{position:relative;z-index:1}.layout>.color-picker-panel{z-index:9999;position:fixed}.content{flex:1;padding:var(--spacing-lg);max-width:1200px;margin:0 auto;width:100%}.edit-mode-toggle-bar{display:flex;justify-content:flex-end;padding:var(--spacing-sm) var(--spacing-lg);max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}@media(max-width:768px){.content{padding:var(--spacing-md)}}.confirm-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.confirm-dialog{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;padding:var(--spacing-lg);max-width:420px;width:90%;color:var(--color-card-text);text-shadow:none}.confirm-dialog-message{font-family:Caudex,serif;font-size:1.1rem;margin:0 0 var(--spacing-md);line-height:1.5}.confirm-dialog-error{margin-bottom:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-sm);background-color:#dc354526;color:#dc3545;border:1px solid #dc3545;border-radius:6px;font-size:.85rem}.confirm-dialog-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.confirm-dialog-delete,.confirm-dialog-cancel{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-accent);border-radius:8px;font-family:Caudex,serif;font-size:.9rem;letter-spacing:1px;cursor:pointer;transition:background-color .2s,opacity .2s}.confirm-dialog-delete{background-color:#dc3545;color:#fff;border-color:#dc3545}.confirm-dialog-delete:hover:not(:disabled){background-color:#bb2d3b}.confirm-dialog-delete:disabled{opacity:.5;cursor:not-allowed}.confirm-dialog-cancel{background-color:transparent;color:var(--color-card-text);border-color:var(--color-card-text)}.confirm-dialog-cancel:hover:not(:disabled){background-color:#ffffff1a}.confirm-dialog-cancel:disabled{opacity:.5;cursor:not-allowed}.confirm-dialog-delete:focus-visible,.confirm-dialog-cancel:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.card-editor{border:2px dashed var(--color-secondary);border-radius:16px;padding:var(--spacing-sm);position:relative}.add-card-form{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;padding:var(--spacing-md);margin-top:var(--spacing-md);color:var(--color-card-text)}.add-card-form .card-editor{border:none;padding:0}.card-editor-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm);justify-content:flex-end}.card-editor-save,.card-editor-cancel{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-accent);border-radius:8px;font-family:Caudex,serif;font-size:.9rem;letter-spacing:1px;cursor:pointer;transition:background-color .2s,opacity .2s}.card-editor-save{background-color:var(--color-secondary);color:#000}.card-editor-save:hover:not(:disabled){opacity:.85}.card-editor-save:disabled{opacity:.5;cursor:not-allowed}.card-editor-cancel{background-color:transparent;color:var(--color-card-text);border-color:var(--color-card-text)}.card-editor-cancel:hover:not(:disabled){background-color:#ffffff1a}.card-editor-cancel:disabled{opacity:.5;cursor:not-allowed}.card-editor-delete{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid #dc3545;border-radius:8px;background-color:transparent;color:#dc3545;font-family:Caudex,serif;font-size:.9rem;letter-spacing:1px;cursor:pointer;transition:background-color .2s,opacity .2s}.card-editor-delete:hover:not(:disabled){background-color:#dc354526}.card-editor-delete:disabled{opacity:.5;cursor:not-allowed}.card-editor-delete:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.card-editor-api-error{margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background-color:#dc354526;color:#dc3545;border:1px solid #dc3545;border-radius:6px;font-size:.85rem;text-shadow:none}.card-editor-field-error{color:#dc3545;font-size:.8rem;margin-top:var(--spacing-xs);text-shadow:none}.card-image{display:block;max-width:100%;height:auto;border-radius:8px}.card-image--above-left{margin-bottom:var(--spacing-sm)}.card-image--above-center{margin-left:auto;margin-right:auto;margin-bottom:var(--spacing-sm)}.card-image--above-right{margin-left:auto;margin-bottom:var(--spacing-sm)}.card-image--below-left{margin-top:var(--spacing-sm)}.card-image--below-center{margin-left:auto;margin-right:auto;margin-top:var(--spacing-sm)}.card-image--below-right{margin-left:auto;margin-top:var(--spacing-sm)}.card-image--left,.card-image--right{max-width:160px;flex-shrink:0}.portfolio-item--left,.portfolio-item--right{display:flex;align-items:center;gap:var(--spacing-md);grid-column:1 / -1}.portfolio-item--left{flex-direction:row}.portfolio-item--right{flex-direction:row-reverse}.portfolio-item--left .portfolio-item__text,.portfolio-item--right .portfolio-item__text{flex:1;min-width:0}.credential-item--left,.credential-item--right{display:flex;align-items:center;gap:var(--spacing-md);grid-column:1 / -1}.credential-item--left{flex-direction:row}.credential-item--right{flex-direction:row-reverse}.credential-item--left .credential-item__text,.credential-item--right .credential-item__text{flex:1;min-width:0}@media(max-width:768px){.portfolio-item--left,.portfolio-item--right,.credential-item--left,.credential-item--right{flex-direction:column}.card-image--left,.card-image--right{max-width:100%}}.box-folder-browser-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.box-folder-browser{background:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;padding:var(--spacing-lg);width:90%;max-width:720px;max-height:85vh;overflow-y:auto;color:var(--color-card-text);display:flex;flex-direction:column;gap:var(--spacing-md)}.box-folder-browser__header{display:flex;align-items:center;justify-content:space-between}.box-folder-browser__heading{font-family:Caudex,serif;color:#5a189a;margin:0;font-size:1.4rem}.box-folder-browser__close-btn{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-accent);border-radius:8px;font-family:Caudex,serif;font-size:1rem;cursor:pointer;background:var(--color-accent);color:#000}.box-folder-browser__close-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.box-folder-browser__folder-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.box-folder-browser__folder-field label{font-weight:600;font-size:.9rem}.box-folder-browser__folder-field select{padding:var(--spacing-sm);border:2px solid var(--color-border);border-radius:8px;font-size:1rem;font-family:inherit;min-height:44px;background:#fff;color:#000}.box-folder-browser__folder-field select:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.box-folder-browser__folder-field select:disabled{background:#e0e0e0;cursor:not-allowed}.box-folder-browser__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-md)}.box-folder-browser__thumbnail{border:2px solid var(--color-border);border-radius:8px;overflow:hidden;cursor:pointer;background:#fff;padding:0;display:flex;align-items:center;justify-content:center;aspect-ratio:1;min-height:44px;min-width:44px;transition:border-color .2s,box-shadow .2s}.box-folder-browser__thumbnail:hover{border-color:var(--color-secondary);box-shadow:0 0 0 2px var(--color-secondary)}.box-folder-browser__thumbnail:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.box-folder-browser__thumbnail img{width:100%;height:100%;object-fit:cover}.box-folder-browser__loading,.box-folder-browser__empty{text-align:center;padding:var(--spacing-lg);font-style:italic}.box-folder-browser__error{background:#c0392b;color:#fff;padding:var(--spacing-sm) var(--spacing-md);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.box-folder-browser__error span{flex:1}.box-folder-browser__retry-btn{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid #fff;border-radius:8px;font-family:Caudex,serif;font-size:.9rem;cursor:pointer;background:transparent;color:#fff;white-space:nowrap}.box-folder-browser__retry-btn:hover{background:#ffffff26}.box-folder-browser__retry-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.card-image-editor{margin-top:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.card-image-editor__field{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.card-image-editor__choose-btn,.card-image-editor__clear-btn{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-accent);border-radius:8px;font-family:Caudex,serif;font-size:.9rem;letter-spacing:1px;cursor:pointer;transition:background-color .2s,opacity .2s}.card-image-editor__choose-btn{background-color:var(--color-secondary);color:#000}.card-image-editor__choose-btn:hover{opacity:.85}.card-image-editor__clear-btn{background-color:transparent;color:var(--color-card-text);border-color:var(--color-card-text)}.card-image-editor__clear-btn:hover{background-color:#ffffff1a}.card-image-editor__choose-btn:focus-visible,.card-image-editor__clear-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.card-image-editor__field label{font-family:Caudex,serif;font-size:.9rem;letter-spacing:1px;color:var(--color-card-text)}.card-image-editor__field select{min-height:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-accent);border-radius:8px;font-family:Caudex,serif;font-size:.9rem;letter-spacing:1px;background-color:var(--color-primary);color:var(--color-card-text);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23333' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.card-image-editor__field select:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.video-embed-input{margin-top:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.video-embed-input__field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.video-embed-input__field label{font-family:Caudex,serif;font-size:.9rem;letter-spacing:1px;color:var(--color-card-text)}.video-embed-input__field input{min-height:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-accent);border-radius:8px;font-family:Caudex,serif;font-size:.9rem;letter-spacing:1px;background-color:var(--color-primary);color:var(--color-card-text)}.video-embed-input__field input:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.video-embed-input__error{margin:0;font-size:.85rem;color:#d32f2f;font-family:Caudex,serif;letter-spacing:.5px}.video-embed-input__clear-btn{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-card-text);border-radius:8px;font-family:Caudex,serif;font-size:.9rem;letter-spacing:1px;cursor:pointer;background-color:transparent;color:var(--color-card-text);transition:background-color .2s,opacity .2s;align-self:flex-start}.video-embed-input__clear-btn:hover{background-color:#ffffff1a}.video-embed-input__clear-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.inline-editor{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.inline-editor-label{font-size:.8rem;font-weight:700;color:var(--color-card-text);opacity:.7;text-shadow:none}.inline-editor-input{width:100%;padding:var(--spacing-sm);font-family:inherit;font-size:inherit;color:var(--color-card-text);background-color:#fff3;border:2px solid var(--color-secondary);border-radius:6px;line-height:1.6;box-shadow:inset 0 1px 3px #0000001f;text-shadow:none;transition:border-color .2s,background-color .2s,box-shadow .2s}.inline-editor-input:focus{outline:2px solid var(--color-secondary);outline-offset:1px;background-color:#ffffff59;box-shadow:inset 0 1px 3px #0000001f,0 0 0 3px #86a39740}textarea.inline-editor-input{min-height:120px;resize:vertical}.portfolio-page{max-width:960px;margin:0 auto;padding:var(--spacing-lg)}.portfolio-page h1{margin-bottom:var(--spacing-lg);color:var(--color-secondary)}.about-section{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;corner-shape:squircle;padding:var(--spacing-md);color:var(--color-card-text);margin-bottom:var(--spacing-xl)}.about-section--left,.about-section--right{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:flex-start}.about-section__content{flex:1;min-width:250px}.about-section--left .card-image,.about-section--right .card-image{max-width:300px;width:100%;border-radius:12px;flex-shrink:0}.about-section--right .card-image{order:1}.about-section h1{margin-bottom:var(--spacing-sm)}.about-section .inline-editor-input[type=textarea],.about-section textarea.inline-editor-input{min-height:200px}.about-section .card-editor .about-section__edit-layout{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:flex-start}.about-section .card-editor .about-section__edit-layout .about-section__edit-text{flex:1;min-width:250px}.about-section .card-editor .about-section__edit-layout .card-image{max-width:300px;width:100%;border-radius:12px;flex-shrink:0}.about-section p{line-height:1.8;max-width:720px}.portfolio-page h2{margin-bottom:var(--spacing-lg);color:var(--color-secondary)}.portfolio-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg)}.portfolio-item{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;corner-shape:squircle;padding:var(--spacing-md);color:var(--color-card-text)}.portfolio-item h2{margin-bottom:var(--spacing-sm);color:var(--color-secondary)}.portfolio-item p{line-height:1.6}.portfolio-item img{width:100%;border-radius:4px;margin-top:var(--spacing-sm)}.portfolio-item video{width:100%;border-radius:4px;margin-top:var(--spacing-sm)}.portfolio-empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text)}@media(max-width:768px){.portfolio-page{padding:var(--spacing-md)}.portfolio-items{grid-template-columns:1fr}}.social-links{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-xl);flex-wrap:wrap}.social-links a{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;background-color:var(--color-primary);border:2px solid var(--color-accent);border-radius:50%;color:var(--color-text);text-decoration:none;transition:background-color .2s,color .2s,transform .2s}.social-links a svg{width:24px;height:24px}.social-links a:hover{background-color:var(--color-secondary);color:var(--color-background);transform:scale(1.1)}.credentials-page{max-width:960px;margin:0 auto;padding:var(--spacing-lg)}.credentials-page h1{margin-bottom:var(--spacing-lg);color:var(--color-secondary)}.credentials-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.credential-item{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;corner-shape:squircle;padding:var(--spacing-md);color:var(--color-card-text)}.credential-item h2{margin-bottom:var(--spacing-xs);color:var(--color-secondary)}.credential-item .organization{font-size:var(--font-sizeSmall);margin-bottom:var(--spacing-sm);opacity:.85}.credential-item p{line-height:1.6}.credentials-empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text)}@media(max-width:768px){.credentials-page{padding:var(--spacing-md)}}.faq-page{max-width:960px;margin:0 auto;padding:var(--spacing-lg)}.faq-page h1{margin-bottom:var(--spacing-lg);color:var(--color-secondary)}.faq-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.faq-item{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;corner-shape:squircle;overflow:hidden}.faq-question{width:100%;padding:var(--spacing-md);background:none;border:none;color:var(--color-secondary);font-size:var(--font-sizeBase);text-align:left;cursor:pointer;font-weight:750;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}.faq-chevron{font-size:.75rem;flex-shrink:0;transition:transform .2s}.faq-question:hover{background-color:#ffffff0d}.faq-answer{padding:0 var(--spacing-md) var(--spacing-md);color:var(--color-card-text);line-height:1.6}.faq-question{min-height:44px}.faq-empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text)}@media(max-width:768px){.faq-page{padding:var(--spacing-md)}}.add-card-button{display:block;width:100%;padding:var(--spacing-md);margin-top:var(--spacing-md);background-color:var(--color-primary);border:2px dashed var(--color-accent);border-radius:16px;color:var(--color-card-text);font-family:Caudex,serif;font-size:1rem;letter-spacing:1.5px;cursor:pointer;min-height:44px;min-width:44px}.add-card-button:hover{background-color:var(--color-secondary)}.add-card-button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.legal-page{max-width:960px;margin:0 auto;padding:var(--spacing-lg)}.legal-page h1{margin-bottom:var(--spacing-lg);color:var(--color-secondary)}.legal-sections{display:flex;flex-direction:column;gap:var(--spacing-lg)}.legal-section{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;corner-shape:squircle;padding:var(--spacing-md);color:var(--color-card-text)}.legal-section h2{margin-bottom:var(--spacing-sm);color:var(--color-secondary)}.legal-section p{line-height:1.8;color:var(--color-card-text)}.legal-empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text)}@media(max-width:768px){.legal-page{padding:var(--spacing-md)}}.syllabus-page{max-width:960px;margin:0 auto;padding:var(--spacing-lg)}.syllabus-page h1{margin-bottom:var(--spacing-lg);color:var(--color-secondary)}.syllabus-overview{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;corner-shape:squircle;padding:var(--spacing-md);color:var(--color-card-text);margin-bottom:var(--spacing-lg);line-height:1.8}.syllabus-page h2{margin-bottom:var(--spacing-md);color:var(--color-secondary)}.syllabus-lessons{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.syllabus-lesson{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;corner-shape:squircle;padding:var(--spacing-md)}.syllabus-lesson h3{margin-bottom:var(--spacing-xs);color:var(--color-secondary)}.syllabus-lesson p{margin-bottom:var(--spacing-sm);line-height:1.6}.syllabus-lesson ul{list-style:disc;padding-left:var(--spacing-lg)}.syllabus-lesson li{margin-bottom:var(--spacing-xs)}.syllabus-goals{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;corner-shape:squircle;padding:var(--spacing-md);color:var(--color-card-text)}.syllabus-goals ul{list-style:disc;padding-left:var(--spacing-lg)}.syllabus-goals li{margin-bottom:var(--spacing-sm);line-height:1.6}.syllabus-empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text)}@media(max-width:768px){.syllabus-page{padding:var(--spacing-md)}}.application-page{max-width:640px;margin:0 auto;padding:var(--spacing-lg)}.application-page h1{margin-bottom:var(--spacing-lg);color:var(--color-secondary)}.application-page form{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;corner-shape:squircle;padding:var(--spacing-md);color:var(--color-card-text)}.form-group{display:flex;flex-direction:column;margin-bottom:var(--spacing-md)}.form-group label{margin-bottom:var(--spacing-xs);color:var(--color-card-text);font-weight:600}.form-group input,.form-group select,.form-group textarea{padding:var(--spacing-sm);border:1px solid var(--color-primary);border-radius:4px;background-color:#ffffff1a;color:var(--color-card-text);font-size:var(--font-sizeBase);font-family:inherit}.form-group select option{background-color:var(--color-background);color:var(--color-text)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid var(--color-secondary);outline-offset:1px}.form-group input[aria-invalid=true],.form-group select[aria-invalid=true]{border-color:#c0392b}.field-error{color:#c0392b;font-size:var(--font-sizeSmall);margin-top:var(--spacing-xs)}.submit-btn{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-secondary);color:var(--color-background);border:none;border-radius:4px;font-size:var(--font-sizeBase);font-weight:600;cursor:pointer;min-height:44px}.submit-btn:hover{opacity:.9}@media(max-width:768px){.application-page{padding:var(--spacing-md)}.form-group input,.form-group select,.form-group textarea{min-height:44px;font-size:16px}.submit-btn{width:100%}}.conditional-field{border:none;padding:var(--spacing-sm) 0 0 0;margin:0;display:flex;gap:var(--spacing-md);align-items:center}.conditional-field legend{font-weight:600;margin-bottom:var(--spacing-xs);float:left;width:100%}.conditional-field label{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-weight:400;cursor:pointer}.field-hint{margin-top:var(--spacing-xs);font-size:var(--font-sizeSmall);font-style:italic;color:var(--color-card-text);opacity:.8}.review-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.review-modal{background:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;padding:var(--spacing-lg);width:90%;max-width:480px;max-height:90vh;overflow-y:auto;color:var(--color-card-text)}.review-modal__heading{font-family:Caudex,serif;color:#5a189a;margin:0 0 var(--spacing-md)}.review-modal__server-error{background:#c0392b;color:#fff;padding:var(--spacing-sm) var(--spacing-md);border-radius:8px;margin-bottom:var(--spacing-md)}.review-modal__loading{text-align:center;padding:var(--spacing-lg) 0;font-size:1rem}.review-modal__field{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.review-modal__field label{font-weight:600;font-size:.9rem}.review-modal__field input,.review-modal__field textarea{padding:var(--spacing-sm);border:2px solid var(--color-border);border-radius:8px;font-size:1rem;font-family:inherit;min-height:44px;background:#fff;color:#000}.review-modal__field textarea{min-height:100px;resize:vertical}.review-modal__field input:focus-visible,.review-modal__field textarea:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.review-modal__error{color:#c0392b;font-size:.85rem}.review-modal__star-fieldset{border:none;padding:0;margin:0 0 var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.review-modal__star-fieldset legend{font-weight:600;font-size:.9rem;margin-bottom:var(--spacing-xs)}.review-modal__stars{display:flex;gap:var(--spacing-xs)}.review-modal__star-btn{background:none;border:none;cursor:pointer;font-size:1.75rem;line-height:1;padding:4px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:#ccc;transition:color .15s}.review-modal__star-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.review-modal__star-btn--selected{color:#f5a623}.review-modal__actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.review-modal__actions button{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-accent);border-radius:8px;font-family:Caudex,serif;font-size:1rem;cursor:pointer;background:var(--color-accent);color:#000}.review-modal__actions button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.review-modal__actions button[type=button]{background:transparent;color:var(--color-card-text)}.review-modal__actions button:disabled{background:#9e9e9e;border-color:#9e9e9e;color:#666;cursor:not-allowed;opacity:.7}.reviews-page{max-width:800px;margin:0 auto;padding:var(--spacing-lg)}.reviews-page h1{margin-bottom:var(--spacing-lg);color:var(--color-secondary)}.reviews-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.review-card{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;corner-shape:squircle;padding:var(--spacing-md);color:var(--color-card-text)}.review-rating{font-size:1.25rem;color:var(--color-accent);margin-bottom:var(--spacing-sm)}.review-text{font-style:italic;margin-bottom:var(--spacing-sm)}.review-author{font-weight:600;font-family:Caudex,serif}.reviews-empty{color:var(--color-text)}.reviews-submit-btn{display:inline-block;margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-secondary);color:var(--color-card-text);border:2px solid var(--color-accent);border-radius:8px;font-family:Caudex,serif;font-size:1rem;cursor:pointer;min-height:44px;letter-spacing:1px}.reviews-submit-btn:hover{opacity:.9}.reviews-submit-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.reviews-confirmation{background-color:var(--color-primary);border:2px solid var(--color-accent);border-radius:8px;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);color:var(--color-card-text)}.ram-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.ram-dialog{position:relative;background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;padding:var(--spacing-md);max-width:500px;width:100%;max-height:80vh;overflow-y:auto;box-sizing:border-box}.ram-heading{color:var(--color-secondary);font-family:Caudex,serif;margin-top:0;margin-bottom:var(--spacing-md);padding-right:3rem}.ram-close-btn{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);min-height:44px;min-width:44px;padding:var(--spacing-sm);border:2px solid var(--color-accent);border-radius:8px;background:transparent;color:var(--color-card-text);font-size:1rem;cursor:pointer;line-height:1}.ram-close-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.ram-close-btn:hover{background-color:var(--color-accent)}.ram-error{color:var(--color-accent);margin-bottom:var(--spacing-sm);font-weight:700}.ram-loading{color:var(--color-card-text)}.ram-student-list{list-style:none;padding:0;margin:0}.ram-student-row{background-color:var(--color-primary);border:2px solid var(--color-accent);border-radius:16px;padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.ram-student-name{flex:1;color:var(--color-card-text)}.ram-assignment-status{font-size:.8rem;color:var(--color-card-text);opacity:.75;white-space:nowrap}.ram-toggle-btn{min-height:44px;min-width:44px;padding:var(--spacing-sm);border:2px solid var(--color-accent);border-radius:8px;cursor:pointer;background:transparent;color:var(--color-card-text);font-family:Caudex,serif;font-size:.9rem;letter-spacing:1px;white-space:nowrap}.ram-toggle-btn.ram-btn--assigned{background-color:var(--color-accent);color:var(--color-card-text)}.ram-toggle-btn:disabled{opacity:.6;cursor:not-allowed}.ram-toggle-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.ram-toggle-btn:hover:not(:disabled):not(.ram-btn--assigned){background-color:#00000014}@media(max-width:540px){.ram-dialog{margin:var(--spacing-sm);max-width:calc(100% - 2 * var(--spacing-sm))}.ram-student-row{flex-wrap:wrap}.ram-student-name{flex-basis:100%}}.practice-resources-page{max-width:960px;margin:0 auto;padding:var(--spacing-lg)}.practice-resources-page h1{margin-bottom:var(--spacing-lg);color:var(--color-secondary)}.tab-bar-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.tab-bar{display:flex;width:fit-content;border-bottom:2px solid var(--color-accent)}.tab-button{flex:0 1 auto;padding:var(--spacing-sm) var(--spacing-md);min-height:44px;border:none;border-bottom:3px solid transparent;border-radius:16px 16px 0 0;background-color:var(--color-primary);color:var(--color-card-text);font-family:Caudex,serif;font-size:1rem;cursor:pointer;letter-spacing:1.5px}.tab-button--active{border-bottom-color:var(--color-accent)}.tab-button:hover:not(.tab-button--active){color:var(--color-secondary)}.tab-button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:-2px}.practice-resources-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}.resource-card{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;corner-shape:squircle;padding:var(--spacing-md);color:var(--color-card-text)}.resource-card h3{margin-bottom:var(--spacing-xs);color:var(--color-secondary)}.resource-card p{line-height:1.6;margin-bottom:var(--spacing-sm)}.resource-card a{display:inline-block;min-height:44px;min-width:44px;line-height:44px;color:var(--color-secondary);text-decoration:underline}.practice-resources-empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text)}@media(min-width:769px){.practice-resources-grid{grid-template-columns:repeat(2,1fr)}}.add-resource-btn{display:inline-block;margin-top:var(--spacing-md);min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-accent);border-radius:8px;background-color:var(--color-secondary);color:#000;font-family:Caudex,serif;font-size:.9rem;letter-spacing:1px;cursor:pointer;transition:opacity .2s}.add-resource-btn:hover{opacity:.85}.add-resource-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.delete-resource-btn{display:inline-block;margin-top:var(--spacing-sm);min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-card-text);border-radius:8px;background-color:transparent;color:var(--color-card-text);font-family:Caudex,serif;font-size:.9rem;letter-spacing:1px;cursor:pointer;transition:background-color .2s}.delete-resource-btn:hover{background-color:#ffffff1a}.delete-resource-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.add-resource-form{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;padding:var(--spacing-md);margin-top:var(--spacing-md);color:var(--color-card-text)}.add-resource-form label{display:block;margin-bottom:var(--spacing-sm)}.add-resource-form input,.add-resource-form textarea{display:block;width:100%;margin-top:var(--spacing-xs);padding:var(--spacing-sm);border:2px solid var(--color-accent);border-radius:8px;font-family:kepler-std,Inter,serif;font-size:.9rem;letter-spacing:1px;background-color:var(--color-primary);color:var(--color-card-text)}.add-resource-form textarea{min-height:120px;resize:vertical}.add-resource-form input:focus-visible,.add-resource-form textarea:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.add-resource-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.add-resource-actions button{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-accent);border-radius:8px;font-family:Caudex,serif;font-size:.9rem;letter-spacing:1px;cursor:pointer;transition:background-color .2s,opacity .2s}.add-resource-actions button:first-child{background-color:var(--color-secondary);color:#000}.add-resource-actions button:first-child:hover{opacity:.85}.add-resource-actions button:last-child{background-color:transparent;color:var(--color-card-text);border-color:var(--color-card-text)}.add-resource-actions button:last-child:hover{background-color:#ffffff1a}.add-resource-actions button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.add-resource-form select{display:block;min-height:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-accent);border-radius:8px;font-family:Caudex,serif;font-size:.9rem;letter-spacing:1px;background-color:var(--color-primary);color:var(--color-card-text);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23333' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.add-resource-form select:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}@media(max-width:768px){.practice-resources-page{padding:var(--spacing-md)}.tab-bar-row{flex-direction:column;align-items:stretch}.tab-button{flex:1 1 0;text-align:center}}.view-toggle{display:flex;border-radius:8px;overflow:hidden}.view-toggle-option{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);border:none;background-color:var(--color-primary);color:var(--color-card-text);font-family:Caudex,serif;font-size:.9rem;cursor:pointer;letter-spacing:1px}.view-toggle-option--active{background-color:var(--color-accent)}.view-toggle-option:focus-visible{outline:2px solid var(--color-secondary);outline-offset:-2px}.resource-table{width:100%;border-collapse:collapse;background-color:var(--color-primary);border-radius:8px;overflow:hidden}.resource-table thead tr{background-color:var(--color-primary);color:var(--color-card-text)}.resource-table th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-family:Caudex,serif;letter-spacing:1px}.resource-table td{padding:var(--spacing-sm) var(--spacing-md)}.resource-table tbody tr:nth-child(2n){background-color:rgba(var(--color-primary-rgb, 128, 128, 128),.1)}.resource-table tbody tr:nth-child(odd){background-color:transparent}.resource-table a{color:var(--color-accent);font-weight:700;text-decoration:underline;min-height:44px;min-width:44px;display:inline-block;line-height:44px}@media(max-width:768px){.resource-table{font-size:.875rem}.resource-table th,.resource-table td{padding:var(--spacing-xs) var(--spacing-sm)}}.resource-admin-controls{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.admin-hide-btn,.admin-priority-btn{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-accent);border-radius:8px;background-color:transparent;color:var(--color-card-text);font-family:Caudex,serif;font-size:.85rem;cursor:pointer;letter-spacing:1px}.admin-hide-btn--active{background-color:var(--color-accent);color:var(--color-card-text)}.admin-priority-btn--active{background-color:var(--color-secondary);color:var(--color-card-text)}.admin-hide-btn:focus-visible,.admin-priority-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.manage-assignments-btn{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-accent);border-radius:8px;background-color:transparent;color:var(--color-card-text);font-family:Caudex,serif;font-size:.85rem;cursor:pointer;letter-spacing:1px}.manage-assignments-btn:hover{background-color:var(--color-accent)}.manage-assignments-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.event-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.event-modal{background:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;padding:var(--spacing-lg);width:90%;max-width:480px;max-height:90vh;overflow-y:auto;color:var(--color-card-text)}.event-modal__heading{font-family:Caudex,serif;color:#5a189a;margin:0 0 var(--spacing-md)}.event-modal__server-error{background:#c0392b;color:#fff;padding:var(--spacing-sm) var(--spacing-md);border-radius:8px;margin-bottom:var(--spacing-md)}.event-modal__field{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.event-modal__field label{font-weight:600;font-size:.9rem}.event-modal__field input,.event-modal__field select,.event-modal__field textarea{padding:var(--spacing-sm);border:2px solid var(--color-border);border-radius:8px;font-size:1rem;font-family:inherit;min-height:44px;background:#fff;color:#000}.event-modal__field textarea{min-height:80px;resize:vertical}.event-modal__field input:focus-visible,.event-modal__field select:focus-visible,.event-modal__field textarea:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.event-modal__error{color:#c0392b;font-size:.85rem}.event-modal__time-selects{display:flex;align-items:center;gap:var(--spacing-xs)}.event-modal__time-selects select{padding:var(--spacing-sm);border:2px solid var(--color-border);border-radius:8px;font-size:1rem;font-family:inherit;min-height:44px;background:#fff;color:#000}.event-modal__time-selects select:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.event-modal__time-sep{font-weight:700;font-size:1.2rem}.event-modal__actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.event-modal__actions button,.event-modal__close-btn{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-accent);border-radius:8px;font-family:Caudex,serif;font-size:1rem;cursor:pointer;background:var(--color-accent);color:#000}.event-modal__actions button:focus-visible,.event-modal__close-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.event-modal__actions button[type=button]{background:transparent;color:var(--color-card-text)}.event-modal__actions button:disabled{background:#9e9e9e;border-color:#9e9e9e;color:#666;cursor:not-allowed;opacity:.7}.event-modal__close-btn{display:block;margin-top:var(--spacing-md)}.event-modal__details{display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-xs) var(--spacing-md);margin-bottom:var(--spacing-md)}.event-modal__details dt{font-weight:600}.event-modal__overlap-warning{background:#f39c12;color:#000;padding:var(--spacing-sm) var(--spacing-md);border-radius:8px;margin-bottom:var(--spacing-md)}.event-modal__overlap-warning p{margin:0 0 var(--spacing-xs);font-weight:600}.event-modal__overlap-warning ul{margin:0;padding-left:var(--spacing-md)}.event-modal__overlap-warning li{font-size:.9rem}.calendar-page{max-width:960px;margin:0 auto;padding:var(--spacing-lg)}.calendar-page h1{margin-bottom:var(--spacing-lg);color:var(--color-secondary)}.calendar-page__warning{background:var(--color-accent);color:#000;padding:var(--spacing-sm) var(--spacing-md);border-radius:8px;margin-bottom:var(--spacing-md)}.calendar-page__error{background:#c0392b;color:#fff;padding:var(--spacing-sm) var(--spacing-md);border-radius:8px;margin-bottom:var(--spacing-md)}.calendar-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.calendar-header__nav,.calendar-header__views{display:flex;gap:var(--spacing-xs)}.calendar-header__title{margin:0;color:var(--color-secondary)}.calendar-header__btn{min-height:44px;min-width:44px;padding:var(--spacing-xs) var(--spacing-sm);border:2px solid var(--color-accent);border-radius:8px;background:transparent;color:var(--color-text);font-family:Caudex,serif;font-size:1rem;cursor:pointer;transition:background .15s,color .15s}.calendar-header__btn:hover,.calendar-header__btn.active{background:var(--color-accent);color:#000}.calendar-header__btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.month-view{text-shadow:none}.month-view__grid{display:grid;grid-template-columns:repeat(7,1fr);border:3px solid var(--color-accent);border-radius:16px;overflow:hidden}.month-view__day-header{padding:var(--spacing-xs) var(--spacing-sm);text-align:center;font-family:Caudex,serif;font-weight:700;font-size:.85rem;background:var(--color-primary);color:var(--color-card-text);border-bottom:2px solid var(--color-border)}.day-cell{min-height:90px;min-width:0;overflow:hidden;padding:var(--spacing-xs);border:1px solid var(--color-border);background:var(--color-primary);color:var(--color-card-text);cursor:pointer;transition:background .15s;text-shadow:none}.day-cell:hover{background:color-mix(in srgb,var(--color-primary) 85%,var(--color-secondary))}.day-cell--other-month{opacity:.4}.day-cell--today{border:3px solid var(--color-accent);background:color-mix(in srgb,var(--color-primary) 80%,var(--color-accent))}.day-cell__number{display:block;font-weight:700;font-size:.85rem;margin-bottom:var(--spacing-xs)}.day-cell__events{display:flex;flex-direction:column;gap:2px}.day-cell__overflow{font-size:.75rem;color:var(--color-card-text);opacity:.7;padding-left:2px}.event-chip{display:block;width:100%;min-height:24px;padding:2px var(--spacing-xs);border:none;border-radius:4px;font-size:.75rem;color:#fff;text-align:left;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-shadow:none}.event-chip:focus-visible{outline:2px solid var(--color-secondary);outline-offset:1px}.week-view{overflow-x:auto;text-shadow:none}.week-view__container{position:relative}.week-view__grid{display:grid;grid-template-columns:60px repeat(7,1fr);grid-template-rows:auto;grid-auto-rows:60px;border:3px solid var(--color-accent);border-radius:16px;overflow:hidden}.week-view__corner{background:var(--color-primary);border-bottom:2px solid var(--color-border)}.week-view__day-header{padding:var(--spacing-xs) var(--spacing-sm);text-align:center;font-family:Caudex,serif;font-weight:700;font-size:.85rem;background:var(--color-primary);color:var(--color-card-text);border-bottom:2px solid var(--color-border)}.week-view__day-header--today{color:var(--color-accent)}.week-view__time-label{padding:var(--spacing-xs);font-size:.75rem;text-align:right;border-top:1px solid var(--color-border);background:var(--color-primary);color:var(--color-card-text);grid-column:1;z-index:2}.time-slot{border-top:1px solid var(--color-border);background:var(--color-primary);cursor:pointer;transition:background .15s}.time-slot:hover{background:color-mix(in srgb,var(--color-primary) 85%,var(--color-secondary))}.time-slot:focus-visible{outline:2px solid var(--color-secondary);outline-offset:-2px}.event-block{display:flex;flex-direction:column;justify-content:center;padding:2px var(--spacing-xs);border:none;border-radius:4px;color:#fff;font-size:.75rem;cursor:pointer;overflow:hidden;z-index:1;text-shadow:none;min-width:0;box-sizing:border-box}.event-block:focus-visible{outline:2px solid var(--color-secondary);outline-offset:1px}.event-block__title{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-block__time{font-size:.7rem;opacity:.9}@media(max-width:768px){.calendar-page{padding:var(--spacing-md)}.day-cell{min-height:60px}.calendar-header{flex-direction:column;align-items:stretch}.calendar-header__nav,.calendar-header__views{justify-content:center}.calendar-header__title{text-align:center}}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-lg);flex-wrap:wrap}.pagination-nav-btn,.pagination-page-btn{min-width:44px;min-height:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-accent);border-radius:8px;background-color:transparent;color:var(--color-text);font-size:1rem;cursor:pointer;transition:background-color .2s,opacity .2s}.pagination-nav-btn:hover:not([aria-disabled=true]),.pagination-page-btn:hover:not(.pagination-page-btn--active){background-color:var(--color-secondary)}.pagination-page-btn--active{background-color:var(--color-primary);border-color:var(--color-accent);font-weight:700}.pagination-nav-btn[aria-disabled=true]{opacity:.4;cursor:not-allowed}.photo-lightbox__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000}.photo-lightbox{position:relative;display:flex;align-items:center;justify-content:center;max-width:90vw;max-height:90vh}.photo-lightbox__image{max-width:100%;max-height:85vh;object-fit:contain;border-radius:8px}.photo-lightbox__close{position:absolute;top:-40px;right:-10px;min-width:44px;min-height:44px;background:transparent;border:none;color:#fff;font-size:2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.photo-lightbox__nav{min-width:44px;min-height:44px;background:#ffffff26;border:none;color:#fff;font-size:2rem;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.photo-lightbox__nav:hover:not(:disabled){background:#ffffff4d}.photo-lightbox__nav:disabled{opacity:.3;cursor:default}.photo-lightbox__nav--prev{margin-right:var(--spacing-md)}.photo-lightbox__nav--next{margin-left:var(--spacing-md)}.photo-lightbox__close:focus-visible,.photo-lightbox__nav:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.photo-gallery{margin-bottom:var(--spacing-xl)}.photo-gallery .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.photo-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md)}button.photo-gallery-item{padding:0;font:inherit;cursor:pointer;text-align:inherit}.photo-gallery-item{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;overflow:hidden}.photo-gallery-item:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.photo-gallery-item img{width:100%;height:100%;object-fit:cover;aspect-ratio:4 / 3;display:block;border-radius:13px}.photo-gallery-loading{text-align:center;padding:var(--spacing-lg);color:var(--color-text)}.photo-gallery-error{text-align:center;padding:var(--spacing-lg);color:var(--color-text);background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;padding:var(--spacing-md)}@media(max-width:600px){.photo-gallery-grid{grid-template-columns:1fr}}@media(min-width:601px)and (max-width:900px){.photo-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media(min-width:901px){.photo-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.reconnect-box-btn{display:inline-block;margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-secondary);border:2px solid var(--color-secondary);border-radius:8px;text-decoration:none;font-weight:600;letter-spacing:1px;transition:background-color .2s,color .2s}.reconnect-box-btn:hover{background-color:var(--color-secondary);color:var(--color-primary)}.reconnect-box-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.notes-page{max-width:960px;margin:0 auto;padding:var(--spacing-lg)}.notes-page h1,.notes-page__heading{margin-bottom:var(--spacing-lg);color:var(--color-secondary)}.notes-page__loading,.notes-page__empty{text-align:center;padding:var(--spacing-lg);color:var(--color-text)}.notes-page__alert{text-align:center;padding:var(--spacing-lg);color:#c0392b;font-weight:600}.notes-page__panel{margin-top:var(--spacing-md)}.notes-page__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.notes-page__list-item{margin:0}.notes-tablist{display:flex;width:fit-content;border-bottom:2px solid var(--color-accent);margin-bottom:var(--spacing-md)}.notes-tab{flex:0 1 auto;min-height:44px;padding:var(--spacing-sm) var(--spacing-md);border:none;border-bottom:3px solid transparent;border-radius:16px 16px 0 0;background-color:var(--color-primary);color:var(--color-card-text);cursor:pointer;font-family:Caudex,serif;font-size:1rem;letter-spacing:1.5px}.notes-tab--active{border-bottom-color:var(--color-accent)}.notes-tab:hover:not(.notes-tab--active){color:var(--color-secondary)}.notes-tab:focus-visible{outline:2px solid var(--color-secondary);outline-offset:-2px}.notes-card{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;corner-shape:squircle;padding:var(--spacing-md);color:var(--color-card-text)}.notes-card__header{margin-bottom:var(--spacing-sm)}.notes-card__title{margin:0 0 var(--spacing-sm) 0;color:var(--color-secondary)}.notes-card__meta{display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-xs) var(--spacing-md);margin:0}.notes-card__meta-row{display:contents}.notes-card__meta dt{font-weight:600;color:var(--color-card-text)}.notes-card__meta dd{margin:0;color:var(--color-card-text)}.notes-card__notes{white-space:pre-wrap;margin-top:var(--spacing-sm);color:var(--color-card-text)}.notes-card__editor{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.notes-card__editor-label{font-weight:600;color:var(--color-card-text)}.notes-card__error{color:#c0392b;font-weight:600;margin:var(--spacing-sm) 0}.notes-card__actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.notes-card:has(.notes-card-toggle){padding:0;overflow:hidden}.notes-card-toggle{position:relative;display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-md);min-height:44px;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left;color:var(--color-card-text)}.notes-card-toggle:hover{background-color:#ffffff0d}.notes-card-toggle:focus-visible{outline:2px solid var(--color-secondary);outline-offset:-2px}.notes-card-toggle-text{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1 1 auto;min-width:0}.notes-card-heading{margin:0;color:var(--color-secondary);font-family:Caudex,serif;font-size:1.125rem;font-weight:700}.notes-card-subtitle{color:var(--color-card-text);opacity:.8;font-size:.9rem;word-break:break-all}.notes-card-chevron{font-size:.75rem;flex-shrink:0;color:var(--color-card-text);transition:transform .2s;margin-right:var(--spacing-md)}.notes-card-toggle .pending-badge{top:6px;right:8px}.notes-card-body{padding:0 var(--spacing-md) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.notes-card-label{display:block;margin:var(--spacing-sm) 0 var(--spacing-xs) 0;font-weight:600;color:var(--color-card-text)}.notes-card-alert{color:#c0392b;font-weight:600;margin:var(--spacing-sm) 0}.notes-card-confirmation{color:var(--color-secondary);font-style:italic;margin:var(--spacing-sm) 0}.notes-card-button{min-width:44px;min-height:44px;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-secondary);color:var(--color-card-text);border:2px solid var(--color-accent);border-radius:8px;cursor:pointer;font-family:inherit;font-size:1rem}.notes-card-button:disabled{opacity:.6;cursor:not-allowed}.notes-textarea{width:100%;min-width:44px;min-height:88px;padding:var(--spacing-sm);font-family:inherit;font-size:inherit;color:var(--color-card-text);background-color:#fff3;border:2px solid var(--color-accent);border-radius:8px;resize:vertical;line-height:1.6}.notes-textarea:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.notes-page{padding:var(--spacing-md)}.notes-card__meta{grid-template-columns:1fr;gap:var(--spacing-xs)}.notes-card__meta-row{display:block}.notes-card__meta dt{margin-top:var(--spacing-xs)}}.notes-announcer-live-region{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-users-page{max-width:960px;margin:0 auto;padding:var(--spacing-lg)}.admin-users-page h1{margin-bottom:var(--spacing-lg);color:var(--color-secondary)}.admin-users-error{background:#c0392b;color:#fff;padding:var(--spacing-sm) var(--spacing-md);border-radius:8px;margin-bottom:var(--spacing-md)}.admin-users-loading{text-align:center;padding:var(--spacing-xl);color:var(--color-text)}.admin-users-table{width:100%;border-collapse:collapse;background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;overflow:hidden}.admin-users-table thead tr{background-color:var(--color-primary);color:var(--color-card-text)}.admin-users-table th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-family:Caudex,serif;font-weight:700;letter-spacing:1.5px;color:var(--color-card-text);border-bottom:2px solid var(--color-border)}.admin-users-table td{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-card-text)}.admin-users-table td a,.admin-users-table td a:visited{color:var(--color-card-text);text-decoration:underline;text-underline-offset:2px;font-weight:600}.admin-users-table td a:hover,.admin-users-table td a:focus-visible{color:#5a189a}.admin-users-table td a:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px;border-radius:2px}.admin-users-table tbody tr:nth-child(2n){background-color:#0000000d}.admin-users-table tbody tr:nth-child(odd){background-color:transparent}.admin-users-role-cell{display:flex;align-items:center;gap:var(--spacing-sm)}.admin-users-role-cell select{min-height:44px;min-width:44px;padding:var(--spacing-xs) var(--spacing-sm);border:2px solid var(--color-accent);border-radius:8px;background:transparent;color:var(--color-card-text);font-family:Caudex,serif;font-size:1rem;cursor:pointer}.admin-users-role-cell select:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.admin-users-role-cell select:disabled{opacity:.5;cursor:not-allowed}.admin-users-self-tooltip{font-size:var(--font-size-small, .875rem);color:var(--color-card-text);opacity:.7;font-style:italic}.admin-users-status{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media(max-width:768px){.admin-users-page{padding:var(--spacing-md)}.admin-users-table{font-size:.875rem}.admin-users-table th,.admin-users-table td{padding:var(--spacing-xs) var(--spacing-sm)}}.admin-review-queue{margin-bottom:var(--spacing-lg);padding:var(--spacing-md) 0;border-bottom:2px solid var(--color-accent)}.admin-review-queue__heading{font-family:Caudex,serif;color:var(--color-secondary);margin-bottom:var(--spacing-md);letter-spacing:1.5px}.admin-review-queue__loading,.admin-review-queue__empty{font-style:italic;color:var(--color-text)}.admin-review-queue__error{color:#c0392b;font-weight:700;margin-bottom:var(--spacing-sm)}.admin-review-queue__retry-btn{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-secondary);color:var(--color-card-text);border:2px solid var(--color-accent);border-radius:8px;font-family:Caudex,serif;font-size:1rem;cursor:pointer;letter-spacing:1px}.admin-review-queue__retry-btn:hover{opacity:.9}.admin-review-queue__retry-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.admin-review-queue__list{display:flex;flex-direction:column;gap:var(--spacing-md)}.admin-review-queue__card{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;corner-shape:squircle;padding:var(--spacing-md);color:var(--color-card-text)}.admin-review-queue__card--pending{opacity:.9}.admin-review-queue__card--approved{border-color:var(--color-secondary)}.admin-review-queue__card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.admin-review-queue__reviewer-name{font-weight:700;font-family:Caudex,serif}.admin-review-queue__status-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:8px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.admin-review-queue__status-badge--pending{background-color:#f39c12;color:#000}.admin-review-queue__status-badge--approved{background-color:#27ae60;color:#fff}.admin-review-queue__rating{color:var(--color-accent);font-size:1.25rem;margin-bottom:var(--spacing-sm)}.admin-review-queue__text{font-style:italic;margin-bottom:var(--spacing-sm)}.admin-review-queue__date{display:block;font-size:.85rem;opacity:.7;margin-bottom:var(--spacing-sm)}.admin-review-queue__actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.admin-review-queue__approve-btn,.admin-review-queue__reject-btn{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:8px;cursor:pointer;font-weight:700;font-size:.95rem;letter-spacing:.5px;transition:opacity .2s ease}.admin-review-queue__approve-btn{background-color:#27ae60;color:#fff}.admin-review-queue__reject-btn{background-color:#c0392b;color:#fff}.admin-review-queue__approve-btn:hover:not(:disabled),.admin-review-queue__reject-btn:hover:not(:disabled){opacity:.85}.admin-review-queue__approve-btn:focus-visible,.admin-review-queue__reject-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.admin-review-queue__approve-btn:disabled,.admin-review-queue__reject-btn:disabled{opacity:.5;cursor:not-allowed}.admin-review-queue__item-error{color:#c0392b;margin-top:var(--spacing-sm);font-size:.9rem;font-weight:700}.profile-form{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;corner-shape:squircle;padding:var(--spacing-md);color:var(--color-card-text);display:flex;flex-direction:column;gap:var(--spacing-md)}.profile-form__field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.profile-form__fieldset{border:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.profile-form__label{font-family:Caudex,serif;font-size:.95rem;letter-spacing:1px;color:var(--color-card-text);font-weight:600}.profile-form__input,.profile-form__textarea{min-height:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-accent);border-radius:8px;background-color:#ffffff1a;color:var(--color-card-text);font-family:kepler-std,Inter,serif;font-size:1rem;letter-spacing:1px}.profile-form__textarea{resize:vertical;min-height:88px;font-family:inherit}.profile-form__input:focus-visible,.profile-form__textarea:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.profile-form__input[aria-invalid=true],.profile-form__textarea[aria-invalid=true]{border-color:#c62828}.profile-form__radios{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.profile-form__radio{display:inline-flex;align-items:center;gap:var(--spacing-xs);min-height:44px;min-width:44px;padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;font-family:kepler-std,Inter,serif;font-size:1rem}.profile-form__radio input[type=radio]{width:22px;height:22px;margin:0;cursor:pointer}.profile-form__radio input[type=radio]:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.profile-form__error{color:#c62828;font-size:.85rem;font-family:kepler-std,Inter,serif}.profile-form__visitor-note{margin:0;font-style:italic;color:var(--color-card-text);opacity:.85}.tessitura-note-selector{display:flex;flex-direction:column;gap:var(--spacing-xs)}.tessitura-note-selector__label{font-family:Caudex,serif;font-size:.9rem;letter-spacing:1px;color:var(--color-card-text)}.tessitura-note-selector__controls{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.tessitura-note-selector__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tessitura-note-selector__select{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);padding-right:32px;border:2px solid var(--color-accent);border-radius:8px;font-family:Caudex,serif;font-size:1rem;letter-spacing:1px;background-color:var(--color-primary);color:var(--color-card-text);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23333' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.tessitura-note-selector__select:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.tessitura-note-selector--invalid .tessitura-note-selector__select{border-color:#c62828}.voice-part-selector{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.voice-part-selector__label{font-family:Caudex,serif;font-size:1.25rem;letter-spacing:1.5px;color:#5a189a;margin:0}.voice-part-selector__value{font-family:Caudex,serif;font-size:1.25rem;letter-spacing:1.5px;color:var(--color-card-text)}.voice-part-selector__select{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);padding-right:36px;border:2px solid var(--color-accent);border-radius:8px;font-family:Caudex,serif;font-size:.9rem;letter-spacing:1px;background-color:var(--color-primary);color:var(--color-card-text);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23333' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.voice-part-selector__select:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.tessitura-section{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;padding:var(--spacing-md);color:var(--color-card-text);display:flex;flex-direction:column;gap:var(--spacing-md)}.tessitura-section__heading{font-family:Caudex,serif;letter-spacing:1.5px;margin:0;color:#5a189a}.tessitura-section__empty{margin:0;font-family:kepler-std,Inter,serif;font-style:italic;color:var(--color-card-text)}.tessitura-section__current{display:flex;flex-direction:column;gap:var(--spacing-xs)}.tessitura-section__current-range{font-family:Caudex,serif;font-size:1.25rem;letter-spacing:1.5px;color:var(--color-card-text)}.tessitura-section__current-date{font-family:kepler-std,Inter,serif;font-size:.9rem;color:var(--color-card-text)}.tessitura-section__editor{display:flex;flex-direction:column;gap:var(--spacing-sm)}.tessitura-section__editor-controls{display:flex;align-items:flex-end;gap:var(--spacing-md);flex-wrap:wrap}.tessitura-section__editor-actions{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.tessitura-section__history{display:flex;flex-direction:column;gap:var(--spacing-sm)}.tessitura-section__history-heading{font-family:Caudex,serif;letter-spacing:1.5px;margin:0;color:var(--color-card-text)}.tessitura-section__history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.tessitura-section__history-row{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;padding:var(--spacing-sm);border:2px solid var(--color-accent);border-radius:16px;background-color:var(--color-primary)}.tessitura-section__history-row--editing{align-items:flex-end}.tessitura-section__history-edit-controls{display:flex;align-items:flex-end;gap:var(--spacing-md);flex-wrap:wrap}.tessitura-section__history-range{font-family:Caudex,serif;font-size:1rem;letter-spacing:1px;color:var(--color-card-text)}.tessitura-section__history-range-sep{font-family:Caudex,serif;font-size:1.25rem;color:var(--color-card-text);align-self:center}.tessitura-section__history-date{font-family:kepler-std,Inter,serif;font-size:.9rem;color:var(--color-card-text);margin-left:auto}.tessitura-section__history-actions{display:flex;gap:var(--spacing-sm)}.tessitura-section__button{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-accent);border-radius:8px;background-color:var(--color-primary);color:var(--color-card-text);font-family:Caudex,serif;font-size:.9rem;letter-spacing:1px;cursor:pointer}.tessitura-section__button:hover:not(:disabled){background-color:var(--color-secondary)}.tessitura-section__button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.tessitura-section__button:disabled{opacity:.5;cursor:not-allowed}.tessitura-section__button--secondary{background-color:transparent}.tessitura-section__button--danger{border-color:#c62828;color:#c62828}.tessitura-section__button--danger:hover:not(:disabled){background-color:#c62828;color:var(--color-primary)}.tessitura-section__voice-part{padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-accent)}.photo-release-section{background-color:var(--color-primary);border:3px solid var(--color-accent);border-radius:16px;padding:var(--spacing-md);color:var(--color-card-text);display:flex;flex-direction:column;gap:var(--spacing-md)}.photo-release-section__heading{font-family:Caudex,serif;letter-spacing:1.5px;margin:0;color:#5a189a}.photo-release-section__download{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-primary);color:var(--color-card-text);border:2px solid var(--color-accent);border-radius:8px;text-decoration:none;font-family:Caudex,serif;font-size:.95rem;letter-spacing:1px;transition:background-color .2s}.photo-release-section__download:hover{background-color:var(--color-secondary)}.photo-release-section__download:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.photo-release-section__viewer{background-color:var(--color-primary);border:2px solid var(--color-accent);border-radius:8px;overflow:hidden}.photo-release-section__iframe{display:block;width:100%;min-height:600px;border:none}.profile-page{max-width:960px;margin:0 auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.profile-page__heading{margin:0 0 var(--spacing-sm);color:var(--color-secondary)}.profile-page__loading{text-align:center;padding:var(--spacing-xl);color:var(--color-text)}.profile-page__alert{background-color:#c0392b;color:#fff;padding:var(--spacing-sm) var(--spacing-md);border-radius:8px;display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.profile-page__actions{display:flex;justify-content:flex-end}.profile-page__section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.profile-page__button{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-accent);border-radius:8px;background-color:var(--color-primary);color:var(--color-card-text);font-family:Caudex,serif;font-size:.95rem;letter-spacing:1px;cursor:pointer}.profile-page__button:hover:not(:disabled){background-color:var(--color-secondary)}.profile-page__button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.profile-page__button:disabled{opacity:.5;cursor:not-allowed}.profile-page__button--primary{background-color:var(--color-secondary);color:var(--color-text)}.profile-page__status{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media(max-width:768px){.profile-page{padding:var(--spacing-md)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--font-sizeBase);background:radial-gradient(ellipse at center,var(--color-background) 60%,var(--color-background-dark));background-attachment:fixed;color:var(--color-text);line-height:1.6;text-shadow:1.5px 1.5px 2px rgba(0,0,0,.5);transition:background .2s,color .2s}h1{font-size:var(--font-sizeH1);font-family:Caudex,serif;letter-spacing:1.5px}h2{font-size:var(--font-sizeH2);font-family:Caudex,serif;letter-spacing:1.5px}h3{font-size:var(--font-sizeH3);font-family:Caudex,serif;letter-spacing:1.5px}a{color:var(--color-primary);text-decoration:underline;letter-spacing:1.5px}a:hover{color:var(--color-secondary)}:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.skip-to-content{position:absolute;left:-9999px;top:0;z-index:1000;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-background);color:var(--color-text);text-decoration:underline}.skip-to-content:focus{left:0}@media(max-width:768px){h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}.about-section,.portfolio-item,.credential-item,.faq-item,.review-card,.syllabus-overview,.syllabus-lesson,.syllabus-goals,.legal-section,.application-form,.day-cell,.event-modal{text-shadow:none}.about-section h1,.about-section h2,.portfolio-item h2,.credential-item h2,.faq-item h2,.review-card h2,.syllabus-overview h2,.syllabus-lesson h3,.syllabus-goals h2,.legal-section h2,.application-form h1,.application-form h2{text-shadow:1.5px 1.5px 2px rgba(0,0,0,.5)}.edit-mode-card{outline:2px dashed var(--color-secondary);outline-offset:4px;border-radius:16px;transition:outline-color .2s}
