/* Functional polish layered over the approved v5.5 visual language. */
/* 小啦與客服沿用會員訊息的平面輪廓，只用柔粉藍底色區分身分。 */
.ky-chat-row.assistant .bubble.bot,.su-chat-row.bot .bubble.bot{background:rgba(209,224,234,.34)!important;border:1px solid rgba(255,255,255,.5)!important;box-shadow:none!important;color:#666666!important}
html,body{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;overscroll-behavior:none}
textarea{scrollbar-width:none;-ms-overflow-style:none}textarea::-webkit-scrollbar{display:none;width:0;height:0}
:root{--kyra-scroll-size:8px;--kyra-scroll-thumb:rgba(112,139,153,.4);--kyra-scroll-thumb-hover:rgba(100,129,144,.58)}
*{scrollbar-width:thin;scrollbar-color:var(--kyra-scroll-thumb) transparent}
*::-webkit-scrollbar{width:var(--kyra-scroll-size);height:var(--kyra-scroll-size)}
*::-webkit-scrollbar-track{background:transparent;margin:12px}
*::-webkit-scrollbar-thumb{min-width:40px;min-height:40px;border:2px solid transparent;border-radius:99px;background:var(--kyra-scroll-thumb)!important;background-clip:content-box!important}
*::-webkit-scrollbar-thumb:hover{background:var(--kyra-scroll-thumb-hover)!important;background-clip:content-box!important}
*::-webkit-scrollbar-corner{background:transparent}
body.ky-site-loading{overflow:hidden;background:#eef1f2}
body.ky-site-loading>:not(#kyEntryLoading){visibility:hidden!important}
body.ky-site-loading.ky-site-revealing>:not(#kyEntryLoading){visibility:visible!important}
.ky-entry-loading{position:fixed;inset:0;z-index:2000;display:grid;place-content:center;justify-items:center;gap:20px;opacity:1;visibility:visible;background:linear-gradient(145deg,#e7eef2,#f4e8ea 51%,#f8fafb);overflow:hidden;isolation:isolate;will-change:opacity;transition:opacity .96s cubic-bezier(.22,.61,.36,1),visibility 0s linear .96s}
.ky-entry-loading>*{transition:opacity .68s ease,transform .78s cubic-bezier(.22,.61,.36,1)}
.ky-entry-loading.is-finished{opacity:0;visibility:hidden;pointer-events:none}
.ky-entry-loading.is-finished>*{opacity:0;transform:translateY(-5px) scale(.99)}
.ky-entry-aura{position:relative;width:94px;height:94px;display:grid;place-items:center}
.ky-entry-aura:before{content:'';width:14px;height:14px;border-radius:50%;background:rgba(195,165,101,.72);box-shadow:0 0 22px rgba(195,165,101,.5);animation:kyLoadingCore 1.9s ease-in-out infinite}
.ky-entry-aura i{position:absolute;inset:0;border:1px solid rgba(255,255,255,.75);border-radius:50%;animation:kyLoadingOrbit 2.8s ease-in-out infinite}
.ky-entry-aura i:nth-child(2){inset:12px;border-color:rgba(127,163,189,.34);animation-delay:-.8s}.ky-entry-aura i:nth-child(3){inset:25px;border-color:rgba(177,138,164,.38);animation-delay:-1.6s}
.ky-entry-wordmark{display:block;width:min(158px,44vw);height:auto;object-fit:contain;filter:drop-shadow(0 7px 16px rgba(94,116,132,.12));animation:kyLoadingFade 1.8s ease-in-out infinite}
.ky-entry-line{display:flex;align-items:center;gap:10px;color:var(--soft);font:400 10.5px/1.4 var(--body);letter-spacing:.14em}.ky-entry-line i{width:28px;border-top:1px solid rgba(195,165,101,.42)}
.ky-entry-loading.needs-sound-unlock{cursor:pointer}.ky-entry-loading.needs-sound-unlock .ky-entry-line{color:var(--blue-deep);animation:kyEntryInvite 1.8s ease-in-out infinite}@keyframes kyEntryInvite{50%{opacity:.52;transform:translateY(2px)}}
@keyframes kyLoadingOrbit{0%,100%{transform:scale(.82);opacity:.25}50%{transform:scale(1.06);opacity:.9}}@keyframes kyLoadingCore{50%{transform:scale(1.28);box-shadow:0 0 32px rgba(195,165,101,.66)}}@keyframes kyLoadingFade{50%{opacity:.58}}
.ky-app-install-pill{box-sizing:border-box;position:fixed;isolation:isolate;z-index:640;left:50%;bottom:calc(102px + env(safe-area-inset-bottom));width:min(224px,calc(100vw - 56px));min-height:39px;display:grid;grid-template-columns:28px minmax(0,1fr) 27px;align-items:center;gap:7px;padding:5px 6px 5px 7px;border:1px solid rgba(255,255,255,.82);border-radius:999px;outline:none;background:rgba(244,249,251,.56);box-shadow:0 12px 28px rgba(61,73,80,.12),inset 0 1px 0 rgba(255,255,255,.92);backdrop-filter:blur(24px) saturate(1.08);-webkit-backdrop-filter:blur(24px) saturate(1.08);color:#68696a;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .28s cubic-bezier(.2,.72,.2,1),box-shadow .28s,border-color .28s}
.ky-app-install-pill:before{content:'';position:absolute;z-index:-1;inset:-4px;border:1px solid rgba(142,177,193,.34);border-radius:inherit;box-shadow:0 0 0 0 rgba(144,178,194,.2);pointer-events:none;animation:kyInstallAura 2.4s ease-out infinite}@keyframes kyInstallAura{0%,100%{opacity:.4;box-shadow:0 0 0 0 rgba(144,178,194,.2)}45%{opacity:.95;box-shadow:0 0 0 5px rgba(177,139,165,.06)}75%{opacity:.18;box-shadow:0 0 0 9px rgba(144,178,194,0)}}
.ky-app-install-pill:hover,.ky-app-install-pill:focus-visible{transform:translate(-50%,-2px);border-color:rgba(145,175,190,.55);box-shadow:0 20px 42px rgba(61,75,83,.2),0 0 0 4px rgba(146,178,193,.08),inset 0 1px 0 #fff}.ky-app-install-pill:not(:hover):not(:focus-visible){transform:translateX(-50%)}
.ky-app-install-pill[hidden]{display:none!important}.ky-app-install-mark{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.78);border-radius:50%;background:rgba(224,235,240,.42);color:#788f9b;box-shadow:inset 0 1px 0 rgba(255,255,255,.78)}.ky-app-install-mark svg{width:15px;height:15px}.ky-app-install-copy{min-width:0;display:block}.ky-app-install-copy b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5f6264;font-size:9px;font-weight:600;letter-spacing:.14em}.ky-app-install-copy small{display:none}.ky-app-install-action{width:27px;height:27px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.54);border-radius:50%;background:rgba(133,164,181,.76);box-shadow:0 5px 12px rgba(109,137,152,.14),inset 0 1px 0 rgba(255,255,255,.36);color:#fff}.ky-app-install-action svg{width:14px;height:14px}
.ky-app-guide[hidden]{display:none!important}.ky-app-guide{position:fixed;z-index:2500;inset:0;display:grid;place-items:center;padding:22px;background:rgba(48,52,54,.36);backdrop-filter:blur(12px) saturate(.75);-webkit-backdrop-filter:blur(12px) saturate(.75);opacity:0;visibility:hidden;transition:opacity .34s ease,visibility 0s linear .34s}.ky-app-guide.on{opacity:1;visibility:visible;transition-delay:0s}.ky-app-guide-card{box-sizing:border-box;position:relative;width:min(390px,100%);max-height:min(760px,90dvh);overflow:auto;padding:28px 24px 21px;border:1px solid rgba(255,255,255,.82);border-radius:30px;background:linear-gradient(155deg,rgba(250,249,246,.965),rgba(231,239,242,.94) 58%,rgba(242,231,235,.93));box-shadow:0 30px 80px rgba(49,54,57,.25),inset 0 1px 0 #fff;transform:translateY(16px) scale(.975);transition:transform .42s cubic-bezier(.2,.76,.2,1)}.ky-app-guide.on .ky-app-guide-card{transform:none}.ky-app-guide-close{position:absolute;z-index:2;right:15px;top:15px;width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.72);border-radius:11px;background:rgba(255,255,255,.26);color:#8a8681;cursor:pointer}.ky-app-guide-close svg{width:15px;height:15px}.ky-app-guide-kicker{display:block;margin-bottom:7px;color:#869daa;font-size:8px;letter-spacing:.14em;text-align:center}.ky-app-guide h2{margin:0;color:#56514d;font:500 19px/1.5 var(--body);letter-spacing:.14em;text-align:center}.ky-app-guide>section>p{min-height:36px;margin:7px 0 13px;color:#7e7974;font-size:10.5px;line-height:1.75;letter-spacing:.14em;text-align:center}.ky-app-guide-visual{position:relative;overflow:hidden;margin:0;border:1px solid rgba(255,255,255,.8);border-radius:20px;background:rgba(255,255,255,.28);box-shadow:0 12px 28px rgba(75,77,75,.08),inset 0 1px 0 rgba(255,255,255,.78);aspect-ratio:4/3}.ky-app-guide-visual:after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 28px rgba(255,255,255,.25);pointer-events:none}.ky-app-guide-visual img{width:100%;height:100%;display:block;object-fit:cover;transition:opacity .2s ease,transform .38s cubic-bezier(.2,.72,.2,1)}.ky-app-guide-visual img.changing{opacity:.28;transform:scale(.985)}.ky-app-guide-controls{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:16px}.ky-app-guide-prev,.ky-app-guide-next{height:38px;border:1px solid rgba(255,255,255,.75);border-radius:13px;background:rgba(255,255,255,.28);color:#7b8790;font:inherit;cursor:pointer;transition:background .2s,opacity .2s}.ky-app-guide-prev{width:38px;display:grid;place-items:center}.ky-app-guide-prev svg{width:17px;height:17px}.ky-app-guide-prev:disabled{opacity:.25;cursor:default}.ky-app-guide-next{min-width:88px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 13px;border-color:rgba(143,173,188,.2);background:linear-gradient(135deg,rgba(129,163,181,.88),rgba(174,151,180,.78));box-shadow:0 7px 17px rgba(116,139,151,.16),inset 0 1px 0 rgba(255,255,255,.35);color:#fff;font-size:9.5px;letter-spacing:.14em}.ky-app-guide-next svg{width:14px;height:14px}.ky-app-guide-dots{display:flex;align-items:center;justify-content:center;gap:6px}.ky-app-guide-dots i{width:5px;height:5px;border-radius:50%;background:rgba(123,134,140,.23);transition:width .25s,background .25s}.ky-app-guide-dots i.on{width:18px;border-radius:99px;background:linear-gradient(90deg,#8facbb,#ba9eb6)}body.ky-app-guide-open{overflow:hidden}
@media(max-width:380px){.ky-app-install-pill{bottom:calc(96px + env(safe-area-inset-bottom));width:min(216px,calc(100vw - 52px))}.ky-app-guide{padding:13px}.ky-app-guide-card{padding:25px 17px 17px;border-radius:25px}.ky-app-guide h2{font-size:17px}.ky-app-guide>section>p{font-size:9.8px}}
@media(prefers-reduced-motion:reduce){.ky-app-install-pill,.ky-app-guide,.ky-app-guide-card,.ky-app-guide-visual img{transition:none!important}}
@media(display-mode:standalone),(display-mode:fullscreen){.ky-app-install-pill{display:none!important}}
.page .sub{display:none!important}
.page .title{margin-bottom:22px!important}
.page:not(#page-booking):not(#page-m-history-view):not(#page-support)>.screen{max-width:420px!important;padding-left:clamp(42px,11.5vw,45px)!important;padding-right:clamp(42px,11.5vw,45px)!important}
#page-pricing .promo-slot{display:none!important}
#page-pricing .seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
#page-pricing .seg button{display:flex;align-items:center;justify-content:center;line-height:1.45;min-width:0;text-align:center}
#page-pricing .price-row .name{font-weight:700;color:#666666!important}
#page-pricing .price-row .amt,#page-pricing .price-row .amt *{font-weight:700!important}
#page-register,#page-forgot{padding-top:44px;padding-bottom:62px;overflow:hidden}
#page-register .screen,#page-forgot .screen{padding-top:7px;padding-bottom:5px;justify-content:center}
#page-register .back-row,#page-forgot .back-row{margin-bottom:6px}
.ky-register-card,.ky-forgot-card{max-width:390px}
#page-register .ky-register-card,#page-login .ky-login-card{max-width:340px}
#page-login .ky-login-panel{padding-top:30px}
.ky-register-card .ky-login-copy,.ky-forgot-card .ky-login-copy{margin-bottom:10px}
.ky-register-card .field,.ky-forgot-card .field{margin-bottom:7px}
.ky-register-card .field label,.ky-forgot-card .field label{font-size:8.5px;margin-bottom:3px}
.ky-register-card .field input,.ky-forgot-card .field input{padding:7px 10px;font-size:11px;background:rgba(255,255,255,.12)}
.ky-register-card .divider{margin:8px 0 7px;font-size:8.5px}
.ky-register-card .field,#page-login .ky-login-card .field{margin-bottom:9px}
.ky-register-card .field input,#page-login .ky-login-card .field input{box-sizing:border-box;min-height:41px;padding:9px 12px;font-size:11.5px}
.ky-register-card .ky-login-primary,#page-login .ky-login-primary{min-height:41px;padding:9px 14px}
.ky-register-card .ky-social-btn,#page-login .ky-social-btn{min-height:39px;padding:8px 10px}
#page-login .ky-gift-callout{align-items:center;gap:11px;padding:10px 12px}
#page-login .ky-gift-callout>div{min-width:0;display:grid;gap:2px}
#page-login .ky-gift-callout .ky-gem{margin:0 2px 0 1px}
.ky-data-loading{width:100%;border:1px solid rgba(255,255,255,.58);border-radius:13px;padding:20px;text-align:center;color:var(--soft);font-size:11px;background:rgba(255,255,255,.12)}
#gemLedgerList .gem-row{animation:none!important;opacity:1!important;transform:none!important}
.vip-hint[data-ready="true"] .vip-bar span{transition:width .5s ease}
.vip-hint[data-complete="true"]{background:linear-gradient(135deg,rgba(229,210,174,.24),rgba(198,215,226,.18))}

.ky-modal-mask{position:fixed;inset:0;z-index:900;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(42,39,35,.34);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.ky-modal-mask.on{display:flex}
.ky-modal{width:min(100%,390px);max-height:min(720px,calc(100svh - 36px));overflow:auto;border:1px solid rgba(255,255,255,.75);border-radius:22px;padding:20px;background:rgba(242,237,228,.92);box-shadow:0 24px 60px rgba(54,46,38,.2)}
.ky-modal h3{margin:0 0 15px;text-align:center;font-family:var(--body);font-weight:400;letter-spacing:.14em;color:var(--ink-deep)}
.ky-modal .field{margin-bottom:10px;min-width:0}
.ky-modal .field input,.ky-modal .field select{box-sizing:border-box;min-width:0;width:100%;height:39px;border:1px solid rgba(255,255,255,.72);border-radius:10px;background:rgba(255,255,255,.3);padding:0 11px;color:var(--ink-deep);font-family:var(--body);font-size:12px;outline:none}
#profileBirth{appearance:none;-webkit-appearance:none;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ky-modal .field input:focus,.ky-modal .field select:focus{border-color:rgba(127,163,189,.72);box-shadow:0 0 0 3px rgba(127,163,189,.13)}
.ky-modal-actions{display:flex;gap:9px;margin-top:14px}.ky-modal-actions .btn{flex:1}
.ky-modal-close{position:absolute;top:10px;right:11px;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--soft);font:300 22px/1 var(--body);cursor:pointer;-webkit-tap-highlight-color:transparent}.ky-modal-close:hover{background:rgba(255,255,255,.3);color:var(--ink-deep)}
.ky-booking-choice{position:relative;width:min(84vw,342px)!important;overflow:hidden!important;padding:27px 22px 23px!important;background:linear-gradient(145deg,rgba(245,238,226,.98),rgba(242,232,220,.97) 54%,rgba(245,231,228,.96))!important;border-color:rgba(255,255,255,.88)!important;box-shadow:0 28px 72px rgba(75,57,42,.22)!important}.ky-booking-choice:before{content:'';position:absolute;inset:auto -50px -70px auto;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(195,145,101,.18),transparent 68%);pointer-events:none}.ky-booking-choice h3{margin:7px 0 19px!important;font-size:18px!important;letter-spacing:.14em!important}.ky-booking-kicker{text-align:center;color:#9a704b;font-size:8px;letter-spacing:.14em}.ky-booking-orbit{position:relative;width:48px;height:48px;margin:0 auto 10px;display:grid;place-items:center;color:#aa7f79;font-size:18px}.ky-booking-orbit i,.ky-booking-orbit:before{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid rgba(181,132,107,.35);transform:rotate(18deg)}.ky-booking-orbit:before{inset:7px;border-color:rgba(195,165,101,.44);transform:rotate(-22deg)}.ky-booking-orbit span{filter:drop-shadow(0 2px 7px rgba(177,128,116,.28))}.ky-booking-choice .ky-modal-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin:0!important}.ky-booking-option{position:relative;min-height:54px;width:100%;display:grid;grid-template-columns:34px 1fr 18px;align-items:center;gap:10px;padding:9px 12px;border:1px solid rgba(255,255,255,.84);border-radius:15px;background:rgba(255,250,243,.42);box-shadow:0 7px 20px rgba(88,63,43,.055);color:var(--ink-deep);font:inherit;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.ky-booking-option:hover{transform:translateY(-1px);border-color:rgba(195,151,111,.5);background:rgba(255,251,245,.65)}.ky-booking-option-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:rgba(195,165,101,.14);color:#98724f;font-size:15px}.ky-booking-option.fresh .ky-booking-option-icon{background:rgba(177,128,116,.13);color:#9c716d}.ky-booking-option b{font-weight:500;letter-spacing:.14em;font-size:12px}.ky-booking-option-arrow{color:#9a704b;font-size:21px;font-weight:200}
.ky-gift-birthday{position:relative;width:min(84vw,342px)!important;overflow:visible!important;padding:28px 22px 22px!important;background:linear-gradient(145deg,rgba(245,238,226,.98),rgba(242,232,220,.97) 58%,rgba(245,231,228,.96))!important;border-color:rgba(255,255,255,.88)!important;box-shadow:0 28px 72px rgba(75,57,42,.22)!important}.ky-gift-birthday h3{margin:7px 0 8px!important;font-size:17px!important;letter-spacing:.14em!important}.ky-birthday-kicker{text-align:center;color:#9a704b;font-size:8px;letter-spacing:.14em}.ky-birthday-copy{max-width:270px;margin:0 auto 17px;text-align:center;color:var(--soft);font-size:10px;line-height:1.9;letter-spacing:.14em}.ky-gift-birthday .field label{display:block;margin-bottom:6px;color:#82786c;font-size:9px;letter-spacing:.14em}.ky-gift-birthday .ky-date-input{text-align:center;letter-spacing:.14em}.ky-gift-birthday .ky-modal-actions{margin-top:16px}
.ky-action-loading{position:fixed;inset:0;z-index:1900;display:grid;place-content:center;justify-items:center;gap:14px;background:linear-gradient(145deg,rgba(231,238,242,.94),rgba(244,232,234,.94) 51%,rgba(242,234,215,.94));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s ease;color:var(--ink-deep)}.ky-action-loading.on{opacity:1;visibility:visible;pointer-events:auto}.ky-action-loading .ky-action-aura{width:72px;height:72px}.ky-action-loading .ky-entry-wordmark{width:min(136px,38vw)}.ky-action-loading .ky-entry-line{font-size:10px}
.ky-empty-line{width:100%;margin:12px 0;padding:3px 4px;text-align:center;color:var(--soft);font-size:10px;line-height:1.8;letter-spacing:.14em}

.ky-avatar-stage{position:relative;width:240px;height:240px;margin:0 auto 15px;border-radius:50%;overflow:hidden;border:1px solid rgba(255,255,255,.82);background:rgba(255,255,255,.26);touch-action:none}
.ky-avatar-stage canvas{position:absolute;inset:0;width:100%;height:100%;user-select:none;pointer-events:none}
.ky-avatar-controls{display:grid;gap:10px}.ky-avatar-controls label{display:grid;grid-template-columns:55px 1fr;align-items:center;gap:10px;font-size:10px;color:var(--soft)}
.ky-avatar-controls input[type="range"]{width:100%;accent-color:var(--sand-deep)}
.m-avatar.hasimg{background-repeat:no-repeat}
.m-avatar .ky-avatar-image{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;transform-origin:center;pointer-events:none}.m-avatar .ava-cam{z-index:2}

#page-booking .ck-btn{display:none}
#page-booking .ck-btn.teacher-ready{display:flex!important}
#bkMic.ky-voice-live{color:#b65766;background:rgba(255,255,255,.35);box-shadow:0 0 0 5px rgba(182,87,102,.1);animation:kyVoicePulse 1.2s ease-in-out infinite}
#bkMic.ky-voice-connecting{opacity:.55;pointer-events:none}
.bubble.voice-live{display:flex;align-items:center;gap:8px}.bubble.voice-live:before{content:"◉";color:#b65766;font-size:9px}
.bubble.voice-message{display:grid;gap:7px;min-width:min(270px,78vw)}.bubble.voice-message .voice-label{font-size:9px;letter-spacing:.14em;opacity:.68}.bubble.voice-message audio{display:block;width:100%;height:34px}
.ky-message-alert{position:fixed;right:18px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:850;border:1px solid rgba(195,165,101,.6);border-radius:999px;background:rgba(248,244,236,.94);box-shadow:0 10px 28px rgba(68,57,44,.18);padding:9px 15px;color:var(--ink-deep);font:500 11px/1 var(--body);letter-spacing:.14em;display:flex;align-items:center;gap:8px;animation:kyAlertFloat 1.6s ease-in-out infinite}.ky-message-alert span{width:8px;height:8px;border-radius:50%;background:#b65766;box-shadow:0 0 0 5px rgba(182,87,102,.12)}
#resumeChat.ky-new-message{position:relative;overflow:visible;animation:kyAlertGlow 1.4s ease-in-out infinite}
#resumeChat.ky-new-message::after{content:'New';position:absolute;right:-7px;top:-8px;min-width:26px;height:16px;padding:0 5px;display:flex;align-items:center;justify-content:center;border-radius:99px;background:#b18aa4;color:#fff;font:600 8px/1 var(--body);letter-spacing:.14em;box-shadow:0 4px 10px rgba(111,82,105,.22);animation:kyNewBadge 1.5s ease-in-out infinite}
.ring-btn.ky-new-message{overflow:visible;border-color:rgba(177,138,164,.68);box-shadow:0 0 0 0 rgba(177,138,164,.18);animation:kyBookingAlert 1.45s ease-in-out infinite}
.ring-btn.ky-new-message::after{content:'New';position:absolute;right:-8px;top:-5px;min-width:25px;height:15px;padding:0 4px;display:flex;align-items:center;justify-content:center;border-radius:99px;background:#b18aa4;color:#fff;font:600 8px/1 var(--body);letter-spacing:.14em;box-shadow:0 4px 10px rgba(111,82,105,.22);animation:kyNewBadge 1.5s ease-in-out infinite}
@keyframes kyNewBadge{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes kyBookingAlert{0%,100%{box-shadow:0 0 0 0 rgba(177,138,164,.08)}50%{box-shadow:0 0 0 9px rgba(177,138,164,.15)}}
.ck-qline{display:flex;align-items:flex-start;gap:6px;line-height:1.65}.ck-qline>.ck-urgent-choice{margin-left:auto;flex:none}.ck-urgent-choice{border:1px solid rgba(195,165,101,.5);border-radius:8px;background:rgba(255,255,255,.18);color:var(--soft);padding:2px 6px;font:inherit;font-size:9px;white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.ck-urgent-choice .cb{width:13px;height:13px;margin:0}.ck-urgent-choice.on{color:#8a6a33;background:rgba(195,165,101,.14)}.ck-help{flex:none;width:18px;height:18px;border-radius:50%;border:1px solid rgba(138,131,120,.5);background:rgba(255,255,255,.2);color:var(--soft);font:500 10px/1 var(--body);cursor:pointer;padding:0}.ck-urgent-help{margin:0 0 10px;padding:9px 11px;border:1px solid rgba(195,165,101,.42);border-radius:11px;background:rgba(195,165,101,.08);font-size:10px;line-height:1.7;color:var(--ink)}.ck-item.locked{cursor:default}.ck-item.locked>.cb{opacity:.75}.ck-item.locked .ck-urgent-choice{pointer-events:none}.ck-draw-row{display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));gap:5px;align-items:center;margin-top:8px;padding-top:8px;border-top:1px dashed rgba(138,131,120,.25)}.ck-draw-row>span{font-size:9px;color:var(--soft);white-space:nowrap}.ck-draw-row input{min-width:0;width:100%;height:29px;border:1px solid rgba(255,255,255,.78);border-radius:8px;background:rgba(255,255,255,.28);text-align:center;color:var(--ink-deep);font:inherit;font-size:10px;padding:2px}.ck-draw-row input::placeholder{font-size:8px;color:var(--soft)}
@keyframes kyVoicePulse{50%{box-shadow:0 0 0 9px rgba(182,87,102,.05)}}@keyframes kyAlertFloat{50%{transform:translateY(-4px)}}@keyframes kyAlertGlow{50%{box-shadow:0 0 0 7px rgba(195,165,101,.12)}}

/* Stable app viewport: the outer stage stays centered while each page starts at the same top line. */
.page.active{display:flex;align-items:center;justify-content:center;min-height:100svh}
.page.active>.screen{flex:0 0 auto;width:100%;height:calc(100svh - 130px);max-height:790px;min-height:480px;overflow-y:auto;overscroll-behavior:contain;justify-content:flex-start!important;padding-top:clamp(32px,5svh,48px);padding-bottom:24px;scrollbar-width:none}
.page.active>.screen::-webkit-scrollbar{display:none}

.lesson-row.available{color:#667985}.lesson-row.completed{color:#5f8398}.lesson-check,.lesson-open{width:17px;height:17px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 17px;border:1px solid rgba(133,173,199,.56);background:rgba(230,243,250,.62);color:#63879d;font-size:10px}.course-access-state{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:2px 12px;border:1px solid rgba(133,173,199,.5);border-radius:999px;background:rgba(235,245,250,.58);color:#638298;font-size:10.5px;letter-spacing:.14em}.course-learning-progress{width:100%;margin-top:12px;padding:12px 14px;border-radius:15px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 14px;color:#708592}.course-learning-progress[hidden]{display:none}.course-learning-progress span{font-size:10.5px;letter-spacing:.14em}.course-learning-progress b{font-size:11px;font-weight:500}.course-learning-progress>i{grid-column:1/-1;height:5px;border-radius:999px;background:rgba(128,157,176,.16);overflow:hidden}.course-learning-progress>i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#aecce0,#c4b6d6);transition:width .5s ease}.course-lesson-status{width:100%;margin:-6px 0 10px;text-align:left;color:#8a9ba5;font-size:10px;letter-spacing:.14em}.video-box{overflow:hidden;cursor:default!important;background:rgba(245,249,251,.5)}.video-box video{display:block;width:100%;height:100%;object-fit:contain;background:#edf2f5}.course-video-pending{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#718794;text-align:center}.course-video-pending b{font-size:12px;font-weight:500;letter-spacing:.14em}.course-video-pending small{font-size:10px;color:#91a0a8}.course-lesson-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.course-lesson-actions .btn{width:100%;min-width:0;padding-inline:8px}.course-lesson-actions .btn[hidden]{visibility:hidden;display:block}.course-lesson-actions .btn:disabled{opacity:.55;cursor:default}
#page-home.active>.screen,#page-member.active>.screen,#page-login.active>.screen,#page-register.active>.screen,#page-forgot.active>.screen,#page-daily.active:not(.daily-has-result)>.screen,#page-join.active>.screen{justify-content:center!important}

#homeLoginButton,#resumeChat{min-width:150px;justify-content:center;margin-top:10px}#page-home .hero-badge{width:auto!important;height:min(26svh,152px)!important;max-width:min(42vw,148px)!important;object-fit:contain;animation:none!important;filter:drop-shadow(0 8px 20px rgba(74,74,74,.12))!important;opacity:1!important}#page-home .about-link{transform:translateY(-7px);margin-bottom:15px}#page-home #resumeChat,#page-home #homeLoginButton{margin-top:0}
#page-home .ky-policy-entry{display:inline-flex;align-items:center;justify-content:center;margin-top:9px;padding:5px 11px;border:1px solid rgba(255,255,255,.72);border-radius:99px;background:rgba(255,255,255,.18);color:#8b969c;text-decoration:none;font-size:8px;letter-spacing:.14em;box-shadow:0 6px 18px rgba(70,82,89,.045);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}#page-home .ky-policy-entry:active{border-color:rgba(132,168,188,.5);background:rgba(255,255,255,.42)}

.enter-bubs,.fbc-chat{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important;width:100%;align-items:stretch!important;pointer-events:auto!important}#aboutFb{grid-template-columns:1fr!important}.fbc-wrap{width:100%}#page-about .screen{max-width:420px!important;padding-left:clamp(42px,11.5vw,45px)!important;padding-right:clamp(42px,11.5vw,45px)!important}#page-about .about-card,#page-about .cred-list{background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}#page-about .about-card{padding:4px 2px 12px!important}#page-about .cred-list{padding:8px 2px!important}
.review-card{min-width:0;min-height:78px;display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.66);border-radius:15px;padding:10px;background:rgba(238,229,215,.66);box-shadow:0 6px 18px rgba(120,95,55,.08);animation:none!important;opacity:1!important;transform:none!important;color:#5c564c;font-size:11px;line-height:1.65;text-align:left}
.review-avatar{flex:0 0 34px;width:34px;height:34px;border-radius:50%;filter:blur(1.4px);opacity:.78;border:1px solid rgba(255,255,255,.75);background:radial-gradient(circle at 50% 34%,#e6c9b7 0 21%,transparent 22%),radial-gradient(ellipse at 50% 100%,#a9b9c0 0 45%,transparent 46%),linear-gradient(135deg,#ccb9a5,#8799a7)}
.review-avatar.av1{background:radial-gradient(circle at 50% 34%,#e8c5ae 0 21%,transparent 22%),radial-gradient(ellipse at 50% 100%,#b79aa9 0 45%,transparent 46%),linear-gradient(135deg,#d9c9bc,#a48295)}.review-avatar.av2{background:radial-gradient(circle at 50% 34%,#d9b49d 0 21%,transparent 22%),radial-gradient(ellipse at 50% 100%,#9698b1 0 45%,transparent 46%),linear-gradient(135deg,#c7a991,#777990)}.review-avatar.av3{background:radial-gradient(circle at 50% 34%,#eccbb5 0 21%,transparent 22%),radial-gradient(ellipse at 50% 100%,#9eae9b 0 45%,transparent 46%),linear-gradient(135deg,#d5c1ac,#83937f)}
.review-copy{min-width:0}.review-copy small{display:block;margin-top:4px;color:var(--soft);font-size:8.5px;line-height:1.4}

#page-daily .dlogo{width:82px!important;margin-bottom:25px!important}#page-daily .dlogo.sm{width:68px!important;margin-bottom:14px!important}#page-daily .ig-title{font-size:clamp(25px,6.6vw,32px)!important;margin-bottom:15px!important}#page-daily .ig-title.sm{font-size:clamp(22px,5.9vw,27px)!important}.daily-result-back{width:100%;margin-bottom:14px!important;align-self:flex-start}.daily-result-back .back-btn{margin-left:0}
#dailyResult .icon-actions.vfloat{position:static!important;inset:auto!important;transform:none!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));width:min(360px,100%);gap:4px!important;margin:20px auto 2px!important;padding:8px 10px!important;border:1px solid rgba(255,255,255,.66);border-radius:18px!important;background:rgba(239,232,220,.48);box-shadow:0 8px 24px rgba(82,68,46,.06);opacity:1!important;animation:none!important}
#dailyResult .icon-actions.vfloat .act-cell{min-width:0;padding:3px 0!important}#dailyResult .icon-actions.vfloat .act-btn{width:36px!important;height:36px!important}#dailyResult .icon-actions.vfloat .act-lbl{display:block!important;font-size:9px!important;letter-spacing:.14em}
.reveal-body{width:100%!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;font-size:12.5px!important}.reveal-body p{margin:0 0 15px}.hooks p,.hooks>div{font-weight:700!important}.daily-advice{margin-top:16px;padding:0;border:0;border-radius:0;background:transparent;text-align:left;line-height:1.95}.daily-advice b{display:block;margin-bottom:4px;color:#8a6a33;letter-spacing:.14em;font-weight:600}

.slot.filled .tcard{pointer-events:none}.slot.filled .slot-x{display:block!important;opacity:.88!important;bottom:-21px}.slot.filled{touch-action:manipulation}
#page-pricing .seg button{white-space:nowrap;line-height:1.2!important}
.ky-modal .field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238a8378' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}
.ky-date-input{cursor:pointer}.ky-front-calendar{box-sizing:border-box;position:fixed;z-index:940;width:282px;max-width:calc(100vw - 20px);padding:13px;border:1px solid rgba(195,165,101,.38);border-radius:19px;background:linear-gradient(150deg,rgba(251,248,242,.99),rgba(243,235,224,.99));box-shadow:0 22px 54px rgba(54,46,38,.2),inset 0 1px 0 rgba(255,255,255,.9)}.ky-front-calendar .cal-head{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:8px;align-items:center;margin-bottom:11px}.ky-front-calendar button{min-width:0;color:var(--ink);font:inherit;-webkit-tap-highlight-color:transparent}.ky-front-calendar .cal-nav{position:relative;width:34px;height:34px;padding:0;border:1px solid rgba(195,165,101,.28);border-radius:11px;background:rgba(255,255,255,.48);box-shadow:0 3px 10px rgba(87,71,48,.05);cursor:pointer}.ky-front-calendar .cal-nav::after{content:'';position:absolute;left:50%;top:50%;width:7px;height:7px;border-top:1.5px solid #8f7b59;border-right:1.5px solid #8f7b59}.ky-front-calendar .cal-nav.prev::after{transform:translate(-35%,-50%) rotate(-135deg)}.ky-front-calendar .cal-nav.next::after{transform:translate(-65%,-50%) rotate(45deg)}.ky-front-calendar .cal-nav:active{background:rgba(195,165,101,.12);transform:scale(.96)}.ky-front-calendar .cal-switches{display:grid;grid-template-columns:1.22fr .78fr;gap:6px}.ky-front-calendar .cal-switch{display:flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 10px;border:1px solid rgba(195,165,101,.28);border-radius:11px;background:rgba(255,255,255,.48);box-shadow:0 3px 10px rgba(87,71,48,.05);font-size:10.5px;letter-spacing:.14em;cursor:pointer}.ky-front-calendar .cal-switch i{width:6px;height:6px;margin-top:-3px;border-right:1.4px solid #9a8560;border-bottom:1.4px solid #9a8560;transform:rotate(45deg);transition:.2s}.ky-front-calendar .cal-switch[aria-expanded=true]{border-color:rgba(195,165,101,.58);background:rgba(195,165,101,.12);color:#826633}.ky-front-calendar .cal-switch[aria-expanded=true] i{margin-top:3px;transform:rotate(225deg)}.ky-front-calendar .cal-menu{position:absolute;z-index:2;left:13px;right:13px;top:58px;height:220px;box-sizing:border-box;padding:11px;border:1px solid rgba(195,165,101,.26);border-radius:14px;background:rgba(250,246,239,.985);box-shadow:0 12px 30px rgba(67,54,37,.14);overflow:hidden}.ky-front-calendar .cal-menu-title{display:block;margin:0 3px 8px;color:#9a8560;font-size:8.5px;letter-spacing:.14em}.ky-front-calendar .cal-year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;height:182px;overflow:auto;padding:1px 3px 1px 1px;scrollbar-width:thin;scrollbar-color:rgba(195,165,101,.38) transparent}.ky-front-calendar .cal-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.ky-front-calendar .cal-menu-option{height:30px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--soft);font-size:10px;cursor:pointer}.ky-front-calendar .cal-menu-option:hover,.ky-front-calendar .cal-menu-option.on{border-color:rgba(195,165,101,.34);background:rgba(195,165,101,.13);color:#826633}.ky-front-calendar .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.ky-front-calendar .dow{text-align:center;color:var(--soft);font-size:8px;padding:3px}.ky-front-calendar .day{height:30px;border:0;background:transparent;border-radius:9px;font-size:10px;cursor:pointer}.ky-front-calendar .day:hover,.ky-front-calendar .day.on{background:rgba(195,165,101,.18);color:#8a6a33}.ky-front-calendar .blank{height:30px}

#page-checkout .co-bank-account{display:inline-flex;align-items:center;gap:7px}#page-checkout .co-copy-btn{height:26px;padding:0 10px;border:1px solid rgba(195,165,101,.34);border-radius:9px;background:rgba(255,255,255,.35);color:#8a6a33;font:inherit;font-size:9.5px;letter-spacing:.14em;cursor:pointer;transition:.2s}#page-checkout .co-copy-btn.copied{border-color:rgba(127,163,189,.48);background:rgba(127,163,189,.11);color:#55758b}

.ky-chat-row{display:flex;align-items:flex-end;gap:7px;width:100%;min-width:0;margin:6px 0;cursor:default;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:transform .18s ease,filter .18s ease}.ky-chat-row.ky-long-pressed{transform:scale(.985);filter:brightness(.96)}.ky-chat-row.member{justify-content:flex-end}.ky-chat-row .bubble{max-width:100%;margin:0!important;overflow-wrap:anywhere;word-break:break-word}.ky-chat-row.member .bubble{border-radius:14px 14px 4px 14px!important}.ky-chat-row.teacher .bubble,.ky-chat-row.assistant .bubble{border-radius:14px 14px 14px 4px!important}.ky-chat-row.teacher .bubble{background:rgba(213,179,205,.14)!important}.ky-chat-row.ky-message-pending{opacity:.66}.ky-chat-avatar{flex:0 0 28px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.72);font-size:9px;color:var(--soft);overflow:hidden}.ky-chat-avatar img{width:100%;height:100%;object-fit:cover;transform-origin:center}.ky-chat-row.member .ky-chat-avatar{order:2}.ky-chat-content{min-width:0;max-width:min(76%,360px)}.ky-chat-sender{display:block;margin:0 5px 3px;color:var(--soft);font-size:8.5px;letter-spacing:.14em}.ky-chat-row.member .ky-chat-sender{text-align:right}.ky-chat-time{display:block;margin-top:3px;font-size:8px;color:var(--soft);text-align:right}.ky-chat-row.teacher .ky-chat-time,.ky-chat-row.assistant .ky-chat-time{text-align:left}.ky-chat-quote{display:block;margin-bottom:5px;padding:5px 7px;border-left:2px solid rgba(127,163,189,.72);border-radius:5px;background:rgba(255,255,255,.24);font-size:9px;line-height:1.5;opacity:.78}.ky-reply-action{position:fixed;z-index:1250;display:none;align-items:center;gap:6px;min-width:76px;height:38px;padding:0 15px;border:1px solid rgba(255,255,255,.84);border-radius:19px;background:rgba(246,241,233,.97);box-shadow:0 8px 22px rgba(54,46,38,.18);color:var(--ink-deep);font:inherit;font-size:10px;letter-spacing:.14em;cursor:pointer;-webkit-tap-highlight-color:transparent}.ky-reply-action.on{display:flex}.ky-reply-action>svg{width:17px;height:17px;color:#7f9fb8}.ky-reply-action>b{font-weight:500}.ky-reply-bar{box-sizing:border-box;display:none;align-items:center;gap:10px;width:calc(100% - 24px);min-width:0;margin:0 12px 7px;padding:10px 11px 12px 14px;border:1px solid rgba(127,163,189,.38);border-bottom:4px solid rgba(127,163,189,.72);border-radius:16px;background:rgba(255,255,255,.34);box-shadow:0 7px 20px rgba(67,79,88,.07);color:var(--soft)}.ky-reply-bar.on{display:flex}.ky-reply-card-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px;overflow:hidden}.ky-reply-card-copy>b{font-size:9px;font-weight:600;line-height:1.2;letter-spacing:.14em;color:#5f7d94}.ky-reply-card-copy>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.5;color:var(--ink)}.ky-reply-bar>button{flex:0 0 28px;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.3);color:var(--soft);font:300 16px/1 var(--body);cursor:pointer;-webkit-tap-highlight-color:transparent}
.ky-chat-reading-card{display:flex;width:100%;min-width:190px;padding:3px 1px;border:0;background:transparent;color:#666;text-align:left;font:inherit;cursor:pointer;flex-direction:column;gap:4px}.ky-chat-reading-card small{color:#7891a0;font-size:8.5px;letter-spacing:.14em}.ky-chat-reading-card b{font-size:11px;font-weight:600;line-height:1.5}.ky-chat-reading-card span{display:-webkit-box;overflow:hidden;color:#7d8589;font-size:9px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ky-chat-reading-card i{align-self:flex-end;color:#6e91a6;font-size:9px;font-style:normal;letter-spacing:.14em}
#page-booking.active{height:100svh;min-height:100svh;max-height:100svh;overflow:hidden}
#page-booking .bk-topbar,#page-booking .bk-inputbar{box-sizing:border-box;width:100%;min-width:0}
#page-booking #bkChat{box-sizing:border-box;width:100%;min-height:0;overflow-x:hidden}
#page-booking .bk-title,#page-booking .bk-who{min-width:0}
#page-booking .bk-who b,#page-booking .bk-who small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#page-booking .ky-conversation-clear{flex:0 0 34px;width:34px;height:34px;margin-left:-3px;border:1px solid rgba(255,255,255,.58);border-radius:12px;background:rgba(255,255,255,.22);color:#7894a5}#page-booking .ky-conversation-clear svg{width:16px;height:16px}.ky-conversation-cleared{box-sizing:border-box;display:grid;justify-items:center;align-content:center;gap:7px;min-height:100%;padding:36px 28px;text-align:center;color:#6c8391}.ky-conversation-cleared>span{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(127,163,189,.36);border-radius:16px;background:rgba(235,244,248,.38)}.ky-conversation-cleared svg{width:21px;height:21px}.ky-conversation-cleared b{font-size:12px;font-weight:500;letter-spacing:.14em}.ky-conversation-cleared small{max-width:280px;color:#89969d;font-size:9.5px;line-height:1.8;letter-spacing:.14em}.ky-conversation-clear-modal{text-align:center}.ky-conversation-clear-modal>p{color:#7f878c;font-size:10.5px;line-height:1.85}.ky-conversation-clear-mark{display:grid;place-items:center;width:42px;height:42px;margin:2px auto 13px;border:1px solid rgba(127,163,189,.3);border-radius:50%;background:rgba(255,255,255,.28);color:#698da5;box-shadow:none}.ky-conversation-clear-mark svg{width:20px;height:20px}.ky-password-editor .ky-profile-form{grid-template-columns:1fr}
#page-booking .bk-inputbar textarea{width:0;min-width:0;height:40px;min-height:40px!important;max-height:84px!important;box-sizing:border-box!important;background:rgba(108,122,132,.075)!important;border-color:rgba(108,122,132,.08)!important;box-shadow:none!important;resize:none!important;overflow-y:auto}
#page-booking .bk-inputbar{padding-bottom:calc(20px + env(safe-area-inset-bottom))!important}
#page-m-history-view.active{height:100svh!important;min-height:100svh!important;max-height:100svh!important;overflow:hidden!important;padding:0!important;box-sizing:border-box}#page-m-history-view .bk-topbar{flex:0 0 auto;width:100%;min-width:0;box-sizing:border-box}#page-m-history-view .chat{flex:1;min-height:0;width:100%;box-sizing:border-box;overflow-y:auto!important;overflow-x:hidden!important;padding:18px clamp(16px,5vw,26px) calc(26px + env(safe-area-inset-bottom))!important;overscroll-behavior:contain}#page-m-history-view .ky-chat-row{min-width:0;max-width:100%}#page-m-history-view .ky-chat-content{max-width:min(76%,480px)}#page-m-history-view .bubble{box-sizing:border-box;max-width:100%!important;overflow-wrap:anywhere;word-break:break-word}#page-m-history-view .ky-empty-line{margin:auto}
.ky-sound-toggle{display:none!important}@keyframes kyMusicPulse{50%{transform:scale(1.35);opacity:0}}
.gift-head,.gift-head:hover,.gift-head:focus,.gift-head:active{position:relative;background:transparent!important;outline:none!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent}.gift-head.has-claimable-gift:after{content:'';position:absolute;top:3px;right:2px;width:7px;height:7px;border-radius:50%;background:#d84e56;border:2px solid rgba(245,240,231,.95);box-shadow:0 0 0 0 rgba(216,78,86,.42);animation:kyGiftDot 1.5s ease-out infinite}
.join-card{width:100%;position:relative;appearance:none;-webkit-appearance:none;font-family:var(--body);color:inherit;cursor:pointer}.join-card .corner-bub{top:9px!important;right:11px!important;left:auto!important;min-width:26px!important;height:16px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0 7px!important;border:0!important;border-radius:99px!important;background:#b18aa4!important;color:#fff!important;font:600 8px/1 var(--body)!important;letter-spacing:.14em!important;box-shadow:0 4px 10px rgba(111,82,105,.22)!important}.join-card .corner-bub:before,.join-card .corner-bub:after{display:none!important}.join-card.is-claimable{border-color:rgba(195,165,101,.72)!important;animation:none!important}.join-card.is-claimable:after{content:'';position:absolute;inset:5px;border:1px solid rgba(195,165,101,.32);border-radius:inherit;pointer-events:none;animation:kyGiftRing 2.4s ease-in-out infinite}.join-card.is-claimable .corner-bub{background:#b18aa4!important;color:#fff!important;animation:kyNewBadge 1.5s ease-in-out infinite}.join-card.is-claimed{opacity:.82}.join-reading{width:100%;margin-top:16px;padding-top:17px;border-top:1px dashed rgba(195,165,101,.45);text-align:left}.join-reading-head{display:grid;gap:3px;margin-bottom:11px}.join-reading-head span{font-size:8px;letter-spacing:.14em;color:var(--sand-deep)}.join-reading-head b{font:500 15px/1.5 var(--body);letter-spacing:.14em;color:var(--ink-deep)}.join-reading>p{font-size:11.5px;line-height:2.05;color:#5c564c;margin:0}.join-reading-lock{position:relative;margin-top:15px;padding:13px 12px;text-align:center;overflow:hidden;border-top:1px solid rgba(195,165,101,.26)}.join-reading-blur{font-size:10.5px;line-height:1.9;color:#6f695f;filter:blur(4px);opacity:.55;user-select:none}.join-reading-lock .btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:5px;white-space:nowrap;background:rgba(245,239,229,.93);box-shadow:0 6px 18px rgba(70,58,42,.12)}.join-reading-lock .btn svg{width:13px;height:13px}@keyframes kyGiftRing{0%,100%{transform:scale(.985);opacity:.35}50%{transform:scale(1.025);opacity:1;box-shadow:0 0 0 5px rgba(195,165,101,.07)}}@keyframes kyGiftDot{0%,100%{box-shadow:0 0 0 0 rgba(216,78,86,.36)}55%{box-shadow:0 0 0 6px rgba(216,78,86,0)}}
/* Claimable welcome gifts keep the original card still; only the outer colour breathes. */
.join-card.is-claimable{border-color:rgba(177,138,164,.62)!important;transform:none!important;animation:kyGiftClaimGlow 1.4s ease-in-out infinite!important}
.join-card.is-claimable:after{content:none!important}
.join-card.is-claimable .corner-bub{animation:none!important}
@keyframes kyGiftClaimGlow{0%,100%{box-shadow:0 8px 22px rgba(65,56,48,.08),0 0 0 0 rgba(177,138,164,.06)}50%{box-shadow:0 8px 22px rgba(65,56,48,.08),0 0 0 9px rgba(177,138,164,.15)}}
.prog-info .pi-tx{flex:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.prog-info .pi-tx b{flex:1;min-width:190px}.prog-info .pi-tx .btn{font-size:9px;padding:4px 10px;white-space:nowrap}
#page-support.active{height:100svh;min-height:100svh;max-height:100svh;overflow:hidden}#page-support .bk-topbar,#page-support .bk-inputbar{box-sizing:border-box;width:100%;min-width:0}#page-support #suChat{box-sizing:border-box;width:100%;min-height:0;overflow-x:hidden;padding-left:clamp(16px,5vw,26px);padding-right:clamp(16px,5vw,26px)}#page-support .bk-title,#page-support .bk-who{min-width:0}#page-support .bk-who b,#page-support .bk-who small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#page-support .bk-inputbar input{width:0;min-width:0}#page-support .bubble,#page-support .chip-wrap,#page-support .rf-card{max-width:min(84%,520px);box-sizing:border-box}#page-support .rf-card{width:min(100%,520px);overflow-wrap:anywhere}
#page-support .bk-inputbar{padding-bottom:calc(20px + env(safe-area-inset-bottom))!important}
#page-support .su-message-meta{display:block;margin-bottom:3px;font-size:10px;color:rgba(86,95,103,.64);letter-spacing:.14em}#page-support .su-message-time{display:block;margin-top:4px;text-align:right;font-size:9px;color:rgba(86,95,103,.54)}

@media(max-width:520px){
  .ky-register-card,.ky-forgot-card{padding:15px 18px 14px}
  .ky-modal{padding:17px}.ky-avatar-stage{width:210px;height:210px}
  #page-pricing .seg button{padding:6px 3px;font-size:11px;letter-spacing:.14em}
  .ck-draw-row{grid-template-columns:repeat(4,minmax(0,1fr))}.ck-draw-row>span{grid-column:1/-1}.ck-qline{flex-wrap:wrap}.ck-qline>.ck-urgent-choice{margin-left:0}
  .page.active>.screen{height:calc(100svh - 124px);min-height:420px;padding-top:30px}
  #page-booking .bk-inputbar{gap:6px;padding-left:10px;padding-right:10px}
  #page-booking .mic-btn,#page-booking .ck-btn{width:36px;height:36px;flex:0 0 36px}
  #page-booking .bk-send-btn{width:38px;height:38px;flex:0 0 38px}
  .review-card{min-height:72px;padding:8px;gap:7px;font-size:10px}.review-avatar{flex-basis:29px;width:29px;height:29px}
}
@media(prefers-reduced-motion:reduce){.ky-entry-aura i,.ky-entry-aura:before,.ky-entry-wordmark,.ky-entry-loading.needs-sound-unlock .ky-entry-line,.ky-sound-toggle.on:after{animation:none!important}.ky-entry-loading,.ky-entry-loading>*{transition-duration:.01ms!important}}
.ky-chat-message-action{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:42px;margin-top:13px;border:1px solid rgba(119,164,193,.48);border-radius:14px;background:rgba(232,245,251,.68);color:#5f829a;font:600 12px/1.2 var(--body);box-shadow:0 7px 18px rgba(100,140,166,.09);transition:background .2s ease,border-color .2s ease,transform .2s ease}.ky-chat-message-action:active{transform:scale(.98)}.ky-chat-message-action span{color:#81a7bf}

/* Member filters: the date picker is one icon inside the same segmented control. */
.member-filter-seg{position:relative;z-index:24;overflow:visible!important;width:100%;display:grid!important;align-items:stretch;gap:4px!important;margin-bottom:14px!important;padding:4px!important;border:1px solid rgba(255,255,255,.56)!important;border-radius:15px!important;background:rgba(255,255,255,.08)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.32)}
#page-m-progress .member-filter-seg{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px}#page-m-gems .member-filter-seg{grid-template-columns:repeat(3,minmax(0,1fr)) 36px}
.member-filter-seg>button{box-sizing:border-box;min-width:0!important;height:36px!important;padding:0 7px!important;border:0!important;border-radius:11px!important;background:transparent!important;box-shadow:none!important;font-size:10.5px!important;letter-spacing:.14em!important}.member-filter-seg>button.on{background:rgba(255,255,255,.38)!important;box-shadow:0 3px 10px rgba(69,67,63,.05)!important;color:#617a87!important}
.progress-date-filter{position:relative;width:36px;min-width:36px;height:36px}
.progress-date-trigger{box-sizing:border-box;width:100%;height:100%;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:11px;outline:none;background:rgba(127,163,189,.07);box-shadow:none;color:var(--ink);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .2s,background .2s,box-shadow .2s}
.progress-date-trigger:hover,.progress-date-trigger[aria-expanded=true]{border-color:rgba(143,174,190,.34);background:rgba(255,255,255,.44);box-shadow:0 4px 12px rgba(72,83,88,.06)}
.progress-date-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:transparent!important;color:#809aaa!important}.progress-date-icon svg{width:15px;height:15px}.progress-date-label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.progress-date-menu{box-sizing:border-box;position:absolute;z-index:40;top:calc(100% + 8px);right:0;width:184px;display:none;padding:7px;border:1px solid rgba(195,165,101,.28);border-radius:16px;background:linear-gradient(150deg,rgba(251,248,242,.985),rgba(243,235,224,.985));box-shadow:0 18px 42px rgba(59,48,35,.16),inset 0 1px 0 rgba(255,255,255,.84);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.progress-date-filter.open .progress-date-menu{display:grid;gap:3px;animation:progressDateMenuIn .18s ease-out}
.progress-date-option{box-sizing:border-box;width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border:1px solid transparent;border-radius:11px;background:transparent;color:#756d62;font:inherit;font-size:10px;letter-spacing:.14em;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.progress-date-option:hover,.progress-date-option.on{border-color:rgba(195,165,101,.27);background:rgba(195,165,101,.11);color:#826633}.progress-date-option i{width:7px;height:7px;border-radius:50%;background:transparent;box-shadow:0 0 0 1px rgba(154,133,96,.3)}.progress-date-option.on i{background:#b79759;box-shadow:0 0 0 3px rgba(183,151,89,.12)}
.prog-panel .row-card[hidden]{display:none!important}
.progress-filter-empty{margin:12px 0 2px;color:var(--soft);font-size:10px;letter-spacing:.14em;text-align:center}
@keyframes progressDateMenuIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

/* The automated assistant uses chips only; message tools unlock after the teacher joins. */
.bk-assistant-name{font-weight:700;color:#5f84a0}
#page-booking .bk-inputbar.auto-locked textarea{opacity:.56;cursor:pointer;caret-color:transparent;background:rgba(108,122,132,.055)!important}
#page-booking .bk-inputbar .auto-locked{opacity:.38;filter:saturate(.55);box-shadow:none;cursor:pointer;transform:none}
#page-booking .bk-inputbar.auto-locked:focus-within textarea{outline:none}
.bk-search-toggle{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(255,255,255,.28);color:#66839a;box-shadow:0 7px 20px rgba(75,93,108,.06);cursor:pointer}.bk-search-toggle svg{width:17px;height:17px}.bk-search-panel{display:grid;grid-template-columns:18px minmax(0,1fr) 30px;align-items:center;gap:8px;max-height:0;overflow:hidden;opacity:0;padding:0 clamp(16px,5vw,26px);background:rgba(247,250,252,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:max-height .28s ease,opacity .22s ease,padding .28s ease;border-bottom:1px solid transparent}.bk-search-panel.on{max-height:68px;opacity:1;padding-top:9px;padding-bottom:9px;border-bottom-color:rgba(143,170,190,.18)}.bk-search-panel>svg{width:17px;height:17px;color:#7e9aae}.bk-search-panel input{min-width:0;width:100%;height:38px;border:1px solid rgba(142,168,188,.24);border-radius:14px;background:rgba(255,255,255,.5);padding:0 12px;color:#666;font:inherit;outline:none}.bk-search-panel input:focus{border-color:rgba(112,154,184,.62);box-shadow:0 0 0 3px rgba(112,154,184,.09)}.bk-search-panel button{width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.42);color:#7890a1;font-size:18px}.ky-search-hidden{display:none!important}.bk-restart-btn{color:#6e8ba0!important;border-color:rgba(126,160,185,.36)!important;background:rgba(237,245,250,.6)!important}.bk-restart-btn svg{width:17px;height:17px}.kyra-version-updating body{opacity:.92;transition:opacity .18s ease}
@media(max-width:350px){.page:not(#page-booking):not(#page-m-history-view):not(#page-support)>.screen,#page-about .screen{padding-left:36px!important;padding-right:36px!important}}

/* Mobile browser course layout: allow the document to grow instead of trapping
   dynamically loaded course cards inside a viewport-height flex box. */
#page-course .course-card{flex:0 0 auto;min-height:0}
#page-course .course-body{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;min-height:0}
#page-course .course-body p{min-height:0;overflow-wrap:anywhere}
#page-course .course-body>.rec-chip{justify-self:start;width:max-content;max-width:100%}
#page-course .course-foot{width:100%;min-width:0}
#page-course .course-link-foot{display:flex;justify-content:flex-end}
#page-course .course-btns{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
#page-course .course-trial-link{min-height:32px;padding:5px 4px;border:0;border-bottom:1px solid rgba(127,163,189,.42);background:transparent;color:#66859a;font:500 9.5px/1 var(--body);letter-spacing:.14em;cursor:pointer}
#page-course .course-trial-link:hover{color:#526f84;border-bottom-color:rgba(127,163,189,.72)}
#page-course-intro .screen{justify-content:center;overflow-y:auto;padding-bottom:30px}
.course-intro-media{box-sizing:border-box;width:100%;min-height:112px;margin:3px 0 19px;padding:18px 20px;border:1px solid rgba(255,255,255,.72);display:flex;align-items:center;gap:16px;text-align:left;color:#666;background:radial-gradient(circle at 82% 18%,rgba(177,138,164,.16),transparent 35%),linear-gradient(145deg,rgba(255,255,255,.34),rgba(220,234,241,.3));cursor:pointer;box-shadow:0 14px 34px rgba(74,91,104,.075)}
.course-intro-orbit{position:relative;width:54px;height:54px;display:grid;place-items:center;flex:0 0 54px;color:#6d8ca1}.course-intro-orbit:before,.course-intro-orbit i{content:'';position:absolute;inset:2px;border:1px solid rgba(127,163,189,.4);border-radius:50%;transform:rotate(18deg)}.course-intro-orbit i{inset:9px;border-color:rgba(177,138,164,.33);transform:rotate(-22deg)}.course-intro-orbit b{position:relative;font-size:14px;font-weight:400;transform:translateX(1px)}
.course-intro-media-copy{display:grid;gap:5px;min-width:0}.course-intro-media-copy small{font-size:7.5px;letter-spacing:.14em;color:#8ca3b2}.course-intro-media-copy b{font-size:13px;font-weight:500;line-height:1.55;letter-spacing:.14em;color:#666}
.course-intro-copy{margin-top:13px;color:#666;font-size:11px;line-height:2}.course-intro-copy p{margin:0 0 8px}.course-intro-points{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:13px}.course-intro-points>span{min-width:0;padding:12px 10px;border:1px solid rgba(255,255,255,.68);border-radius:14px;background:rgba(255,255,255,.22);text-align:left}.course-intro-points i{display:block;margin-bottom:7px;color:#7898ad;font:500 13px/1 var(--body)}.course-intro-points b{display:block;color:#666;font-size:9.5px;font-weight:500;line-height:1.55}.course-intro-points small{display:block;margin-top:4px;color:#899298;font-size:8px;line-height:1.55}.course-intro-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.course-intro-actions .btn{width:100%;min-height:40px}
#page-course-detail .course-full-price{box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:12px 16px;border-radius:14px;color:var(--ink-deep)}
#page-course-detail .course-full-price span{font-size:10.5px;letter-spacing:.14em;color:var(--soft)}
#page-course-detail .course-full-price strong{display:inline-flex;align-items:center;gap:6px;color:var(--blue-deep);font-size:13px;font-weight:400;letter-spacing:.14em}
#page-course-detail .course-full-price strong b{font-weight:400}
#page-course-detail .lv{overflow:hidden}
#page-course-detail .lv-head{min-height:48px;text-align:left}
#page-course-detail .lv-body-wrap{max-height:0}
#page-course-detail .lv.open .lv-body-wrap{max-height:720px}
#page-course-detail .lv-unlock-row{box-sizing:border-box;width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 13px 10px 15px;border-top:1px solid rgba(127,163,189,.16);background:rgba(255,255,255,.16)}
#page-course-detail .lv-unlock-price{min-width:0;display:flex;align-items:center;gap:9px;color:var(--soft)}
#page-course-detail .lv-unlock-price small{font-size:9px;letter-spacing:.14em;white-space:nowrap}
#page-course-detail .lv-unlock-price b{display:inline-flex;align-items:center;gap:4px;color:var(--blue-deep);font-size:11px;font-weight:500;letter-spacing:.14em}
#page-course-detail .lv-unlock-row .unlock-chip{min-height:30px;padding:4px 12px;border-color:rgba(127,163,189,.38);color:#67869a;background:rgba(255,255,255,.3);cursor:pointer}
#page-course-detail .lv-unlock-row .unlock-chip:disabled,#page-course-detail #courseFullUnlockButton:disabled{opacity:.56;cursor:not-allowed;filter:saturate(.55)}
@media(max-width:720px){
  #page-course.active{display:block!important;height:auto!important;min-height:100dvh!important;max-height:none!important;overflow:visible!important;padding-bottom:calc(88px + env(safe-area-inset-bottom))!important}
  #page-course.active>.screen{box-sizing:border-box!important;height:auto!important;min-height:calc(100dvh - 124px)!important;max-height:none!important;overflow:visible!important;justify-content:flex-start!important;padding-top:clamp(28px,5dvh,42px)!important;padding-bottom:32px!important}
  #page-course .course-card{position:relative;width:100%;overflow:hidden;margin-bottom:14px}
  #page-course .course-cover{height:auto;min-height:82px;padding:14px 16px}
  #page-course .course-body{padding:14px 16px 15px}
  #page-course .course-body>p{margin:6px 0 12px;line-height:1.85}
  #page-course .course-foot{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}
  #page-course .course-link-foot{grid-template-columns:minmax(0,1fr);justify-items:end}
  #page-course .course-btns{justify-content:flex-end;min-width:0;flex-wrap:wrap}
  #page-course .course-btns .btn{min-height:34px;padding:5px 13px}
  #page-course-intro.active{display:block!important;height:auto!important;min-height:100dvh!important;max-height:none!important;overflow:visible!important;padding-bottom:calc(88px + env(safe-area-inset-bottom))!important}
  #page-course-intro.active>.screen{box-sizing:border-box!important;height:auto!important;min-height:calc(100dvh - 124px)!important;max-height:none!important;justify-content:flex-start!important;padding-top:clamp(28px,5dvh,42px)!important}
}

/* Gem top-up cards use a vertical hierarchy so name, price and bonus never compete for one line. */
#pp-gem>.price-card{padding:10px!important}
#pp-gem #frontGiftPlans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#pp-gem #frontGiftPlans .price-row{min-width:0;min-height:104px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px;padding:13px 12px;border:1px solid rgba(255,255,255,.7);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.32),rgba(225,236,241,.2));box-sizing:border-box}
#pp-gem #frontGiftPlans .price-row+.price-row{border-top:1px solid rgba(255,255,255,.7)}
#pp-gem #frontGiftPlans .name{width:100%;min-width:0;color:#666;font-size:12px;font-weight:550;line-height:1.55;letter-spacing:.14em}
#pp-gem #frontGiftPlans .note{display:block;margin-top:4px;color:#8b9398;font-size:8.5px;font-weight:400;line-height:1.55;letter-spacing:.14em;white-space:normal}
#pp-gem #frontGiftPlans .amt{width:100%;display:flex;align-items:center;gap:5px;color:#66869b;font-size:13px;white-space:normal}
#pp-gem #frontGiftPlans .bonus{margin-left:auto;padding:2px 7px;border:1px solid rgba(177,138,164,.24);border-radius:99px;background:rgba(177,138,164,.09);color:#927386;font-size:8px;white-space:nowrap}
@media(max-width:350px){#pp-gem #frontGiftPlans{grid-template-columns:1fr}#pp-gem #frontGiftPlans .price-row{min-height:84px}}

/* Release 148: conversation find, gem artwork and member rewards */
.bk-search-panel{grid-template-columns:18px minmax(0,1fr) auto auto 30px;width:100%;box-sizing:border-box}.bk-search-panel .ky-search-count{min-width:38px;color:#7890a1;font-size:9px;text-align:center;white-space:nowrap}.bk-search-panel .ky-search-nav{display:flex;gap:3px}.bk-search-panel .ky-search-nav button{display:grid;place-items:center;width:27px;height:27px;border:1px solid rgba(132,162,184,.22);background:rgba(255,255,255,.42)}.bk-search-panel .ky-search-nav svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.bk-search-panel .ky-search-close{font-size:18px}.ky-search-mark{padding:0 2px;border-radius:4px;background:rgba(158,194,218,.38);color:#526f83}.ky-search-match{transition:box-shadow .25s ease}.ky-search-current>.bubble,.ky-search-current.bubble{box-shadow:0 0 0 2px rgba(112,160,193,.46),0 8px 22px rgba(91,130,156,.12)!important}.ky-conversation-clear-modal p{display:none}.ky-conversation-clear-modal h3{margin-bottom:20px}
.vip-next-reward{display:inline-flex;align-items:center;gap:5px;margin-top:7px;padding:4px 9px;border:1px solid rgba(131,166,188,.24);border-radius:99px;background:rgba(236,246,251,.48);color:#68879a;font-size:9px;letter-spacing:.14em}
#pp-gem #frontGiftPlans{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gem-box-card{position:relative;min-width:0;min-height:154px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;overflow:hidden;padding:8px 10px 13px;border:1px solid rgba(255,255,255,.76);border-radius:18px;background:linear-gradient(150deg,rgba(255,255,255,.36),rgba(223,236,244,.2));box-shadow:inset 0 1px rgba(255,255,255,.7),0 10px 24px rgba(82,103,116,.06);box-sizing:border-box}.gem-box-card img{width:112px;height:94px;object-fit:contain;object-position:center;mix-blend-mode:normal;filter:saturate(.9) brightness(1.03);pointer-events:none}.gem-box-card .name{color:#666;font-size:11px;font-weight:600;letter-spacing:.14em}.gem-box-card .amt{display:flex;align-items:center;gap:5px;color:#66869b;font-size:12px}.gem-box-card .bonus{margin-left:2px;padding:2px 6px;border-radius:99px;background:rgba(183,143,170,.11);color:#927386;font-size:8px}.member-tier-vertical{position:relative;padding-left:25px!important}.member-tier-vertical:before{content:"";position:absolute;left:18px;top:51px;bottom:25px;width:1px;background:linear-gradient(#a9c9de,#dcc6d3)}.member-tier-vertical .price-row{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 4px 14px 15px!important}.member-tier-vertical .price-row:before{content:"";position:absolute;left:-12px;width:7px;height:7px;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:#9ebfd4;box-shadow:0 0 0 2px rgba(158,191,212,.2)}.member-tier-vertical .name{display:flex!important;flex-direction:column;gap:3px}.member-tier-vertical .note{font-size:8.5px!important}.member-tier-vertical .amt{font-weight:600!important}
.co-picker{display:grid!important;gap:9px}.co-picker[style*="display:none"]{display:none!important}.co-pick-row{display:grid!important;grid-template-columns:74px minmax(0,1fr);grid-template-areas:"art info" "art control";align-items:center;gap:4px 12px!important;padding:9px 12px!important;border:1px solid rgba(255,255,255,.74)!important;border-radius:17px;background:rgba(255,255,255,.24);box-shadow:inset 0 1px rgba(255,255,255,.66)}.co-pick-art{grid-area:art;width:72px;height:68px;object-fit:contain;mix-blend-mode:normal;filter:saturate(.9) brightness(1.03)}.co-pick-info{grid-area:info;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.co-pick-title{color:#666;font-size:11.5px;letter-spacing:.14em}.co-pick-gem{margin:0!important;white-space:nowrap}.co-pick-ctrl{grid-area:control;justify-content:space-between!important;width:100%;gap:8px!important}.co-pick-qty{padding:2px;border:1px solid rgba(143,171,190,.2);border-radius:99px;background:rgba(255,255,255,.34)}.co-pick-qty .qty-btn{width:27px;height:27px}.co-pick-nt{color:#758b98!important}.co-pick-row .bonus{margin-left:2px;padding:2px 6px;border-radius:99px;background:rgba(183,143,170,.11);color:#927386;font-size:8px}
#joinMemberCta[hidden]{display:none!important}
.su-chat-row{display:flex;align-items:flex-end;gap:7px;margin:7px 0}.su-chat-row.me{flex-direction:row-reverse}.su-chat-row .bubble{margin:0!important}.su-chat-avatar{width:25px;height:25px;flex:0 0 25px;overflow:hidden;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(255,255,255,.45);box-shadow:0 4px 11px rgba(74,91,102,.08)}.su-chat-avatar img{width:100%;height:100%;object-fit:cover}.ky-chat-row .ky-chat-avatar img{object-fit:cover}
@media(max-width:360px){.bk-search-panel{grid-template-columns:16px minmax(0,1fr) auto 28px;gap:5px}.bk-search-panel .ky-search-nav{display:none}.gem-box-card{min-height:142px}.gem-box-card img{width:98px;height:84px}.co-pick-row{grid-template-columns:64px minmax(0,1fr)}.co-pick-art{width:62px;height:60px}}

/* Release 152: airy storybook gem illustrations and compact percentage rewards. */
.gem-box-card{min-height:166px;background:linear-gradient(150deg,rgba(255,255,255,.42),rgba(226,239,247,.18))}
.gem-box-card img{width:126px;height:106px;filter:saturate(.84) brightness(1.035) drop-shadow(0 8px 10px rgba(101,126,143,.08))}
.co-pick-art{filter:saturate(.84) brightness(1.035) drop-shadow(0 5px 7px rgba(101,126,143,.08))}
.member-tier-vertical [data-member-tier="loyal"] .amt,.member-tier-vertical [data-member-tier="vip"] .amt{gap:4px;color:#66869b;font-size:10px;line-height:1.35;text-align:right;white-space:nowrap}
@media(max-width:360px){.gem-box-card{min-height:154px}.gem-box-card img{width:110px;height:96px}.member-tier-vertical [data-member-tier="loyal"] .amt,.member-tier-vertical [data-member-tier="vip"] .amt{font-size:9px}}

/* Circular icons keep a visible breathing gap in every front-end action group. */
.icon-actions>button+button,.q-act-group>button+button,.bk-inputbar>button+button{margin-left:5px}

/* Member progress: the tier now belongs to the progress story, with a visible value and soft spark tail. */
.vip-progress-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.vip-progress-head .m-tier{display:inline-flex;align-items:center;min-height:20px;padding:2px 8px;border:1px solid rgba(255,255,255,.7);border-radius:99px;background:rgba(255,255,255,.22);color:#826e54;font-size:8.5px;letter-spacing:.14em}.vip-percent{color:#7e6f60;font:500 10px/1 var(--body);letter-spacing:.14em}.vip-bar{position:relative;overflow:visible!important;background:rgba(140,146,151,.16)!important;box-shadow:inset 0 1px 2px rgba(79,69,57,.08)}.vip-bar span{position:relative;min-width:7px;background:linear-gradient(90deg,rgba(207,188,150,.78),rgba(190,172,198,.82),rgba(154,187,205,.9))!important;box-shadow:0 0 10px rgba(164,192,207,.26)}.vip-bar span:after{content:'';position:absolute;right:-3px;top:50%;width:7px;height:7px;border-radius:50%;background:#f7fcff;transform:translateY(-50%);box-shadow:0 0 4px #fff,0 0 9px rgba(150,196,220,.9),-7px -4px 0 -2px rgba(255,239,192,.95),-10px 4px 0 -2px rgba(199,221,235,.9);animation:kyVipSpark 1.45s ease-in-out infinite}.vip-bar span:before{content:'';position:absolute;right:-9px;top:-6px;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.8) 0 8%,transparent 10%),radial-gradient(circle at 22% 76%,rgba(231,207,151,.9) 0 6%,transparent 8%),radial-gradient(circle at 78% 25%,rgba(163,199,219,.86) 0 5%,transparent 7%);filter:blur(.15px);animation:kyVipDust 1.8s linear infinite}@keyframes kyVipSpark{0%,100%{transform:translateY(-50%) scale(.76);opacity:.72}50%{transform:translateY(-50%) scale(1.18);opacity:1}}@keyframes kyVipDust{0%{transform:translateX(-2px) rotate(0);opacity:.45}50%{opacity:1}100%{transform:translateX(6px) rotate(26deg);opacity:.15}}

/* Quiet glass dropdown language: translucent, low-saturation, and paced to the site's motion rhythm. */
.progress-date-trigger{border-color:rgba(255,255,255,.72)!important;background:linear-gradient(145deg,rgba(255,255,255,.34),rgba(235,242,245,.2))!important;box-shadow:0 10px 28px rgba(67,80,87,.055),inset 0 1px 0 rgba(255,255,255,.75)!important;backdrop-filter:blur(16px) saturate(.9)}.progress-date-trigger:hover,.progress-date-trigger[aria-expanded=true]{border-color:rgba(151,177,190,.46)!important;background:rgba(255,255,255,.45)!important}.progress-date-icon{background:rgba(255,255,255,.22)!important;color:#809aaa!important}.progress-date-menu{display:grid!important;gap:3px;visibility:hidden;pointer-events:none;opacity:0;transform:translateY(-8px) scale(.985);transition:opacity .28s ease,transform .34s cubic-bezier(.2,.72,.2,1),visibility 0s linear .34s;border-color:rgba(255,255,255,.72)!important;background:linear-gradient(150deg,rgba(247,248,247,.88),rgba(229,237,240,.76))!important;backdrop-filter:blur(23px) saturate(.88)}.progress-date-filter.open .progress-date-menu{visibility:visible;pointer-events:auto;opacity:1;transform:none;transition-delay:0s;animation:none!important}.progress-date-option:hover,.progress-date-option.on{border-color:rgba(142,172,188,.24)!important;background:rgba(255,255,255,.31)!important;color:#637d8b!important}.progress-date-option.on i{background:#8faebe!important;box-shadow:0 0 0 3px rgba(143,174,190,.13)!important}

/* The draw ritual remains vertically anchored even before a result exists. */
#page-quick.active>.screen{justify-content:center!important}#page-quick #quickResult{margin-block:auto}
#page-booking .bk-who small{color:#7f9fb3;font-weight:500;letter-spacing:.14em}.detail-help-options{margin-top:5px}.peach-question-choice .b-chip:first-child{border-color:rgba(127,163,189,.4);background:rgba(232,241,245,.34)}

/* Install guide: four legible, near-native iPhone close-ups instead of abstract symbols. */
.ky-app-guide-panel{position:absolute;inset:0;overflow:hidden;border-radius:inherit;opacity:0;visibility:hidden;transform:translateX(10px);transition:opacity .22s ease,transform .32s cubic-bezier(.2,.72,.2,1),visibility 0s linear .32s;font-family:-apple-system,BlinkMacSystemFont,"SF Pro TC","PingFang TC",sans-serif}.ky-app-guide-panel.on{opacity:1;visibility:visible;transform:none;transition-delay:0s}.ky-app-guide-panel img{width:auto!important;height:auto!important;object-fit:contain!important}.ky-app-guide-panel[data-app-step="0"]>img{width:100%!important;height:100%!important;object-fit:cover!important}
.ky-ios-status{height:24px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;color:#666666;font-size:8px;font-weight:650;letter-spacing:.14em}.ky-ios-page-blur{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:18px;background:linear-gradient(145deg,#c8ccd3,#aeb5c0)}.ky-ios-page-blur i{border-radius:13px;background:rgba(255,255,255,.26);filter:blur(2px)}.ky-ios-page-blur i:first-child{grid-column:1/-1;height:54px}
.ky-ios-sheet{position:absolute;left:8px;right:8px;bottom:8px;padding:8px 11px 11px;border:1px solid rgba(255,255,255,.72);border-radius:22px;background:rgba(247,247,249,.97);box-shadow:0 14px 35px rgba(32,35,41,.24);color:#666666}.ky-ios-grabber{display:block;width:34px;height:4px;margin:0 auto 7px;border-radius:99px;background:#c6c6ca}.ky-ios-share-link{height:39px;display:flex;align-items:center;gap:9px;padding:0 7px 8px;border-bottom:1px solid #dedee2}.ky-ios-share-link img{width:31px!important;height:31px!important;border-radius:7px;background:#f6f5f1;box-shadow:0 1px 4px rgba(0,0,0,.12)}.ky-ios-share-link span{min-width:0;display:grid;gap:2px}.ky-ios-share-link b{font-size:10px;font-weight:600}.ky-ios-share-link small{max-width:205px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#77777d;font-size:7.5px}.ky-ios-action-row{position:relative;height:38px;display:flex;align-items:center;gap:11px;padding:0 8px;border-bottom:1px solid #e2e2e5;color:#666666;font-size:11px}.ky-ios-action-row:last-child{border-bottom:0}.ky-ios-action-row.target{margin:2px -3px;border:1px solid rgba(0,122,255,.24);border-radius:10px;background:rgba(0,122,255,.08);font-weight:600}.ky-ios-action-row>i{position:relative;width:19px;height:19px;flex:0 0 19px;color:#666666}.ky-ios-add-icon{border:1.4px solid currentColor;border-radius:5px}.ky-ios-add-icon:before,.ky-ios-add-icon:after{content:'';position:absolute;left:50%;top:50%;border-radius:2px;background:currentColor;transform:translate(-50%,-50%)}.ky-ios-add-icon:before{width:9px;height:1.4px}.ky-ios-add-icon:after{width:1.4px;height:9px}.ky-ios-copy-icon{border:1.3px solid currentColor;border-radius:4px;transform:translate(2px,-2px)}.ky-ios-copy-icon:after{content:'';position:absolute;left:-4px;top:4px;width:15px;height:15px;border:1.3px solid currentColor;border-radius:4px;background:#f7f7f9}.ky-ios-bookmark-icon{border:1.4px solid currentColor;border-radius:3px 3px 6px 6px}.ky-ios-tap{position:absolute;width:24px;height:24px;border:2px solid #f06478;border-radius:50%;background:rgba(240,100,120,.12);box-shadow:0 0 0 6px rgba(240,100,120,.08);animation:kyIosTap 1.4s ease-in-out infinite}.ky-ios-action-row .ky-ios-tap{right:7px;top:6px}
.ky-ios-confirm{background:#f2f2f6;color:#666666}.ky-ios-nav{height:43px;display:grid;grid-template-columns:60px 1fr 60px;align-items:center;border-top:1px solid #d8d8dc;border-bottom:1px solid #d8d8dc;background:rgba(249,249,251,.96);text-align:center}.ky-ios-nav b{font-size:11px}.ky-ios-nav button{position:relative;height:100%;border:0;background:transparent;color:#0878ef;font:500 10px -apple-system,BlinkMacSystemFont,"PingFang TC",sans-serif}.ky-ios-nav button:last-child{font-weight:700}.ky-ios-nav .ky-ios-tap{right:7px;top:8px}.ky-ios-app-preview{display:flex;align-items:flex-start;gap:12px;padding:22px 20px 16px}.ky-ios-app-preview img{width:62px!important;height:62px!important;flex:0 0 62px;border-radius:14px;background:#faf8f2;box-shadow:0 2px 8px rgba(0,0,0,.16)}.ky-ios-app-preview span{min-width:0;display:grid;gap:7px;padding-top:4px}.ky-ios-app-preview b{font-size:12px}.ky-ios-app-preview small{color:#75757c;font-size:8px;line-height:1.45}.ky-ios-confirm>p{margin:0 20px;padding-top:12px;border-top:1px solid #d8d8dc;color:#67676e;font-size:8.5px;line-height:1.65;text-align:left}
.ky-ios-home{background:linear-gradient(155deg,#c7ceda,#aaaec1 48%,#c9b8c7);color:#fff;text-shadow:0 1px 3px rgba(31,33,40,.38)}.ky-ios-home .ky-ios-status{color:#fff}.ky-ios-icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 15px;padding:16px 22px 0}.ky-ios-icon-grid>i{width:42px;height:42px;justify-self:center;border-radius:10px;background:linear-gradient(145deg,rgba(255,255,255,.8),rgba(222,225,234,.78));box-shadow:0 2px 5px rgba(35,38,48,.14)}.ky-ios-home-app{position:relative;display:grid;justify-items:center;gap:4px}.ky-ios-home-app img{width:42px!important;height:42px!important;border-radius:10px;background:#fbf8f1;box-shadow:0 4px 12px rgba(28,31,39,.28),0 0 0 3px rgba(255,255,255,.56)}.ky-ios-home-app b{width:64px;font-size:6.4px;font-weight:500;line-height:1.15;text-align:center}.ky-ios-home-app em{position:absolute;left:50%;top:21px;width:54px;height:54px;border:2px solid rgba(255,232,178,.94);border-radius:15px;transform:translate(-50%,-50%);box-shadow:0 0 0 7px rgba(255,239,195,.16),0 0 18px rgba(255,231,167,.75);animation:kyIosTap 1.6s ease-in-out infinite}.ky-ios-dock{position:absolute;left:36px;right:36px;bottom:14px;height:55px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;padding:0 10px;border:1px solid rgba(255,255,255,.38);border-radius:18px;background:rgba(237,239,245,.37);backdrop-filter:blur(13px)}.ky-ios-dock i{width:35px;height:35px;justify-self:center;border-radius:9px;background:rgba(255,255,255,.72)}.ky-ios-complete{position:absolute;right:12px;top:31px;padding:5px 9px;border-radius:99px;background:rgba(255,255,255,.86);box-shadow:0 4px 13px rgba(30,33,42,.15);color:#637d8b;text-shadow:none;font-size:7.5px;font-weight:650;letter-spacing:.14em}@keyframes kyIosTap{0%,100%{transform:scale(.84);opacity:.62}50%{transform:scale(1.08);opacity:1}}.ky-ios-home-app em{transform:translate(-50%,-50%) scale(.84)}@keyframes kyIosHomeTap{0%,100%{transform:translate(-50%,-50%) scale(.84);opacity:.62}50%{transform:translate(-50%,-50%) scale(1.08);opacity:1}}.ky-ios-home-app em{animation-name:kyIosHomeTap}

/* Cooler neutral light with slightly deeper blue, pearl and mauve auras. */
:root{--paper:#f1f3f4}
body{background:var(--paper)}
.blobs{filter:blur(68px) saturate(1.06)}
.blobs i:nth-child(1){background:radial-gradient(circle,rgba(126,169,202,.96),rgba(126,169,202,.32) 43%,transparent 70%)!important}
.blobs i:nth-child(2){background:radial-gradient(circle,rgba(222,231,237,.94),rgba(222,231,237,.3) 42%,transparent 69%)!important}
.blobs i:nth-child(3){background:radial-gradient(circle,rgba(188,143,177,.9),rgba(188,143,177,.3) 43%,transparent 70%)!important}
.blobs i:nth-child(4){opacity:.68;background:radial-gradient(circle,rgba(193,155,185,.72),rgba(193,155,185,.22) 42%,transparent 70%)!important}
.blobs i:nth-child(5){opacity:.64;background:radial-gradient(circle,rgba(213,226,233,.82),rgba(169,197,213,.2) 43%,transparent 70%)!important}
.blobs i:nth-child(6){opacity:.66;background:radial-gradient(circle,rgba(139,179,204,.72),rgba(139,179,204,.2) 43%,transparent 70%)!important}
#page-booking.active,#page-support.active,#page-m-history-view.active{background:rgba(241,243,244,.98)!important}
.ky-entry-loading{background:linear-gradient(145deg,#e7eef2,#f4e8ea 55%,#f8fafb)!important}.ky-action-loading{background:linear-gradient(145deg,rgba(231,238,242,.97),rgba(244,232,234,.94) 55%,rgba(248,250,251,.98))!important}
.ky-app-guide-next.is-share{width:42px;min-width:42px;padding:0;border-radius:50%;background:rgba(130,162,180,.88)}
.ky-app-guide-next.is-share span{display:none}.ky-app-guide-next.is-share svg{width:17px;height:17px}

/* One blue interaction state across the member-facing site. */
:root{--kyra-active-blue:#7fa3bd;--kyra-active-blue-deep:#5e7f95;--kyra-active-blue-border:rgba(127,163,189,.5);--kyra-active-blue-wash:rgba(127,163,189,.12)}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:rgba(127,163,189,.68)!important}
input:focus,textarea:focus,select:focus,.field input:focus,.fb-modal .fb-in:focus{border-color:var(--kyra-active-blue-border)!important;box-shadow:0 0 0 3px rgba(127,163,189,.11)!important}
.ky-front-calendar .cal-switch[aria-expanded=true],.ky-front-calendar .cal-menu-option:hover,.ky-front-calendar .cal-menu-option.on{border-color:rgba(127,163,189,.4)!important;background:var(--kyra-active-blue-wash)!important;color:var(--kyra-active-blue-deep)!important}.ky-front-calendar .day:hover,.ky-front-calendar .day.on{background:rgba(127,163,189,.18)!important;color:var(--kyra-active-blue-deep)!important}
.ck-urg.on,.ck-urgent-choice.on{border-color:var(--kyra-active-blue-border)!important;background:var(--kyra-active-blue-wash)!important;color:var(--kyra-active-blue-deep)!important}.ck-urg.on .cb,.ck-urgent-choice.on .cb{background:var(--kyra-active-blue)!important;border-color:var(--kyra-active-blue)!important}
.dk-card.sel{outline-color:var(--kyra-active-blue)!important;background:linear-gradient(150deg,#8faebe,#778fa0)!important}

/* Front switches use the same outlined blue control as the course trial switch. */
.toggle{box-sizing:border-box!important;width:42px!important;height:25px!important;border:1px solid rgba(127,163,189,.34)!important;border-radius:99px!important;background:rgba(127,163,189,.08)!important;box-shadow:none!important}
.toggle:after{top:3px!important;left:3px!important;width:17px!important;height:17px!important;box-shadow:0 2px 5px rgba(65,74,79,.14)!important;transition:transform .22s!important}
.toggle.on{border-color:rgba(127,163,189,.52)!important;background:rgba(127,163,189,.68)!important}.toggle.on:after{left:3px!important;transform:translateX(18px)}

/* Front text and member profile editor share one quiet, cool glass language. */
body{color:#666666}
button,input,textarea,select{color:#666666}
.ky-profile-editor{position:relative;width:min(86vw,354px)!important;overflow:visible!important;padding:27px 22px 22px!important;border-color:rgba(255,255,255,.8)!important;border-radius:25px!important;background:linear-gradient(145deg,rgba(247,249,250,.94),rgba(236,242,245,.9) 56%,rgba(244,235,241,.87))!important;box-shadow:0 28px 72px rgba(65,76,84,.19),inset 0 1px 0 rgba(255,255,255,.86)!important;backdrop-filter:blur(26px) saturate(.9);-webkit-backdrop-filter:blur(26px) saturate(.9)}
.ky-profile-editor:before,.ky-profile-editor:after{content:'';position:absolute;z-index:-1;border-radius:50%;pointer-events:none;filter:blur(4px)}.ky-profile-editor:before{right:-30px;bottom:-38px;width:135px;height:135px;background:radial-gradient(circle,rgba(178,211,229,.26),transparent 69%)}.ky-profile-editor:after{left:-26px;top:-32px;width:105px;height:105px;background:radial-gradient(circle,rgba(207,174,199,.2),transparent 70%)}
.ky-profile-editor .ky-modal-close{top:12px;right:13px;display:grid;place-items:center;color:#8c999f;font-size:19px}.ky-profile-editor .ky-modal-close:hover{background:rgba(255,255,255,.38);color:#668396}
.ky-profile-mark{position:relative;width:38px;height:38px;margin:0 auto 9px;display:grid;place-items:center}.ky-profile-mark:before,.ky-profile-mark:after,.ky-profile-mark i{content:'';position:absolute;border:1px solid rgba(127,163,189,.36);border-radius:50%}.ky-profile-mark:before{inset:3px 8px;transform:rotate(38deg)}.ky-profile-mark:after{inset:8px 3px;transform:rotate(-32deg);border-color:rgba(187,143,177,.3)}.ky-profile-mark i{inset:11px;border-color:rgba(255,255,255,.9);background:rgba(255,255,255,.34);box-shadow:0 3px 13px rgba(90,112,124,.12)}.ky-profile-mark span{position:relative;z-index:1;width:4px;height:4px;border-radius:50%;background:#83a7bd;box-shadow:0 0 0 4px rgba(131,167,189,.11)}
.ky-profile-editor h3{margin:0 0 18px!important;color:#666666!important;font-size:18px!important;letter-spacing:.14em!important}.ky-profile-form{display:grid;gap:11px}.ky-profile-editor .ky-profile-field{margin:0!important;display:grid;gap:6px}.ky-profile-editor .ky-profile-field>label{margin:0 0 0 3px;color:#7d8589;font-size:9px;letter-spacing:.14em}
.ky-profile-editor .ky-profile-field>input,.ky-profile-editor .ky-profile-date>input,.ky-profile-select-trigger{box-sizing:border-box;width:100%;height:45px!important;border:1px solid rgba(255,255,255,.78)!important;border-radius:14px!important;background:linear-gradient(145deg,rgba(255,255,255,.42),rgba(239,244,246,.24))!important;box-shadow:0 8px 22px rgba(70,83,91,.045),inset 0 1px 0 rgba(255,255,255,.76)!important;color:#666666!important;font-family:var(--body);font-size:11.5px;outline:none;transition:border-color .22s ease,background .22s ease,box-shadow .22s ease}
.ky-profile-editor .ky-profile-field>input,.ky-profile-editor .ky-profile-date>input{padding:0 13px!important}.ky-profile-editor input::placeholder{color:#9b9e9f}.ky-profile-editor .ky-profile-date{position:relative}.ky-profile-editor .ky-profile-date>input{padding-right:44px!important;cursor:pointer}.ky-profile-date>span{position:absolute;right:8px;top:50%;width:29px;height:29px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.64);border-radius:10px;background:rgba(255,255,255,.2);transform:translateY(-50%);pointer-events:none}.ky-profile-date>span:before{content:'';box-sizing:border-box;width:14px;height:13px;border:1.25px solid #7e9cad;border-radius:4px}.ky-profile-date>span:after{content:'';position:absolute;top:10px;width:12px;border-top:1.25px solid #7e9cad}.ky-profile-date>span i:before,.ky-profile-date>span i:after{content:'';position:absolute;top:6px;width:1.25px;height:4px;border-radius:2px;background:#7e9cad}.ky-profile-date>span i:before{left:10px}.ky-profile-date>span i:after{right:10px}
.ky-profile-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:9px}.ky-profile-select{position:relative;min-width:0}.ky-profile-select-trigger{-webkit-appearance:none;appearance:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px!important;text-align:left;cursor:pointer}.ky-profile-select-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ky-profile-select-trigger>i{width:7px;height:7px;flex:0 0 7px;border-right:1.2px solid #809aaa;border-bottom:1.2px solid #809aaa;transform:rotate(45deg) translateY(-2px);transition:transform .25s ease}.ky-profile-select-trigger[aria-expanded=true]{border-color:rgba(127,163,189,.48)!important;background:rgba(255,255,255,.53)!important;box-shadow:0 0 0 3px rgba(127,163,189,.1)!important}.ky-profile-select-trigger[aria-expanded=true]>i{transform:rotate(225deg) translate(-1px,-1px)}
.ky-profile-select-menu{position:absolute;z-index:8;left:0;right:0;bottom:calc(100% + 7px);display:grid;gap:3px;max-height:174px;overflow:auto;padding:6px;border:1px solid rgba(255,255,255,.82);border-radius:15px;background:linear-gradient(150deg,rgba(247,249,249,.96),rgba(228,238,242,.93));box-shadow:0 18px 42px rgba(57,69,77,.15),inset 0 1px 0 rgba(255,255,255,.8);backdrop-filter:blur(23px);-webkit-backdrop-filter:blur(23px);visibility:hidden;pointer-events:none;opacity:0;transform:translateY(7px) scale(.985);transform-origin:bottom center;transition:opacity .24s ease,transform .3s cubic-bezier(.2,.72,.2,1),visibility 0s linear .3s}.ky-profile-select-menu.on{visibility:visible;pointer-events:auto;opacity:1;transform:none;transition-delay:0s}.ky-profile-select-menu button{min-height:34px;border:1px solid transparent;border-radius:10px;background:transparent;color:#666666;font:500 10.5px/1 var(--body);letter-spacing:.14em;cursor:pointer}.ky-profile-select-menu button:hover,.ky-profile-select-menu button.on{border-color:rgba(142,172,188,.25);background:rgba(255,255,255,.38);color:#5e7f95}.ky-profile-mbti-menu{right:auto;width:176px;grid-template-columns:repeat(2,minmax(0,1fr))}.ky-profile-mbti-menu button:first-child{grid-column:1/-1}.ky-profile-editor .ky-modal-actions{margin-top:18px;gap:10px}.ky-profile-editor .ky-modal-actions .btn{min-height:42px;border-radius:13px!important}.ky-profile-editor .btn-line{border-color:rgba(127,163,189,.42)!important;background:rgba(127,163,189,.11)!important;color:#5e7f95!important}

/* Keep the consultation-progress calendar icon optically centered in its segment. */
#page-m-progress .progress-date-filter,#page-m-gems .progress-date-filter{box-sizing:border-box;display:flex;align-items:center;justify-content:center;align-self:center;justify-self:center;width:36px!important;min-width:36px!important;height:36px!important;margin:0!important;padding:0!important}
#page-m-progress .progress-date-trigger,#page-m-gems .progress-date-trigger{box-sizing:border-box!important;width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;line-height:0!important}
#page-m-progress .progress-date-icon,#page-m-gems .progress-date-icon{position:static!important;box-sizing:border-box!important;width:20px!important;height:20px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;line-height:0!important}
#page-m-progress .progress-date-icon svg,#page-m-gems .progress-date-icon svg{display:block!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;margin:0!important;transform:none!important}

.course-stream-player{display:block;width:100%;height:100%;border:0;background:#edf2f5}

@media(max-width:380px){.ky-profile-editor{width:min(88vw,340px)!important;padding:25px 18px 19px!important}.ky-profile-grid{grid-template-columns:1fr 1.12fr}.ky-profile-mbti-menu{width:166px}}

/* Shared consultation message actions: reply plus member-owned retract. */
.ky-reply-action{padding:4px!important;gap:0!important;min-width:0!important;height:auto!important;border-radius:21px!important;background:rgba(244,248,250,.97)!important;box-shadow:0 8px 22px rgba(54,66,74,.18)!important;cursor:default!important}
.ky-reply-action button{height:32px;display:flex;align-items:center;gap:5px;padding:0 11px;border:0;border-radius:16px;background:transparent;color:#657681;font:inherit;font-size:10px;letter-spacing:.14em;cursor:pointer}
.ky-reply-action button+button{border-left:1px solid rgba(127,163,189,.2);border-radius:0 16px 16px 0}
.ky-reply-action button:hover{background:rgba(127,163,189,.1)}
.ky-reply-action button[hidden]{display:none}
.ky-reply-action button svg{width:16px;height:16px;color:#7195ad}
.ky-reply-action button b{font-weight:500}
.ky-retract-choice{color:#8d6b77!important}.ky-retract-choice svg{color:#a78391!important}
.ky-message-retracted-copy{min-width:104px;color:#939ba0!important;background:rgba(255,255,255,.28)!important;border:1px dashed rgba(123,150,166,.36)!important;font-style:italic}
.ky-chat-edited{display:block;margin:3px 4px 0;color:var(--soft);font-size:7.5px;letter-spacing:.14em}.ky-chat-row.member .ky-chat-edited{text-align:right}

/* 諮詢對話分日與回到最新 */
#page-booking{position:relative}.ky-chat-date-separator{display:flex;align-items:center;gap:9px;width:100%;margin:9px 0 6px;color:#8194a1;font-size:9px;letter-spacing:.14em}.ky-chat-date-separator:before,.ky-chat-date-separator:after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(126,158,180,.25))}.ky-chat-date-separator:after{transform:scaleX(-1)}.ky-chat-date-separator span{padding:4px 10px;border:1px solid rgba(255,255,255,.7);border-radius:99px;background:rgba(255,255,255,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);white-space:nowrap}.ky-chat-jump-latest{position:absolute;z-index:14;right:16px;bottom:calc(72px + env(safe-area-inset-bottom));display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.82);border-radius:50%;background:rgba(234,243,248,.82);box-shadow:0 8px 24px rgba(76,103,122,.16),inset 0 1px rgba(255,255,255,.8);color:#66869c;opacity:0;transform:translateY(8px) scale(.92);pointer-events:none;transition:opacity .22s ease,transform .28s cubic-bezier(.22,.8,.24,1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.ky-chat-jump-latest.on{opacity:1;transform:none;pointer-events:auto}.ky-chat-jump-latest svg{width:18px;height:18px}
.ky-message-retract-modal{text-align:center}.ky-message-retract-modal>p{margin:8px auto 16px;max-width:260px;color:var(--soft);font-size:10.5px;line-height:1.8}.ky-message-retract-icon{width:48px;height:48px;margin:0 auto 9px;border:1px solid rgba(127,163,189,.26);border-radius:17px;background:rgba(127,163,189,.09);color:#7294aa;display:grid;place-items:center}.ky-message-retract-icon svg{width:23px;height:23px}

/* 36g 前台（2026-09-03，站主裁）：暈染底要在、光球留著留動、⛔ 沒有即時 filter。跟後台同一個根因（全螢幕 blur 層在動 × 玻璃每幀重取樣，回報 36d／36g）。
   電腦版（≥768px，本檔最後一段）＝§10：六團照原本的位置與色相，靜態底乘 0.5，光球換成預先模糊好的 PNG（畫布＝直徑 ×1.25）。
   手機版（<768px）＝§12 站主重裁：只留兩團、對角、加大、加糊、壓到幾乎看不見。⛔ 不再照原本的六團。
     ① 兩顆會動的光球：藍在左上、粉在右下，可見直徑 105vw（超過手機寬的一半），模糊佔直徑 30%（預先烤進 kyra-front-m-blue／pink.png，畫布＝直徑 ×2.2 裝外溢），
        兩團的模糊邊在畫面中央交疊 → 藍粉自然過渡。位移動畫沿用原本的 blob1／blob3（週期 34s／38s）。
     ② 靜態底：同兩個位置、同色相的 radial-gradient，⛔ 不動、⛔ 不模糊，只負責光球飄走時底不會空掉。
     ③ 第 2、4、5、6 顆在手機隱藏（電腦版那段再打開）。
   ⚠️ 選擇器要 (0,2,1)：本檔 :291–296 是 .blobs i:nth-child(n){background:…!important} 的縮寫，會把 repeat／size 一起重設，(0,1,1) 蓋不過去（第一次部署圖片就平鋪了）。 */
.blobs{filter:none!important;-webkit-filter:none!important;background:
  radial-gradient(circle 62vw at 16vw 20vh,rgba(126,169,202,0.17) 0%,rgba(126,169,202,0.065) 46%,transparent 74%),
  radial-gradient(circle 62vw at 86vw 78vh,rgba(188,143,177,0.155) 0%,rgba(188,143,177,0.06) 46%,transparent 74%)!important}
.blobs i:nth-child(n){display:block!important;border-radius:0!important;filter:none!important;background-color:transparent!important;background-repeat:no-repeat!important;background-size:100% 100%!important;background-position:center!important;will-change:transform}
.blobs i:nth-child(2),.blobs i:nth-child(4),.blobs i:nth-child(5),.blobs i:nth-child(6){display:none!important}
.blobs i:nth-child(1){width:231vw!important;height:231vw!important;left:-99.5vw!important;right:auto!important;top:calc(20vh - 115.5vw)!important;bottom:auto!important;opacity:0.68!important;background-image:url(/kyra-front-m-blue.png)!important}
.blobs i:nth-child(3){width:231vw!important;height:231vw!important;left:-29.5vw!important;right:auto!important;top:calc(78vh - 115.5vw)!important;bottom:auto!important;opacity:0.63!important;background-image:url(/kyra-front-m-pink.png)!important}
@media (min-width:768px){
.blobs{background:
  radial-gradient(circle 37vw at 17vw calc(37vw - 8vh),rgba(126,169,202,0.48) 0%,rgba(126,169,202,0.16) 43%,transparent 70%),
  radial-gradient(circle 33vw at calc(100% - 15vw) calc(24vh + 33vw),rgba(222,231,237,0.47) 0%,rgba(222,231,237,0.15) 42%,transparent 69%),
  radial-gradient(circle 44vh at calc(100% + 16vw - 44vh) calc(100% - 14vh),rgba(188,143,177,0.23) 0%,rgba(188,143,177,0.07) 43%,transparent 70%),
  radial-gradient(circle 29vh at calc(100% + 2vw - 29vh) calc(100% - 23vh),rgba(193,155,185,0.14) 0%,rgba(193,155,185,0.04) 42%,transparent 70%),
  radial-gradient(circle 19vw at 10vw calc(48vh + 19vw),rgba(213,226,233,0.26) 0%,rgba(169,197,213,0.06) 43%,transparent 70%),
  radial-gradient(circle 22.5vw at calc(100% - 11.5vw) calc(100% + 5vh - 22.5vw),rgba(139,179,204,0.24) 0%,rgba(139,179,204,0.07) 43%,transparent 70%)!important}
.blobs i:nth-child(2),.blobs i:nth-child(4),.blobs i:nth-child(5),.blobs i:nth-child(6){display:block!important}
.blobs i:nth-child(1){width:92.5vw!important;height:92.5vw!important;left:-29.25vw!important;top:calc(-8vh - 9.25vw)!important;opacity:1!important;background-image:url(/kyra-front-blob-1.png)!important}
.blobs i:nth-child(2){width:82.5vw!important;height:82.5vw!important;right:-26.25vw!important;left:auto!important;top:calc(24vh - 8.25vw)!important;background-image:url(/kyra-front-blob-2.png)!important}
.blobs i:nth-child(3){width:110vh!important;height:110vh!important;left:auto!important;top:auto!important;right:calc(-16vw - 11vh)!important;bottom:-41vh!important;opacity:0.5!important;background-image:url(/kyra-front-blob-3.png)!important}
.blobs i:nth-child(4){width:72.5vh!important;height:72.5vh!important;left:auto!important;top:auto!important;right:calc(-2vw - 7.25vh)!important;bottom:-13.25vh!important;background-image:url(/kyra-front-blob-4.png)!important}
.blobs i:nth-child(5){width:47.5vw!important;height:47.5vw!important;left:-13.75vw!important;right:auto!important;top:calc(48vh - 4.75vw)!important;background-image:url(/kyra-front-blob-5.png)!important}
.blobs i:nth-child(6){width:56.25vw!important;height:56.25vw!important;right:-16.625vw!important;left:auto!important;bottom:calc(-5vh - 5.625vw)!important;background-image:url(/kyra-front-blob-6.png)!important}
}
