.supervisor-card{border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);margin:var(--spacing-xl)0;background-color:rgba(249,245,236,.5)}.supervisor-card__title{color:var(--color-text);margin:0 0 var(--spacing-md)0;letter-spacing:.1rem;text-align:center;font-size:18px;font-weight:700}.supervisor-card__content{gap:var(--spacing-md);grid-template-columns:80px 1fr;align-items:flex-start;display:grid}@media (max-width:767px){.supervisor-card__content{gap:var(--spacing-md);grid-template-columns:1fr;justify-items:center}}.supervisor-card__image-wrapper{background-color:var(--color-border);border-radius:50%;flex-shrink:0;width:80px;height:80px;position:relative;overflow:hidden}@media (max-width:767px){.supervisor-card__image-wrapper{width:70px;height:70px}}.supervisor-card__image{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%}.supervisor-card__info{gap:var(--spacing-xs);flex-direction:column;display:flex}@media (max-width:767px){.supervisor-card__info{text-align:center;align-items:center}}.supervisor-card__title-text{color:var(--color-text-light);margin:0;font-size:14px;line-height:1.5}.supervisor-card__name{color:var(--color-text);letter-spacing:.05rem;margin:0;font-size:18px;font-weight:700;line-height:1.5}.supervisor-card__organization{color:var(--color-text-light);margin:0;font-size:14px;line-height:1.5}.supervisor-card__profile{color:var(--color-text);margin:var(--spacing-sm)0 0 0;font-size:14px;line-height:1.6}.supervisor-card__facebook-link{background-color:var(--color-primary);color:#fff;width:32px;height:32px;margin-top:var(--spacing-sm);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:background-color .2s,transform .2s;display:inline-flex}.supervisor-card__facebook-link:hover{background-color:var(--color-primary-hover);transform:scale(1.05)}.supervisor-card__facebook-icon{width:16px;height:16px}
.author-card{border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);margin:var(--spacing-xl)0;background-color:rgba(249,245,236,.5)}.author-card__title{color:var(--color-text);margin:0 0 var(--spacing-md)0;letter-spacing:.1rem;text-align:center;font-size:18px;font-weight:700}.author-card__content{gap:var(--spacing-md);grid-template-columns:80px 1fr;align-items:flex-start;display:grid}@media (max-width:767px){.author-card__content{gap:var(--spacing-md);grid-template-columns:1fr;justify-items:center}}.author-card__image-wrapper{background-color:var(--color-border);border-radius:50%;flex-shrink:0;width:80px;height:80px;position:relative;overflow:hidden}@media (max-width:767px){.author-card__image-wrapper{width:70px;height:70px}}.author-card__image{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%}.author-card__info{gap:var(--spacing-xs);flex-direction:column;display:flex}@media (max-width:767px){.author-card__info{text-align:center;align-items:center}}.author-card__title-text{color:var(--color-text-light);margin:0;font-size:14px;line-height:1.5}.author-card__name{color:var(--color-text);letter-spacing:.05rem;margin:0;font-size:18px;font-weight:700;line-height:1.5}.author-card__organization{color:var(--color-text-light);margin:0;font-size:14px;line-height:1.5}.author-card__profile{color:var(--color-text);margin:var(--spacing-sm)0 0 0;font-size:14px;line-height:1.6}.author-card__facebook-link{background-color:var(--color-primary);color:#fff;width:32px;height:32px;margin-top:var(--spacing-sm);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:background-color .2s,transform .2s;display:inline-flex}.author-card__facebook-link:hover{background-color:var(--color-primary-hover);transform:scale(1.05)}.author-card__facebook-icon{width:16px;height:16px}
.line-friend-banner__overlay{z-index:999;opacity:0;pointer-events:none;background-color:rgba(0,0,0,.5);transition:opacity .3s ease-out;position:fixed;top:0;bottom:0;left:0;right:0}.line-friend-banner__overlay--visible{opacity:1;pointer-events:auto}.line-friend-banner{z-index:1000;opacity:0;pointer-events:none;background-color:transparent;border-radius:0;width:calc(100vw - 40px);max-width:300px;padding:0;transition:opacity .3s ease-out;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 32px rgba(0,0,0,.3)}.line-friend-banner--visible{opacity:1;pointer-events:auto}@media (max-width:767px){.line-friend-banner{width:calc(100vw - 40px);max-width:280px}}@media (min-width:1024px){.line-friend-banner{width:auto;max-width:500px}}.line-friend-banner__close{color:#fff;cursor:pointer;z-index:10;background-color:rgba(0,0,0,.5);border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:background-color .2s,transform .2s;display:flex;position:absolute;top:8px;right:8px}.line-friend-banner__close:hover{background-color:rgba(0,0,0,.7);transform:scale(1.1)}.line-friend-banner__close:active{transform:scale(.95)}.line-friend-banner__link{border-radius:0;text-decoration:none;transition:transform .2s;display:block;overflow:hidden}.line-friend-banner__link:hover{transform:scale(1.02)}.line-friend-banner__image{border-radius:0;width:100%;height:auto;display:block}
.chat-widget__button{background-color:var(--color-primary);color:#fff;cursor:pointer;z-index:1000;border:none;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;padding:0;transition:background-color .2s,transform .2s;animation:2s ease-in-out infinite pulse;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 12px rgba(0,0,0,.15)}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 4px 12px rgba(0,0,0,.15)}50%{transform:scale(1.05);box-shadow:0 6px 20px rgba(246,122,78,.4)}}.chat-widget__button:hover{background-color:var(--color-primary-hover);animation:none;transform:scale(1.1)}.chat-widget__button:active{transform:scale(.95)}.chat-widget__button--open{animation:none}@media (max-width:767px){.chat-widget__button{width:56px;height:56px;bottom:16px;right:16px}}.chat-widget{border-radius:var(--border-radius-lg);z-index:1001;background-color:#fff;flex-direction:column;width:400px;max-height:600px;animation:.5s ease-out slideUpBounce;display:flex;position:fixed;bottom:90px;right:20px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.2)}@keyframes slideUpBounce{0%{opacity:0;transform:translateY(30px)scale(.9)}50%{transform:translateY(-5px)scale(1.02)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:767px){.chat-widget{width:calc(100vw - 32px);max-width:400px;max-height:calc(100vh - 100px);bottom:80px;left:16px;right:16px}}.chat-widget__header{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);background-color:var(--color-primary);color:#fff;justify-content:space-between;align-items:center;display:flex}.chat-widget__title{color:#fff;margin:0;font-size:1rem;font-weight:700}.chat-widget__close{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:opacity .2s;display:flex}.chat-widget__close:hover{opacity:.7}.chat-widget__messages{padding:var(--spacing-md);gap:var(--spacing-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-message{margin-bottom:var(--spacing-sm);gap:var(--spacing-xs);display:flex}.chat-message--bot{justify-content:flex-start}.chat-message--user{justify-content:flex-end}.chat-message__avatar{background-color:var(--color-border);border-radius:50%;flex-shrink:0;width:40px;height:40px;overflow:hidden}.chat-message__avatar-image{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.chat-message__content{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);max-width:80%;padding:var(--spacing-sm)var(--spacing-md);font-size:.9rem;line-height:1.6}.chat-message--user .chat-message__content{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.chat-message__content--typing{padding:var(--spacing-sm)var(--spacing-md);background-color:transparent!important;border:none!important}.chat-typing-indicator{padding:var(--spacing-xs)0;align-items:center;gap:4px;display:flex}.chat-typing-indicator span{background-color:var(--color-text-light);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite typing;display:inline-block}.chat-typing-indicator span:first-child{animation-delay:0s}.chat-typing-indicator span:nth-child(2){animation-delay:.2s}.chat-typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.7;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.chat-message__content p{margin:0 0 var(--spacing-xs)0}.chat-message__content p:last-child{margin-bottom:0}.chat-message__content strong{color:var(--color-primary);font-weight:700}.chat-options{gap:var(--spacing-xs);margin-top:var(--spacing-sm);flex-direction:column;display:flex}.chat-option{background-color:var(--color-primary);color:#fff;border-radius:var(--border-radius);padding:var(--spacing-sm)var(--spacing-md);cursor:pointer;text-align:left;border:none;font-size:.9rem;transition:background-color .2s,transform .2s}.chat-option:hover{background-color:var(--color-primary-hover);transform:translate(4px)}.chat-option:active{transform:translate(2px)}.chat-age-input{gap:var(--spacing-xs);margin-top:var(--spacing-sm);display:flex}.chat-age-input__field{padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius);flex:1;font-size:.9rem}.chat-age-input__field:focus{border-color:var(--color-primary);outline:none}.chat-age-input__button{background-color:var(--color-primary);color:#fff;border-radius:var(--border-radius);padding:var(--spacing-sm)var(--spacing-md);cursor:pointer;border:none;font-size:.9rem;transition:background-color .2s}.chat-age-input__button:hover{background-color:var(--color-primary-hover)}.chat-link{margin-top:var(--spacing-sm)}.chat-link__button{background-color:var(--color-primary);color:#fff;text-align:center;padding:var(--spacing-md);border-radius:var(--border-radius);font-weight:700;text-decoration:none;transition:background-color .2s,transform .2s;display:block}.chat-link__button:hover{background-color:var(--color-primary-hover);transform:scale(1.02)}
