:root{--specialty-modal-primary-bg:#170E35;--specialty-modal-secondary-bg:#1F1447;--specialty-modal-card-bg:rgba(255,255,255,0.08);--specialty-modal-card-bg-hover:rgba(255,255,255,0.12);--specialty-modal-accent:#7C3AED;--specialty-modal-accent-hover:#8B5CF6;--specialty-modal-accent-active:#6D28D9;--specialty-modal-text-primary:#FFFFFF;--specialty-modal-text-secondary:rgba(255,255,255,0.8);--specialty-modal-text-muted:rgba(255,255,255,0.6);--specialty-modal-text-accent:#C4B5FD;--specialty-modal-border:rgba(255,255,255,0.1);--specialty-modal-border-hover:rgba(255,255,255,0.25);--specialty-modal-overlay:rgba(23,14,53,0.85);--specialty-modal-shadow:rgba(0,0,0,0.4);--specialty-modal-shadow-accent:rgba(124,58,237,0.3);--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:0.75rem;--spacing-lg:1rem;--spacing-xl:1.25rem;--spacing-2xl:1.5rem;--spacing-3xl:2rem;--spacing-4xl:2.5rem;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--duration-fast:0.15s;--duration-normal:0.25s;--duration-slow:0.35s;--easing-standard:cubic-bezier(0.4,0.0,0.2,1);--easing-bounce:cubic-bezier(0.34,1.56,0.64,1);--easing-smooth:cubic-bezier(0.25,0.1,0.25,1)}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.92) translateY(20px);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;transform:scale(1) translateY(0);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@keyframes modalSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.specialty-modal-overlay{position:fixed;inset:0;background:var(--specialty-modal-overlay);display:flex;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:var(--spacing-lg);animation:modalFadeIn var(--duration-slow) var(--easing-smooth)}@media(max-width:768px){.specialty-modal-overlay{padding:var(--spacing-md);align-items:flex-end}}@media(max-width:480px){.specialty-modal-overlay{padding:0;align-items:flex-end}}.specialty-modal{background:linear-gradient(135deg,var(--specialty-modal-primary-bg) 0,var(--specialty-modal-secondary-bg) 100%);border:1px solid var(--specialty-modal-border);border-radius:var(--radius-2xl);box-shadow:0 25px 60px var(--specialty-modal-shadow),0 0 0 1px hsla(0,0%,100%,.05),inset 0 1px 0 hsla(0,0%,100%,.1);width:100%;max-width:800px;max-height:90vh;overflow:hidden;position:relative}.specialty-modal:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.05) 50%,rgba(255,255,255,.02));border-radius:inherit;pointer-events:none}@media(max-width:768px){.specialty-modal{max-height:85vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:modalSlideUpMobile var(--duration-slow) var(--easing-bounce);margin-top:auto}}@media(max-width:480px){.specialty-modal{width:100%;max-height:80vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}}.specialty-modal-content{padding:var(--spacing-3xl);color:var(--specialty-modal-text-primary);height:100%;display:flex;flex-direction:column;position:relative;z-index:1;animation:contentFadeIn var(--duration-slow) var(--easing-smooth) .1s both}@media(max-width:768px){.specialty-modal-content{padding:var(--spacing-2xl) var(--spacing-xl) var(--spacing-xl)}}@media(max-width:480px){.specialty-modal-content{padding:var(--spacing-xl) var(--spacing-lg) var(--spacing-lg)}}.specialty-modal-header{text-align:center;margin-bottom:var(--spacing-3xl);position:relative;flex-shrink:0}@media(max-width:768px){.specialty-modal-header{margin-bottom:var(--spacing-2xl)}}@media(max-width:480px){.specialty-modal-header{margin-bottom:var(--spacing-xl);padding-top:env(safe-area-inset-top)}}.specialty-modal-title{font-size:2rem;font-weight:700;color:var(--specialty-modal-text-primary);margin:0 0 var(--spacing-lg) 0;letter-spacing:-.025em;line-height:1.2;background:linear-gradient(135deg,var(--specialty-modal-text-primary) 0,var(--specialty-modal-text-accent) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0)}@media(max-width:768px){.specialty-modal-title{font-size:1.5rem;margin-bottom:var(--spacing-md)}}@media(max-width:480px){.specialty-modal-title{font-size:1.375rem;margin-bottom:var(--spacing-sm)}}.specialty-modal-subtitle{font-size:1rem;color:var(--specialty-modal-text-secondary);line-height:1.6;margin:0;font-weight:400}@media(max-width:768px){.specialty-modal-subtitle{font-size:1rem;line-height:1.5}}@media(max-width:480px){.specialty-modal-subtitle{font-size:.875rem}}.specialty-modal-loading{text-align:center;padding:var(--spacing-4xl) var(--spacing-2xl)}.specialty-modal-loading .loading-spinner{width:48px;height:48px;border:3px solid hsla(0,0%,100%,.2);border-top:3px solid var(--specialty-modal-accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--spacing-xl)}.specialty-modal-loading p{color:var(--specialty-modal-text-secondary);margin:0;font-size:1rem;font-weight:500}.specialty-modal-body{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.specialty-modal-body::-webkit-scrollbar{width:6px}.specialty-modal-body::-webkit-scrollbar-track{background:hsla(0,0%,100%,.05);border-radius:var(--radius-sm)}.specialty-modal-body::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.2);border-radius:var(--radius-sm)}.specialty-modal-body::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.3)}.specialty-modal-body .specialty-section{margin-bottom:var(--spacing-3xl);display:flex;flex-direction:column;flex:1 1;min-height:0}.specialty-modal-body .specialty-section:last-child{margin-bottom:0}@media(max-width:768px){.specialty-modal-body .specialty-section{margin-bottom:var(--spacing-2xl);max-height:calc(100vh - 400px)}.specialty-modal-body .specialty-section:last-of-type{margin-bottom:var(--spacing-xl)}}@media(max-width:480px){.specialty-modal-body .specialty-section{margin-bottom:var(--spacing-xl);max-height:calc(100vh - 400px)}.specialty-modal-body .specialty-section:last-of-type{margin-bottom:var(--spacing-lg)}}.section-title{font-size:1.25rem;font-weight:600;color:var(--specialty-modal-text-primary);margin:0 0 var(--spacing-xl) 0;letter-spacing:-.025em}@media(max-width:768px){.section-title{font-size:1.125rem;margin-bottom:var(--spacing-lg)}}@media(max-width:480px){.section-title{font-size:1rem;margin-bottom:var(--spacing-md)}}.specialty-options-container{position:relative;flex:1 1;display:flex;flex-direction:column;min-height:0}@media(max-width:768px){.specialty-options-container{overflow:hidden}.specialty-content-wrapper{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:var(--spacing-xs)}}@media(max-width:768px){.specialty-content-wrapper::-webkit-scrollbar{width:4px}.specialty-content-wrapper::-webkit-scrollbar-track{background:hsla(0,0%,100%,.05);border-radius:var(--radius-xs)}.specialty-content-wrapper::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.3);border-radius:var(--radius-xs)}.specialty-content-wrapper::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.4)}}@media(max-width:480px){.specialty-content-wrapper::-webkit-scrollbar{width:3px}}.scroll-hint{display:none}@media(max-width:768px){.scroll-hint{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);color:var(--specialty-modal-text-muted);font-size:.8125rem;font-weight:500;animation:pulse 2s infinite}.scroll-hint svg{opacity:.7;animation:bounce 1.5s infinite}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-3px)}60%{transform:translateY(-2px)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.specialty-options{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--spacing-md);gap:var(--spacing-md);position:relative}@media(min-width:1200px){.specialty-options{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.specialty-options{grid-template-columns:1fr;gap:var(--spacing-sm);grid-auto-rows:56px}}@media(max-width:480px){.specialty-options{grid-template-columns:1fr;gap:var(--spacing-sm);grid-auto-rows:52px}}.specialty-option{background:var(--specialty-modal-card-bg);border:1px solid var(--specialty-modal-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);color:var(--specialty-modal-text-secondary);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all var(--duration-normal) var(--easing-smooth);text-align:left;line-height:1.4;position:relative;overflow:hidden;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:slideInUp var(--duration-slow) var(--easing-smooth) both}.specialty-option:first-child{animation-delay:0s}.specialty-option:nth-child(2){animation-delay:.05s}.specialty-option:nth-child(3){animation-delay:.1s}.specialty-option:nth-child(4){animation-delay:.15s}.specialty-option:nth-child(5){animation-delay:.2s}.specialty-option:nth-child(6){animation-delay:.25s}.specialty-option:nth-child(7){animation-delay:.3s}.specialty-option:nth-child(8){animation-delay:.35s}.specialty-option:nth-child(9){animation-delay:.4s}.specialty-option:nth-child(10){animation-delay:.45s}.specialty-option:nth-child(11){animation-delay:.5s}.specialty-option:nth-child(12){animation-delay:.55s}.specialty-option:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left var(--duration-slow) var(--easing-smooth)}.specialty-option:hover{background:var(--specialty-modal-card-bg-hover);border-color:var(--specialty-modal-border-hover);color:var(--specialty-modal-text-primary);transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.2)}.specialty-option:hover:before{left:100%}.specialty-option.selected{background:linear-gradient(135deg,var(--specialty-modal-accent) 0,var(--specialty-modal-accent-active) 100%);border-color:var(--specialty-modal-accent);color:var(--specialty-modal-text-primary);box-shadow:0 8px 25px var(--specialty-modal-shadow-accent),0 0 0 1px hsla(0,0%,100%,.2);transform:translateY(-2px);font-weight:600}.specialty-option:active{transform:translateY(-1px) scale(.98)}.specialty-option:disabled{opacity:.5;cursor:not-allowed}.specialty-option:disabled:hover{transform:none;background:var(--specialty-modal-card-bg);border-color:var(--specialty-modal-border);color:var(--specialty-modal-text-secondary)}@media(max-width:768px){.specialty-option{padding:var(--spacing-lg);font-size:.9375rem;height:56px;display:flex;align-items:center;justify-content:flex-start}}@media(max-width:480px){.specialty-option{padding:var(--spacing-md) var(--spacing-lg);font-size:.875rem;height:52px;border-radius:var(--radius-md)}}.custom-specialty-input-container{margin-top:var(--spacing-xl);animation:contentFadeIn var(--duration-slow) var(--easing-smooth)}@media(max-width:768px){.custom-specialty-input-container{margin-top:var(--spacing-lg)}}@media(max-width:480px){.custom-specialty-input-container{margin-top:var(--spacing-md)}}.custom-specialty-label{display:block;font-size:1rem;font-weight:500;color:var(--specialty-modal-text-primary);margin-bottom:var(--spacing-md)}@media(max-width:768px){.custom-specialty-label{font-size:.9375rem}}@media(max-width:480px){.custom-specialty-label{font-size:.875rem}}.custom-specialty-input{width:100%;background:var(--specialty-modal-card-bg);border:1px solid var(--specialty-modal-border);border-radius:var(--radius-lg);padding:var(--spacing-lg) var(--spacing-xl);color:var(--specialty-modal-text-primary);font-size:1rem;font-weight:400;transition:all var(--duration-normal) var(--easing-smooth);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.custom-specialty-input::placeholder{color:var(--specialty-modal-text-muted);font-style:italic}.custom-specialty-input:focus{outline:none;background:var(--specialty-modal-card-bg-hover);border-color:var(--specialty-modal-accent);box-shadow:0 0 0 3px rgba(124,58,237,.2),0 4px 15px rgba(0,0,0,.1)}.custom-specialty-input:hover:not(:focus){background:var(--specialty-modal-card-bg-hover);border-color:var(--specialty-modal-border-hover)}@media(max-width:768px){.custom-specialty-input{padding:var(--spacing-lg);font-size:.9375rem;min-height:52px}}@media(max-width:480px){.custom-specialty-input{padding:var(--spacing-md) var(--spacing-lg);font-size:.875rem;min-height:48px;border-radius:var(--radius-md)}}.specialty-modal-actions{display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-3xl);justify-content:center;flex-shrink:0}@media(max-width:768px){.specialty-modal-actions{flex-direction:row;gap:var(--spacing-md);margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl);border-top:1px solid var(--specialty-modal-border)}}@media(max-width:480px){.specialty-modal-actions{gap:var(--spacing-sm);margin-top:var(--spacing-xl);padding:var(--spacing-lg) 0 calc(var(--spacing-lg) + env(safe-area-inset-bottom))}}.continue-button,.skip-button{border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all var(--duration-normal) var(--easing-smooth);font-size:1rem;padding:1rem var(--spacing-3xl);position:relative;overflow:hidden}@media(max-width:768px){.continue-button,.skip-button{flex:1 1;min-width:0;padding:var(--spacing-lg);font-size:1rem;min-height:56px}.continue-button:active,.skip-button:active{transform:scale(.98)}}@media(max-width:480px){.continue-button,.skip-button{padding:var(--spacing-md) var(--spacing-lg);font-size:.9375rem;min-height:52px;border-radius:var(--radius-md)}}.skip-button{background:rgba(0,0,0,0);border:1px solid var(--specialty-modal-border);color:var(--specialty-modal-text-secondary);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.skip-button:hover{background:var(--specialty-modal-card-bg);border-color:var(--specialty-modal-border-hover);transform:translateY(-1px)}.continue-button,.skip-button:hover{color:var(--specialty-modal-text-primary)}.continue-button{background:linear-gradient(135deg,var(--specialty-modal-accent) 0,var(--specialty-modal-accent-active) 100%);border:none;font-weight:700;box-shadow:0 4px 15px var(--specialty-modal-shadow-accent),0 0 0 1px hsla(0,0%,100%,.2)}.continue-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--duration-slow) var(--easing-smooth)}.continue-button:hover:not(:disabled){background:linear-gradient(135deg,var(--specialty-modal-accent-hover) 0,var(--specialty-modal-accent) 100%);transform:translateY(-2px);box-shadow:0 8px 25px var(--specialty-modal-shadow-accent),0 0 0 1px hsla(0,0%,100%,.3)}.continue-button:hover:not(:disabled):before{left:100%}.continue-button:disabled{opacity:.5;cursor:not-allowed}.continue-button:disabled:hover{transform:none;box-shadow:0 4px 15px var(--specialty-modal-shadow-accent),0 0 0 1px hsla(0,0%,100%,.2)}