/* Adapted from Lucian UX/UI Prompt #001 / #006, MIT © 2026 Seokwoooo.
   https://github.com/Seokwoooo/lucian-uxui-prompt — see licenses/lucian-uxui-MIT.txt */
:root{--cu-btn-surface:#20263b;--cu-btn-ink:#f6f7fb;--cu-btn-border:#555c77;--cu-btn-focus:#c4b5fd;--cu-btn-shadow:rgba(0,0,0,.24)}
:root[data-theme="light"]{--cu-btn-surface:#fff;--cu-btn-ink:#29243e;--cu-btn-border:#c9c3dd;--cu-btn-focus:#6d28d9;--cu-btn-shadow:rgba(76,44,126,.12)}
html:root body :is(.btn,.copy-btn,.filter-btn,.review-nav-btn,.rc-lesson-controls button,.button,.flight-button,.reviews-button,.admin-button,.ad-btn,.nav-login,.mode-switch,.auth-button,.google-login-btn){
 position:relative;isolation:isolate;overflow:hidden;min-height:44px;max-width:100%;border:1px solid var(--cu-btn-border);border-radius:14px;
 background:var(--cu-btn-surface);color:var(--cu-btn-ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 4px 12px -6px var(--cu-btn-shadow);
 font-weight:700;text-decoration:none;text-align:center;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;cursor:pointer;
 transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease;
}
html:root body :is(.btn-primary,.btn-accent,.button-primary,.flight-button.primary,.reviews-button.primary,.admin-button.primary,.ad-btn.primary){
 background:linear-gradient(135deg,#7042d5 0%,#793ac3 60%,#973b9d 100%);color:#fff;border-color:#996adc;
 box-shadow:inset 0 1px 0 #ffffff59,inset 0 -10px 18px -15px #fff,0 8px 22px -10px #7c3aed99;
}
html:root body :is(.button-green){background:linear-gradient(135deg,#12684e,#087458);color:#fff;border-color:#398c72}
html:root body .kakao-button{background:#fee500;color:#191600;border-color:#d9c200}
html:root body :is(.btn-danger,.ad-btn.warn,.admin-button.danger){background:#8e2441;color:#fff;border-color:#bc526b}
html:root body :is(.btn,.copy-btn,.filter-btn,.review-nav-btn,.rc-lesson-controls button,.button,.flight-button,.reviews-button,.admin-button,.ad-btn,.nav-login,.mode-switch)::after{
 content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
 background:radial-gradient(140px 75px at var(--cu-x,50%) var(--cu-y,0%),#ffffff38,transparent 75%);transition:opacity .25s ease;
}
@media(hover:hover) and (pointer:fine){
 html:root body :is(.btn,.copy-btn,.filter-btn,.review-nav-btn,.rc-lesson-controls button,.button,.flight-button,.reviews-button,.admin-button,.ad-btn,.nav-login,.mode-switch):not(:disabled):not([aria-disabled="true"]):hover{transform:translateY(-2px);border-color:#a78bfa;box-shadow:inset 0 1px 0 #ffffff40,0 10px 24px -12px #8050e899}
 html:root body :is(.btn,.copy-btn,.filter-btn,.review-nav-btn,.rc-lesson-controls button,.button,.flight-button,.reviews-button,.admin-button,.ad-btn,.nav-login,.mode-switch):hover::after{opacity:1}
}
html:root body :is(.btn,.copy-btn,.filter-btn,.review-nav-btn,.rc-lesson-controls button,.button,.flight-button,.reviews-button,.admin-button,.ad-btn,.nav-login,.mode-switch):not(:disabled):not([aria-disabled="true"]):active{transform:scale(.98)}
html:root body :is(button,a[role="button"],.btn,.copy-btn,.filter-btn,.review-nav-btn,.rc-lesson-controls button,.button,.flight-button,.reviews-button,.admin-button,.nav-login):focus-visible{outline:3px solid var(--cu-btn-focus);outline-offset:4px}
html:root body :is(button,.btn,.copy-btn,.filter-btn,.review-nav-btn,.rc-lesson-controls button,.button,.flight-button,.reviews-button,.admin-button,.ad-btn):is(:disabled,[aria-disabled="true"]){opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
html:root body :is(.theme-toggle,.admin-icon-button,.menu-toggle,.admin-mobile-toggle){min-width:44px;min-height:44px;border-radius:13px}
html:root body .nav-login{display:inline-flex;align-items:center;justify-content:center;padding:9px 16px}
.cu-button-ink{position:absolute;width:20px;height:20px;margin:-10px;border-radius:50%;background:currentColor;opacity:0;pointer-events:none;animation:cu-button-ripple .6s ease-out forwards}
@keyframes cu-button-ripple{0%{opacity:.16;transform:scale(0)}100%{opacity:0;transform:scale(var(--cu-scale,20))}}
@media(max-width:600px){html:root body :is(.btn,.copy-btn,.filter-btn,.review-nav-btn,.rc-lesson-controls button,.button,.flight-button,.reviews-button,.admin-button,.ad-btn){min-height:46px;border-radius:12px}}
@media(prefers-reduced-motion:reduce){html:root body :is(.btn,.copy-btn,.filter-btn,.review-nav-btn,.rc-lesson-controls button,.button,.flight-button,.reviews-button,.admin-button,.ad-btn,.nav-login,.mode-switch),html:root body :is(.btn,.copy-btn,.filter-btn,.review-nav-btn,.rc-lesson-controls button,.button,.flight-button,.reviews-button,.admin-button,.ad-btn)::after{transition:none;transform:none!important}.cu-button-ink{display:none;animation:none}}

html:root body :is(.filter-btn,.btn,.ad-btn):is(.active,[aria-pressed="true"],[aria-selected="true"]){border-color:#a78bfa;background:#6336b3;color:#fff}
html:root body .nav-login{flex-shrink:0;white-space:nowrap;min-width:64px}
@media(max-width:600px){
 html:root body .nav-shell{width:calc(100% - 24px);gap:8px}
 html:root body .nav-shell .brand{gap:7px;font-size:16px;flex-shrink:0}
 html:root body .nav-shell .brand-label{display:none}
 html:root body .nav-actions{gap:6px;margin-left:auto}
 html:root body .nav-login{padding:8px 10px;font-size:12px}
}
