:root{--specialty-modal-primary-bg:#170e35;--specialty-modal-secondary-bg:#1f1447;--specialty-modal-card-bg:#ffffff14;--specialty-modal-card-bg-hover:#ffffff1f;--specialty-modal-accent:#7c3aed;--specialty-modal-accent-hover:#8b5cf6;--specialty-modal-accent-active:#6d28d9;--specialty-modal-text-primary:#fff;--specialty-modal-text-secondary:#fffc;--specialty-modal-text-muted:#fff9;--specialty-modal-text-accent:#c4b5fd;--specialty-modal-border:#ffffff1a;--specialty-modal-border-hover:#ffffff40;--specialty-modal-overlay:#170e35d9;--specialty-modal-shadow:#0006;--specialty-modal-shadow-accent:#7c3aed4d;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:.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:.15s;--duration-normal:.25s;--duration-slow:.35s;--easing-standard:cubic-bezier(.4,0,.2,1);--easing-bounce:cubic-bezier(.34,1.56,.64,1);--easing-smooth:cubic-bezier(.25,.1,.25,1)}@keyframes modalFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur();transform:scale(.92)translateY(20px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:scale(1)translateY(0)}}@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(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.specialty-modal-overlay{background:var(--specialty-modal-overlay);z-index:10000;-webkit-backdrop-filter:blur(8px);padding:var(--spacing-lg);animation:modalFadeIn var(--duration-slow)var(--easing-smooth);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@media (max-width:768px){.specialty-modal-overlay{padding:var(--spacing-md);align-items:flex-end}}@media (max-width:480px){.specialty-modal-overlay{align-items:flex-end;padding:0}}.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 #ffffff0d,inset 0 1px 0 #ffffff1a;width:100%;max-width:800px;max-height:90vh;position:relative;overflow:hidden}.specialty-modal:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff1a 0%,#ffffff0d 50%,#ffffff05 100%);position:absolute;inset:0}@media (max-width:768px){.specialty-modal{border-radius:var(--radius-xl)var(--radius-xl)0 0;max-height:85vh;animation:modalSlideUpMobile var(--duration-slow)var(--easing-bounce);margin-top:auto}}@media (max-width:480px){.specialty-modal{border-radius:var(--radius-lg)var(--radius-lg)0 0;width:100%;max-height:80vh}}.specialty-modal-content{padding:var(--spacing-3xl);color:var(--specialty-modal-text-primary);z-index:1;height:100%;animation:contentFadeIn var(--duration-slow)var(--easing-smooth).1s both;flex-direction:column;display:flex;position:relative}@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);flex-shrink:0;position:relative}@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{color:var(--specialty-modal-text-primary);margin:0 0 var(--spacing-lg)0;letter-spacing:-.025em;background:linear-gradient(135deg,var(--specialty-modal-text-primary)0%,var(--specialty-modal-text-accent)100%);-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700;line-height:1.2}@media (max-width:768px){.specialty-modal-title{margin-bottom:var(--spacing-md);font-size:1.5rem}}@media (max-width:480px){.specialty-modal-title{margin-bottom:var(--spacing-sm);font-size:1.375rem}}.specialty-modal-subtitle{color:var(--specialty-modal-text-secondary);margin:0;font-size:1rem;font-weight:400;line-height:1.6}@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{border:3px solid #fff3;border-top:3px solid var(--specialty-modal-accent);width:48px;height:48px;margin:0 auto var(--spacing-xl);border-radius:50%;animation:1s linear infinite spin}.specialty-modal-loading p{color:var(--specialty-modal-text-secondary);margin:0;font-size:1rem;font-weight:500}.specialty-modal-body{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;flex:1;overflow-y:auto}.specialty-modal-body::-webkit-scrollbar{width:6px}.specialty-modal-body::-webkit-scrollbar-track{border-radius:var(--radius-sm);background:#ffffff0d}.specialty-modal-body::-webkit-scrollbar-thumb{border-radius:var(--radius-sm);background:#fff3}.specialty-modal-body::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.specialty-modal-body .specialty-section{margin-bottom:var(--spacing-3xl);flex-direction:column;flex:1;min-height:0;display:flex}.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{color:var(--specialty-modal-text-primary);margin:0 0 var(--spacing-xl)0;letter-spacing:-.025em;font-size:1.25rem;font-weight:600}@media (max-width:768px){.section-title{margin-bottom:var(--spacing-lg);font-size:1.125rem}}@media (max-width:480px){.section-title{margin-bottom:var(--spacing-md);font-size:1rem}}.specialty-options-container{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}@media (max-width:768px){.specialty-options-container{overflow:hidden}.specialty-content-wrapper{-webkit-overflow-scrolling:touch;padding-right:var(--spacing-xs);flex:1;overflow-y:auto}.specialty-content-wrapper::-webkit-scrollbar{width:4px}.specialty-content-wrapper::-webkit-scrollbar-track{border-radius:var(--radius-xs);background:#ffffff0d}.specialty-content-wrapper::-webkit-scrollbar-thumb{border-radius:var(--radius-xs);background:#ffffff4d}.specialty-content-wrapper::-webkit-scrollbar-thumb:hover{background:#fff6}}@media (max-width:480px){.specialty-content-wrapper::-webkit-scrollbar{width:3px}}.scroll-hint{display:none}@media (max-width:768px){.scroll-hint{justify-content:center;align-items: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:2s infinite pulse;display:flex}.scroll-hint svg{opacity:.7;animation:1.5s infinite bounce}}@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{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);display:grid;position:relative}@media (min-width:1200px){.specialty-options{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.specialty-options{gap:var(--spacing-sm);grid-template-columns:1fr;grid-auto-rows:56px}}@media (max-width:480px){.specialty-options{gap:var(--spacing-sm);grid-template-columns:1fr;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);cursor:pointer;transition:all var(--duration-normal)var(--easing-smooth);text-align:left;-webkit-backdrop-filter:blur(10px);animation:slideInUp var(--duration-slow)var(--easing-smooth)both;font-size:.9375rem;font-weight:500;line-height:1.4;position:relative;overflow:hidden}.specialty-option:first-child{animation-delay:0s}.specialty-option:nth-child(2){animation-delay:50ms}.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:"";width:100%;height:100%;transition:left var(--duration-slow)var(--easing-smooth);background:linear-gradient(90deg,#0000,#ffffff1a,#0000);position:absolute;top:0;left:-100%}.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 #0003}.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 #fff3;font-weight:600;transform:translateY(-2px)}.specialty-option:active{transform:translateY(-1px)scale(.98)}.specialty-option:disabled{opacity:.5;cursor:not-allowed}.specialty-option:disabled:hover{background:var(--specialty-modal-card-bg);border-color:var(--specialty-modal-border);color:var(--specialty-modal-text-secondary);transform:none}@media (max-width:768px){.specialty-option{padding:var(--spacing-lg);justify-content:flex-start;align-items:center;height:56px;font-size:.9375rem;display:flex}}@media (max-width:480px){.specialty-option{padding:var(--spacing-md)var(--spacing-lg);border-radius:var(--radius-md);height:52px;font-size:.875rem}}.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{color:var(--specialty-modal-text-primary);margin-bottom:var(--spacing-md);font-size:1rem;font-weight:500;display:block}@media (max-width:768px){.custom-specialty-label{font-size:.9375rem}}@media (max-width:480px){.custom-specialty-label{font-size:.875rem}}.custom-specialty-input{background:var(--specialty-modal-card-bg);border:1px solid var(--specialty-modal-border);border-radius:var(--radius-lg);width:100%;padding:var(--spacing-lg)var(--spacing-xl);color:var(--specialty-modal-text-primary);transition:all var(--duration-normal)var(--easing-smooth);-webkit-backdrop-filter:blur(10px);font-size:1rem;font-weight:400}.custom-specialty-input::placeholder{color:var(--specialty-modal-text-muted);font-style:italic}.custom-specialty-input:focus{background:var(--specialty-modal-card-bg-hover);border-color:var(--specialty-modal-accent);outline:none;box-shadow:0 0 0 3px #7c3aed33,0 4px 15px #0000001a}.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);min-height:52px;font-size:.9375rem}}@media (max-width:480px){.custom-specialty-input{padding:var(--spacing-md)var(--spacing-lg);border-radius:var(--radius-md);min-height:48px;font-size:.875rem}}.specialty-modal-actions{gap:var(--spacing-lg);margin-top:var(--spacing-3xl);flex-shrink:0;justify-content:center;display:flex}@media (max-width:768px){.specialty-modal-actions{gap:var(--spacing-md);margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl);border-top:1px solid var(--specialty-modal-border);flex-direction:row}}@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))}}.skip-button,.continue-button{border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-normal)var(--easing-smooth);padding:1rem var(--spacing-3xl);font-size:1rem;font-weight:600;position:relative;overflow:hidden}@media (max-width:768px){.skip-button,.continue-button{min-width:0;padding:var(--spacing-lg);flex:1;min-height:56px;font-size:1rem}.skip-button:active,.continue-button:active{transform:scale(.98)}}@media (max-width:480px){.skip-button,.continue-button{padding:var(--spacing-md)var(--spacing-lg);border-radius:var(--radius-md);min-height:52px;font-size:.9375rem}}.skip-button{border:1px solid var(--specialty-modal-border);color:var(--specialty-modal-text-secondary);-webkit-backdrop-filter:blur(10px);background:0 0}.skip-button:hover{background:var(--specialty-modal-card-bg);color:var(--specialty-modal-text-primary);border-color:var(--specialty-modal-border-hover);transform:translateY(-1px)}.continue-button{background:linear-gradient(135deg,var(--specialty-modal-accent)0%,var(--specialty-modal-accent-active)100%);color:var(--specialty-modal-text-primary);box-shadow:0 4px 15px var(--specialty-modal-shadow-accent),0 0 0 1px #fff3;border:none;font-weight:700}.continue-button:before{content:"";width:100%;height:100%;transition:left var(--duration-slow)var(--easing-smooth);background:linear-gradient(90deg,#0000,#fff3,#0000);position:absolute;top:0;left:-100%}.continue-button:hover:not(:disabled){background:linear-gradient(135deg,var(--specialty-modal-accent-hover)0%,var(--specialty-modal-accent)100%);box-shadow:0 8px 25px var(--specialty-modal-shadow-accent),0 0 0 1px #ffffff4d;transform:translateY(-2px)}.continue-button:hover:not(:disabled):before{left:100%}.continue-button:disabled{opacity:.5;cursor:not-allowed}.continue-button:disabled:hover{box-shadow:0 4px 15px var(--specialty-modal-shadow-accent),0 0 0 1px #fff3;transform:none}
