.theme-pill{display:flex;align-items:center;padding:0;background:transparent;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.theme-pill-track{position:relative;display:flex;align-items:center;width:44px;height:44px;background:var(--color-bg-secondary);border-radius:999px;border:2px solid var(--color-border);padding:0;justify-content:center;transition:all .3s ease}@media(min-width:768px){.theme-pill-track{width:108px;height:40px;padding:0 4px;justify-content:flex-start}}@media(hover:hover){.theme-pill:hover .theme-pill-track{border-color:var(--color-primary);box-shadow:0 0 0 3px #8b5cf61a}}.theme-pill-icon{display:none;align-items:center;justify-content:center;width:32px;height:32px;color:var(--color-text-muted);opacity:.5;transition:opacity .2s;z-index:1}@media(min-width:768px){.theme-pill-icon{display:flex}}.theme-pill-thumb{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:#fff;transition:transform .3s cubic-bezier(.34,1.56,.64,1);z-index:2}@media(min-width:768px){.theme-pill-thumb{position:absolute;left:4px;transform:translate(calc(var(--pos, 0) * 32px))}}.theme-pill.light .theme-pill-thumb{background:linear-gradient(135deg,#f59e0b,#f97316);box-shadow:0 2px 8px #f59e0b66}.theme-pill.auto .theme-pill-thumb{background:linear-gradient(135deg,#8b5cf6,#a855f7);box-shadow:0 2px 8px #8b5cf666}.theme-pill.dark .theme-pill-thumb{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 2px 8px #6366f166}.theme-pill:active .theme-pill-thumb{transform:scale(.9)}@media(min-width:768px){.theme-pill:active .theme-pill-thumb{transform:translate(calc(var(--pos, 0) * 32px)) scale(.9)}}.modal-overlay{position:fixed;inset:0;background-color:var(--color-overlay);display:flex;align-items:center;justify-content:center;padding:var(--spacing-4);z-index:var(--z-modal-backdrop);opacity:0;visibility:hidden;transition:opacity var(--transition-normal),visibility var(--transition-normal)}.modal-overlay.open{opacity:1;visibility:visible}.modal{background-color:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;transform:scale(.95) translateY(20px);opacity:0;transition:transform var(--transition-normal),opacity var(--transition-normal)}.modal-overlay.open .modal{transform:scale(1) translateY(0);opacity:1}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-5) var(--spacing-6);border-bottom:1px solid var(--color-border)}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);color:var(--color-text-secondary);transition:all var(--transition-fast)}.modal-close:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.modal-body{padding:var(--spacing-6);overflow-y:auto;overflow-x:hidden;flex:1}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-6);border-top:1px solid var(--color-border);background-color:var(--color-bg-secondary)}.modal.sm{max-width:400px}.modal.lg{max-width:640px}.modal.xl{max-width:800px}.modal.xxl{max-width:950px}.modal.full{max-width:100%;max-height:100%;height:100%;border-radius:0}@media(max-width:640px){.modal-overlay{padding:0;align-items:flex-end}.modal{max-width:100%;max-height:90vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal.full{max-height:100%;border-radius:0}}.help-modal-content{max-height:60vh;overflow-y:auto}.help-intro{color:var(--color-text-secondary);margin-bottom:var(--spacing-4);font-size:var(--font-size-base)}.help-accordion{display:flex;flex-direction:column;gap:var(--spacing-2)}.help-item{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.help-item.open{border-color:var(--color-primary)}.help-item-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--spacing-4);background-color:var(--color-bg-secondary);text-align:left;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast)}.help-item-header:hover{background-color:var(--color-bg-hover)}.help-item.open .help-item-header{background-color:var(--color-primary-light);color:var(--color-primary)}.help-item-body{padding:var(--spacing-4);background-color:var(--color-bg-card);font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.6}.help-contact{margin-top:var(--spacing-6);padding:var(--spacing-4);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);text-align:center}.help-contact p{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.message-center{position:relative}.message-bell{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:all .2s;position:relative}.message-bell:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.message-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:11px;font-weight:600;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px}.message-modal{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;justify-content:flex-end}.message-modal-backdrop{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.message-modal-content{position:relative;background:var(--color-bg-card, #1e293b);border-radius:20px 20px 0 0;max-height:80vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out;box-shadow:0 -4px 30px #0003}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.message-modal.closing .message-modal-content{animation:slideDown .3s ease-out forwards}.message-modal.closing .message-modal-backdrop{animation:fadeOut .3s ease-out forwards}.message-modal-handle{width:40px;height:4px;background:var(--color-border, #334155);border-radius:2px;margin:12px auto 0}.message-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border, #334155)}.message-modal-header h3{font-size:18px;font-weight:600;color:var(--color-text-primary, #f8fafc);margin:0}.message-modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary, #334155);border:none;border-radius:50%;color:var(--color-text-secondary, #94a3b8);cursor:pointer;transition:all .2s}.message-modal-close:hover{background:var(--color-bg-tertiary, #475569);color:var(--color-text-primary, #f8fafc)}.message-modal-body{flex:1;overflow-y:auto;max-height:calc(80vh - 100px);padding:8px;padding-bottom:env(safe-area-inset-bottom,20px)}.message-empty{padding:60px 20px;text-align:center;color:var(--color-text-muted, #64748b)}.message-empty svg{margin-bottom:16px;opacity:.4}.message-empty p{font-size:15px}.message-item{display:flex;gap:14px;padding:16px;margin:4px 0;cursor:pointer;transition:all .2s ease;border-radius:14px;background:transparent;position:relative}.message-item:hover{background:var(--color-bg-secondary, rgba(255, 255, 255, .05));transform:translate(4px)}.message-item:active{transform:scale(.98)}.message-item.unread{background:linear-gradient(135deg,#6366f11a,#6366f10d)}.message-item.unread:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:60%;background:linear-gradient(180deg,#6366f1,#8b5cf6);border-radius:0 4px 4px 0}.message-icon{flex-shrink:0;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative}.message-icon.support{background:linear-gradient(135deg,#6366f133,#8b5cf633);color:#818cf8}.message-icon.welcome{background:linear-gradient(135deg,#10b98133,#34d39933);color:#34d399}.message-icon.purchase{background:linear-gradient(135deg,#f59e0b33,#fbbf2433);color:#fbbf24}.message-icon.action{background:linear-gradient(135deg,#ef444433,#f8717133);color:#f87171}.message-icon.default{background:var(--color-bg-secondary, rgba(255, 255, 255, .1));color:var(--color-text-muted, #64748b)}.message-content{flex:1;min-width:0}.message-title{font-weight:600;font-size:15px;color:var(--color-text-primary, #f8fafc);margin-bottom:4px;display:flex;align-items:center;gap:8px}.message-item.unread .message-title:after{content:"";width:8px;height:8px;background:#6366f1;border-radius:50%;flex-shrink:0}.message-body{font-size:13px;color:var(--color-text-secondary, #94a3b8);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.message-meta{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.message-time{font-size:12px;color:var(--color-text-muted, #64748b);margin-top:8px}.message-action-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:500;color:#818cf8;background:#6366f11a;border:none;border-radius:20px;cursor:pointer;transition:all .2s}.message-action-btn:hover{background:#6366f133}.mark-all-read-btn{background:transparent;border:1px solid var(--color-border, #334155);border-radius:8px;padding:8px 14px;font-size:13px;font-weight:500;color:var(--color-primary, #818cf8);cursor:pointer;transition:all .2s;white-space:nowrap}.mark-all-read-btn:hover{background:#6366f11a;border-color:var(--color-primary, #818cf8)}@media(min-width:768px){.message-modal{position:fixed;inset:auto;padding:0;z-index:9999;display:block}.message-modal-backdrop{display:none}.message-modal-content{pointer-events:auto;width:400px;max-height:520px;border-radius:16px;animation:genieIn .3s cubic-bezier(.34,1.56,.64,1);transform-origin:top right;box-shadow:0 20px 60px #0006;border:1px solid var(--color-border, #334155)}@keyframes genieIn{0%{opacity:0;transform:scale(.3) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.message-modal.closing .message-modal-content{animation:genieOut .25s ease-in forwards}@keyframes genieOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.3) translateY(-20px)}}.message-modal-handle{display:none}.message-modal-body{max-height:420px;padding-bottom:8px}}.header{position:sticky;top:0;left:0;right:0;height:calc(var(--header-height) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);background-color:transparent;border-bottom:1px solid var(--color-border);z-index:var(--z-sticky);transition:all var(--transition-normal);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}[data-theme=light] .header{background-color:#ffffffb3}[data-theme=dark] .header{background-color:#0f172ab3}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-5);position:relative}@media(min-width:768px){.header-inner{padding:0 var(--spacing-8)}}.header-logo{display:flex;align-items:center;gap:var(--spacing-4);text-decoration:none;color:var(--color-text-primary)}.header-logo:hover{text-decoration:none}.header-logo-image{width:52px;height:52px;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);transition:transform var(--transition-fast);background-color:#fff;padding:4px}.header-logo:hover .header-logo-image{transform:scale(1.05)}.header-logo-image img{width:100%;height:100%;object-fit:contain}.header-logo-text{display:flex;flex-direction:column;gap:0;line-height:1}.header-logo-brand{font-size:1.25rem;font-weight:500;font-style:italic;color:var(--color-text-primary);letter-spacing:.08em;line-height:1.2}.header-logo-tagline{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.header-left{display:flex;align-items:center;gap:var(--spacing-3);min-width:0}.header-separator{color:var(--color-text-muted);font-size:var(--font-size-lg);font-weight:var(--font-weight-light)}.header-course-name{flex:1;text-align:center;font-size:1.25rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;padding:0 var(--spacing-4)}@media(max-width:768px){.header-separator,.header-course-name{display:none}}@media(max-width:640px){.header-logo-text{display:none}}.header-nav{display:flex;align-items:center;gap:8px;overflow:visible}@media(min-width:768px){.header-nav{gap:var(--spacing-3)}}.header-user{display:flex;align-items:center;gap:8px}.header-user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);display:none;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:640px){.header-user-name{display:block}}[data-theme=dark] .header-user-name{color:#fff}.header-user-chevron{color:var(--color-text-muted);transition:transform .2s ease,color .2s ease;display:none}@media(min-width:768px){.header-user-chevron{display:block}}[data-theme=dark] .header-user-chevron{color:#fff}.header-user-avatar{width:44px;height:44px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);box-shadow:var(--shadow-md);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}@media(hover:hover){.header-dropdown-trigger:hover .header-user-avatar{transform:scale(1.05);box-shadow:var(--shadow-lg)}}.header-dropdown{position:relative}.header-dropdown-menu{position:absolute;top:calc(100% + var(--spacing-2));right:0;min-width:220px;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-10px) scale(.95);transition:all var(--transition-fast);z-index:var(--z-dropdown)}[data-theme=dark] .header-dropdown-menu{background-color:#1e2128;border-color:#ffffff1a}[data-theme=dark] .header-dropdown-item{color:#f0f2f5}.header-dropdown.open .header-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.header-dropdown-item{display:flex;align-items:center;gap:var(--spacing-3);width:100%;padding:var(--spacing-4) var(--spacing-5);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-align:left;transition:all var(--transition-fast)}.header-dropdown-item:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.header-dropdown-item:first-child{border-radius:var(--radius-xl) var(--radius-xl) 0 0}.header-dropdown-item:last-child{border-radius:0 0 var(--radius-xl) var(--radius-xl)}.header-dropdown-divider{height:1px;background-color:var(--color-border);margin:var(--spacing-2) 0}.header-dropdown-item.danger{color:var(--color-error)}.header-dropdown-item.danger:hover{background-color:var(--color-error-bg);color:var(--color-error)}.header-menu-btn{display:none;width:48px;height:48px;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--color-text-primary)}.header-menu-btn:hover{background-color:var(--color-bg-hover)}@media(max-width:767px){.header-menu-btn{display:flex}}.header-help-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);color:var(--color-text-secondary);transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media(hover:hover){.header-help-btn:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}}.header-help-btn:active{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.header-guide-btn{display:none;align-items:center;justify-content:center;gap:8px;height:44px;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast);box-shadow:var(--shadow-md);-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media(min-width:768px){.header-guide-btn{display:flex}}@media(hover:hover){.header-guide-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}}.header-guide-btn:active{transform:scale(.95)}.header-guide-text{display:none}@media(min-width:768px){.header-guide-text{display:inline}}.header-dropdown-trigger{display:flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-2);border-radius:var(--radius-lg);cursor:pointer;transition:background-color var(--transition-fast);-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media(min-width:768px){.header-dropdown-trigger{gap:var(--spacing-2)}}@media(hover:hover){.header-dropdown-trigger:hover{background-color:var(--color-bg-hover)}}.header-dropdown-trigger:active{background-color:var(--color-bg-hover)}.onboarding-widget{position:fixed;bottom:24px;left:24px;width:340px;background-color:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);border:1px solid var(--color-border);z-index:9999;font-family:var(--font-family-base);overflow:hidden;transition:all .3s cubic-bezier(.16,1,.3,1);animation:slideIn .5s ease-out}.onboarding-widget.closed{width:60px;height:60px;border-radius:50%;cursor:pointer;overflow:hidden}.onboarding-widget.closed:hover{transform:scale(1.05);box-shadow:0 0 20px rgba(var(--color-primary-rgb),.4)}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.onboarding-header{padding:16px 20px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.onboarding-title{font-weight:700;font-size:16px;display:flex;align-items:center;gap:8px}.onboarding-close-btn{background:none;border:none;color:#fffc;cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.onboarding-close-btn:hover{background:#fff3;color:#fff}.onboarding-progress{padding:20px;border-bottom:1px solid var(--color-border)}.onboarding-progress-text{display:flex;justify-content:space-between;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--color-text-primary)}.onboarding-progress-bar-bg{height:6px;background-color:var(--color-bg-tertiary);border-radius:3px;overflow:hidden}.onboarding-progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-accent) 100%);border-radius:3px;transition:width .5s cubic-bezier(.4,0,.2,1)}.onboarding-list{list-style:none;padding:0;margin:0;max-height:300px;overflow-y:auto}.onboarding-item{padding:12px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--color-border);transition:background-color .2s;cursor:pointer;text-decoration:none;color:inherit}.onboarding-item:last-child{border-bottom:none}.onboarding-item:hover{background-color:var(--color-bg-hover)}.onboarding-item.completed{background-color:rgba(var(--color-success-rgb),.05)}.onboarding-checkbox{width:20px;height:20px;border-radius:50%;border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.onboarding-item.completed .onboarding-checkbox{background-color:var(--color-success);border-color:var(--color-success);color:#fff}.onboarding-item:not(.completed):hover .onboarding-checkbox{border-color:var(--color-primary)}.onboarding-item-label{font-size:14px;color:var(--color-text-primary);flex:1;transition:color .2s}.onboarding-item.completed .onboarding-item-label{text-decoration:line-through;color:var(--color-text-muted)}.onboarding-toggle-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff}.onboarding-completion-badge{position:absolute;top:0;right:0;width:12px;height:12px;background-color:var(--color-error);border-radius:50%;border:2px solid var(--color-bg-card)}.onboarding-congrats{padding:24px;text-align:center;animation:fadeIn .5s}.onboarding-congrats h3{margin:12px 0 8px;color:var(--color-primary)}.onboarding-congrats p{font-size:14px;color:var(--color-text-secondary);margin-bottom:16px}.loading-fullscreen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-4);background-color:var(--color-bg-primary);z-index:var(--z-modal)}.loading-text{color:var(--color-text-secondary);font-size:var(--font-size-base)}.pl,.pl__worm{animation-duration:3s;animation-iteration-count:infinite}.pl{animation-name:bump;animation-timing-function:linear}.pl__ring{opacity:.15;transition:stroke .3s}.pl__worm{animation-name:worm;animation-timing-function:cubic-bezier(.42,.17,.75,.83)}@keyframes bump{0%,42%,46%,51%,55%,59%,63%,67%,71%,74%,78%,81%,85%,88%,92%,to{transform:translate(0)}44%{transform:translate(1.33%,6.75%)}53%{transform:translate(-16.67%,-.54%)}61%{transform:translate(3.66%,-2.46%)}69%{transform:translate(-.59%,15.27%)}76%{transform:translate(-1.92%,-4.68%)}83%{transform:translate(9.38%,.96%)}90%{transform:translate(-4.55%,1.98%)}}@keyframes worm{0%{stroke-dashoffset:10}25%{stroke-dashoffset:295}to{stroke-dashoffset:1165}}.support-chat-fab{position:fixed;bottom:24px;right:24px;display:flex;align-items:center;gap:8px;padding:14px 20px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;border:none;border-radius:50px;cursor:pointer;box-shadow:0 4px 20px #1a8a9a66;z-index:9999;transition:all .2s;font-weight:600;font-size:14px;animation:fabFadeIn .25s ease-out}@keyframes fabFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media(hover:hover){.support-chat-fab:hover{transform:translateY(-2px);box-shadow:0 6px 24px #1a8a9a80}}.support-chat-fab-label{display:none}@media(min-width:640px){.support-chat-fab-label{display:inline}}.support-chat-widget{position:fixed;bottom:24px;right:24px;width:380px;max-width:calc(100vw - 32px);height:680px;max-height:calc(100vh - 100px);background:var(--color-bg-card);border-radius:16px;box-shadow:0 20px 60px #0000004d,0 0 0 1px var(--color-border);display:flex;flex-direction:column;z-index:10000;animation:chatFadeIn .25s ease-out;overflow:hidden}.support-chat-widget.closing{animation:chatFadeOut .2s ease-in forwards}@keyframes chatFadeIn{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes chatFadeOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(16px) scale(.95)}}.support-chat-header{display:flex;align-items:center;justify-content:space-between;padding:16px;padding-top:calc(16px + env(safe-area-inset-top));background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff}.support-chat-header-content{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px}.support-chat-header-actions{display:flex;gap:4px}.support-chat-header-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#ffffff26;color:#fff;border-radius:8px;cursor:pointer;transition:background .15s}.support-chat-header-btn:hover{background:#ffffff40}.support-chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.support-chat-message{display:flex;animation:messageIn .3s ease-out}@keyframes messageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.support-chat-message.bot{justify-content:flex-start}.support-chat-message.user{justify-content:flex-end}.support-chat-bubble{max-width:85%;padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.5}.support-chat-message.bot .support-chat-bubble{background:var(--color-bg-secondary);color:var(--color-text-primary);border-bottom-left-radius:4px}.support-chat-message.user .support-chat-bubble{background:var(--color-primary);color:#fff;border-bottom-right-radius:4px}.support-chat-options{padding:12px 16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--color-border);background:var(--color-bg-secondary);max-height:320px;overflow-y:auto}.support-chat-option-btn{width:100%;padding:12px 16px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;text-align:left;animation:optionIn .25s ease-out backwards}.support-chat-option-btn:nth-child(1){animation-delay:.05s}.support-chat-option-btn:nth-child(2){animation-delay:.1s}.support-chat-option-btn:nth-child(3){animation-delay:.15s}.support-chat-option-btn:nth-child(4){animation-delay:.2s}.support-chat-option-btn:nth-child(5){animation-delay:.25s}.support-chat-option-btn:nth-child(6){animation-delay:.3s}@keyframes optionIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@media(hover:hover){.support-chat-option-btn:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translate(4px)}}.support-chat-option-btn:active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.support-chat-contact-form{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--color-bg-secondary);border-radius:12px;margin-top:8px}.support-chat-contact-form textarea{width:100%;padding:12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-card);color:var(--color-text-primary);font-size:14px;resize:none;font-family:inherit}.support-chat-contact-form textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1a8a9a26}.support-chat-submit-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:var(--color-primary);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}.support-chat-submit-btn:hover:not(:disabled){background:var(--color-primary-dark, #0891b2)}.support-chat-submit-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:480px){.support-chat-widget{bottom:0;right:0;width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.support-chat-fab{bottom:calc(60px + env(safe-area-inset-bottom));right:16px}}.support-modal-overlay{position:fixed;inset:0;background:#0009;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-out}.support-modal-container{background:var(--color-bg-card);width:100%;max-width:600px;max-height:90vh;border-radius:20px;position:relative;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.support-modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:var(--color-bg-secondary);border:none;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;z-index:10}.support-modal-close:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.support-modal-header{padding:30px 30px 20px;text-align:center;border-bottom:1px solid var(--color-border)}.support-modal-icon{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 10px 20px #6366f133}.support-modal-header h2{font-size:24px;font-weight:700;margin:0;color:var(--color-text-primary, #1e293b)}.support-modal-content{padding:30px;overflow-y:auto;flex:1}.support-modal-loading,.support-modal-error{text-align:center;padding:40px;color:var(--color-text-secondary)}.support-modal-info{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:30px}.support-modal-date{font-size:14px;color:var(--color-text-muted)}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.status-badge.new{background:#3b82f61a;color:#3b82f6}.status-badge.progress{background:#f59e0b1a;color:#f59e0b}.status-badge.resolved{background:#10b9811a;color:#10b981}.support-modal-section{margin-bottom:24px}.support-modal-section h3{font-size:14px;font-weight:600;color:var(--color-text-secondary, #64748b);margin-bottom:10px;text-transform:uppercase;letter-spacing:.05em}.support-modal-box{background:var(--color-bg-secondary);border-radius:12px;padding:20px}.support-modal-box.reply-box{background:#6366f10d;border:1px solid rgba(99,102,241,.1)}.support-modal-label{font-size:12px;color:var(--color-text-muted);margin-bottom:8px}.support-modal-text{font-size:15px;line-height:1.6;color:var(--color-text-primary, #1e293b);white-space:pre-wrap}.support-modal-reply-date{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.05);font-size:12px;color:var(--color-text-muted);text-align:right}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-color-scheme:dark){.support-modal-reply-date{border-top-color:#ffffff0d}}.support-modal-section.feedback{margin-top:30px}.feedback-box{border:1px solid var(--color-border);background:var(--color-bg-secondary)}.feedback-group{margin-bottom:20px}.feedback-group label{display:block;font-size:14px;font-weight:600;margin-bottom:10px;color:var(--color-text-primary, #1e293b)}.feedback-options-row{display:flex;gap:12px}.feedback-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-card);color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.feedback-btn:hover{background:var(--color-bg-secondary)}.feedback-btn.active{border-color:transparent;color:#fff}.feedback-btn.active.yes{background:#10b981}.feedback-btn.active.no{background:#ef4444}.feedback-stars{display:flex;gap:8px}.star-btn{background:none;border:none;padding:4px;color:var(--color-text-muted);cursor:pointer;transition:color .2s}.star-btn:hover,.star-btn.active{color:#f59e0b}.feedback-textarea{width:100%;border:1px solid var(--color-border);border-radius:8px;padding:12px;font-size:14px;resize:vertical;background:var(--color-bg-card);color:var(--color-text-primary);font-family:inherit}.feedback-submit-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:8px;background:var(--color-primary);color:#fff;font-weight:600;border:none;cursor:pointer;transition:background .2s}.feedback-submit-btn:hover{opacity:.9}.feedback-submit-btn:disabled{opacity:.6;cursor:not-allowed}.feedback-result{text-align:center;padding:20px}.feedback-result-header{display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;font-weight:700;color:#10b981;margin-bottom:8px}.feedback-thanks{color:var(--color-text-secondary);font-size:14px}.text-success{color:#10b981}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.95)}}.support-modal-overlay.closing{animation:fadeOut .2s ease-in forwards}.support-modal-container.closing{animation:slideDown .2s ease-in forwards}:root,[data-theme=light]{--color-primary: #1a8a9a;--color-primary-hover: #147a88;--color-primary-light: #e0f4f6;--color-primary-dark: #0d5f6a;--color-accent: #c5a030;--color-accent-light: #faf5e0;--color-bg-primary: #ffffff;--color-bg-secondary: #f8fafb;--color-bg-tertiary: #f0f5f6;--color-bg-card: #ffffff;--color-bg-hover: #eef5f6;--color-bg-gradient: linear-gradient(135deg, #f8fafb 0%, #e0eeef 100%);--color-bg-rgb: 255, 255, 255;--color-card-rgb: 255, 255, 255;--color-text-primary: #1e293b;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-text-inverse: #ffffff;--color-border: #d0e5e8;--color-border-hover: #b0d5d8;--color-border-focus: #1a8a9a;--color-success: #059669;--color-success-bg: #d1fae5;--color-warning: #c5a030;--color-warning-bg: #fef8e0;--color-error: #dc2626;--color-error-bg: #fee2e2;--color-info: #1a8a9a;--color-info-bg: #e0f4f6;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .03), 0 1px 3px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .05), 0 2px 4px -2px rgb(0 0 0 / .03);--shadow-lg: 0 10px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .03);--shadow-xl: 0 20px 40px -10px rgb(0 0 0 / .1), 0 10px 20px -10px rgb(0 0 0 / .04);--shadow-glow: 0 0 30px 0 rgba(26, 138, 154, .1);--color-overlay: rgba(0, 0, 0, .5)}[data-theme=dark]{--color-primary: #2ca3b3;--color-primary-hover: #3ab8c8;--color-primary-light: rgba(44, 163, 179, .12);--color-primary-dark: #1a7a88;--color-accent: #c9a84a;--color-accent-light: rgba(201, 168, 74, .12);--color-bg-primary: #121418;--color-bg-secondary: #1a1d22;--color-bg-tertiary: #22262d;--color-bg-card: #1a1d22;--color-bg-hover: #22262d;--color-bg-gradient: linear-gradient(135deg, #121418 0%, #1a1d22 100%);--color-bg-rgb: 18, 20, 24;--color-card-rgb: 26, 29, 34;--color-text-primary: #f0f2f5;--color-text-secondary: #a8b0bc;--color-text-muted: #6b7280;--color-text-inverse: #121418;--color-border: #2a2e36;--color-border-hover: #3a3f48;--color-border-focus: #2ca3b3;--color-success: #34d399;--color-success-bg: rgba(52, 211, 153, .12);--color-warning: #c9a84a;--color-warning-bg: rgba(201, 168, 74, .12);--color-error: #f87171;--color-error-bg: rgba(248, 113, 113, .12);--color-info: #2ca3b3;--color-info-bg: rgba(44, 163, 179, .12);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .4);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5);--shadow-lg: 0 10px 25px -5px rgb(0 0 0 / .5);--shadow-xl: 0 20px 40px -10px rgb(0 0 0 / .6);--shadow-glow: 0 0 30px 0 rgba(44, 163, 179, .12);--color-overlay: rgba(18, 20, 24, .9)}:root{--font-family-base: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;--font-family-heading: var(--font-family-base);--font-size-xs: .8125rem;--font-size-sm: .9375rem;--font-size-base: 1.0625rem;--font-size-lg: 1.1875rem;--font-size-xl: 1.375rem;--font-size-2xl: 1.75rem;--font-size-3xl: 2.25rem;--font-size-4xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.3;--line-height-normal: 1.6;--line-height-relaxed: 1.8;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .02em}:root{--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--touch-target-min: 48px;--input-height: 56px;--button-height: 52px;--button-height-lg: 60px;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--container-max-width: 1400px;--sidebar-width: 340px;--header-height: 80px}:root{--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1)}:root{--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh;transition:background-color var(--transition-slow),color var(--transition-slow);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:var(--letter-spacing-normal)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}img,video{max-width:100%;height:auto;display:block}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background-color:var(--color-primary);color:var(--color-text-inverse)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full);border:2px solid var(--color-bg-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-5)}@media(min-width:768px){.container{padding:0 var(--spacing-8)}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.glass{background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}[data-theme=dark] .glass{background:#1e293bd9}.gradient-text{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-hover{transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.card-hover:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{--spinner-size: 28px;--spinner-width: 3px;width:var(--spinner-size);height:var(--spinner-size);border-radius:50%;background:conic-gradient(from 0deg,var(--color-primary) 0%,var(--color-accent) 50%,var(--color-primary) 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--spinner-width)),black calc(100% - var(--spinner-width) + .5px));mask:radial-gradient(farthest-side,transparent calc(100% - var(--spinner-width)),black calc(100% - var(--spinner-width) + .5px));animation:spin .8s linear infinite;border:none}.spinner.sm{--spinner-size: 18px;--spinner-width: 2px}.spinner.md{--spinner-size: 36px;--spinner-width: 3px}.spinner.lg{--spinner-size: 52px;--spinner-width: 4px}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease-out forwards}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,var(--color-bg-tertiary) 0%,var(--color-bg-secondary) 50%,var(--color-bg-tertiary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}@media(max-width:767px){.hide-mobile{display:none!important}}@media(min-width:768px){.hide-desktop{display:none!important}}
