/* Compact public entrance. Authentication and account state remain in app.mjs. */
:root body#sensei-app:has(.auth197-page){background:#0a151c url('/assets/auth197/mountains-1280-2fdca7351ea9.webp') center center/cover no-repeat!important;min-height:100svh!important}
:root body#sensei-app #root#root .auth197-page{box-sizing:border-box;min-height:100svh;width:100%;padding:32px 16px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#e9f0f2;font:14px/1.45 Rajdhani,Arial,sans-serif}
:root body#sensei-app #root#root .auth197-panel{box-sizing:border-box;width:390px;max-width:100%;padding:28px 30px;background:linear-gradient(145deg,#d9f2ff22,transparent 38%,#83a6bd0b 75%),#0a1a25b8!important;border:1px solid #cee8f573;border-radius:16px;box-shadow:inset 0 1px 0 #ffffff80,inset 1px 0 0 #e4f7ff33,inset 0 -1px 0 #a2cce238,0 18px 60px #0006,0 2px 8px #0003;min-width:0;color:#e9f0f2;position:relative;isolation:isolate;backdrop-filter:blur(12px) saturate(115%);-webkit-backdrop-filter:blur(12px) saturate(115%)}
:root body#sensei-app #root#root .auth197-brand{text-align:center;line-height:0;margin:0 0 22px!important}
:root body#sensei-app #root#root .auth197-brand .brand-logo172{width:178px!important}
:root body#sensei-app #root#root .auth197-brand .brand-light172{display:none!important}
:root body#sensei-app #root#root .auth197-brand .brand-dark172{display:block!important}
:root body#sensei-app #root#root .auth197-panel :is(h1,h2,h3){font-family:RpgDisplay184,Rajdhani,sans-serif!important;text-transform:none!important;letter-spacing:0!important;color:#e9f0f2!important;text-shadow:none!important;font-style:normal!important;max-width:100%!important}
:root body#sensei-app #root#root .auth197-panel h1{font-size:27px!important;line-height:1.2!important;font-weight:600!important;margin:0 0 8px!important}
:root body#sensei-app #root#root .auth197-panel :is(p,label,.field>span){font:500 14px/1.5 Rajdhani,Arial,sans-serif!important;color:#d3dfe5!important}
:root body#sensei-app #root#root .auth197-lead{margin:0 0 22px!important}
:root body#sensei-app #root#root .auth197-form,:root body#sensei-app #root#root .auth197-panel .vertical{display:grid!important;gap:15px!important;margin:0!important}
:root body#sensei-app #root#root .auth197-panel .field{display:grid!important;gap:7px!important;margin:0!important;min-width:0!important}
:root body#sensei-app #root#root .auth197-panel :is(input,select){box-sizing:border-box!important;width:100%!important;max-width:100%;min-width:0!important;height:48px!important;margin:0!important;padding:0 12px!important;border:1px solid #68828b70!important;border-radius:6px!important;background:#08131a!important;color:#e9f0f2!important;font:400 16px/1.3 Rajdhani,Arial,sans-serif!important;box-shadow:none!important}
:root body#sensei-app #root#root .auth197-password{display:block;position:relative}
:root body#sensei-app #root#root .auth197-password input{padding-right:62px!important}
:root body#sensei-app #root#root .auth197-panel :is(button,summary){box-sizing:border-box;min-height:48px!important;padding:12px 14px!important;font:600 16px/1.3 RpgDisplay184,Rajdhani,sans-serif!important;text-transform:none!important;font-style:normal!important;letter-spacing:0!important;text-shadow:none!important;white-space:normal!important;color:#e9f0f2!important;border:1px solid #8caaa741!important;border-radius:6px!important;background:#1b2a33!important;box-shadow:none!important;margin:0!important;cursor:pointer}
:root body#sensei-app #root#root .auth197-panel .primary{background:#a93e36!important;border-color:#d9a49a60!important;width:100%}
:root body#sensei-app #root#root .auth197-panel button:disabled{opacity:.5!important;cursor:wait}
:root body#sensei-app #root#root .auth197-panel .auth197-eye{position:absolute;right:2px;bottom:2px;width:56px!important;min-width:44px!important;min-height:44px!important;height:44px;padding:0!important;font-size:11px!important;border:0!important;background:transparent!important;color:#b6c3c8!important}
:root body#sensei-app #root#root .auth197-panel .auth197-reset{display:block!important;justify-self:center;width:auto!important;min-height:44px!important;margin:-10px 0 -5px!important;padding:8px 0!important;background:transparent!important;border:0!important;color:#c5d5d7!important;text-decoration:underline;text-underline-offset:3px;font-size:13px!important}
:root body#sensei-app #root#root .auth197-register{border-top:1px solid #8caaa741;padding-top:18px;margin-top:13px}
:root body#sensei-app #root#root .auth197-register>p{margin:0 0 10px!important}
:root body#sensei-app #root#root .auth197-register details{background:none!important;border:0!important;padding:0!important;margin:0!important}
:root body#sensei-app #root#root .auth197-register summary{display:flex!important;align-items:center;justify-content:center;list-style:none!important}
:root body#sensei-app #root#root .auth197-register summary::-webkit-details-marker{display:none}
:root body#sensei-app #root#root .auth197-register summary::after{content:none!important}
:root body#sensei-app #root#root .auth197-roles{display:flex;gap:10px;margin-top:10px}
:root body#sensei-app #root#root .auth197-roles button{flex:1;min-width:0}
:root body#sensei-app #root#root .auth197-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px;padding:0 12px;background:#0a141be8;border-radius:6px;font:400 11px/1.5 Rajdhani,Arial,sans-serif;color:#e3e9e7}
:root body#sensei-app #root#root .auth197-footer button{min-height:44px!important;width:auto!important;margin:0!important;padding:8px 0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#e3e9e7!important;font:400 12px/1.4 Rajdhani,Arial,sans-serif!important;text-decoration:underline!important;text-underline-offset:3px;cursor:pointer}
:root body#sensei-app #root#root .auth197-status{margin:12px 0 0!important}
:root body#sensei-app #root#root .auth197-registration .auth197-panel{width:440px}
:root body#sensei-app #root#root .auth197-panel .registration90{border:0!important;background:none!important;padding:0!important;margin:0!important;box-shadow:none!important}
:root body#sensei-app #root#root .auth197-panel .registration90>p{margin:0 0 20px!important}
:root body#sensei-app #root#root .auth197-panel .registration90 .formgrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important}
:root body#sensei-app #root#root .auth197-panel .registration90 .text-button{background:transparent!important;border-color:transparent!important;text-decoration:underline}
:root body#sensei-app #root#root .auth197-panel .auth-pending .btnrow{display:grid;gap:10px}
:root body#sensei-app .auth197-intro{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;background:#0a1319;color:#e9f0f2}
:root body#sensei-app .auth197-intro[hidden]{display:none!important}
:root body#sensei-app .auth197-intro img{width:min(360px,72vw);height:auto;animation:auth197-logo 2.65s both}
:root body#sensei-app .auth197-intro-stroke{height:2px;width:160px;background:#6b817a;transform-origin:left;animation:auth197-stroke 1.5s cubic-bezier(.2,.7,.2,1) both}
:root body#sensei-app .auth197-intro button{position:absolute;right:24px;bottom:22px;min-width:80px;min-height:44px;padding:10px;background:transparent;border:0;color:#e9f0f2;text-decoration:underline;font:13px Rajdhani,Arial,sans-serif;cursor:pointer}
:root body#sensei-app .auth197-intro-out{animation:auth197-out .35s both}
@keyframes auth197-logo{0%{opacity:0;transform:translateY(8px);clip-path:inset(0 100% 0 0)}35%,100%{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}
@keyframes auth197-stroke{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes auth197-out{to{opacity:0}}
@media(max-width:480px){:root body#sensei-app #root#root .auth197-page{padding:20px 16px 12px}:root body#sensei-app #root#root .auth197-panel{padding:26px 23px}:root body#sensei-app #root#root .auth197-panel .registration90 .formgrid{grid-template-columns:1fr}}
@media(max-height:650px){:root body#sensei-app #root#root .auth197-page{justify-content:flex-start;padding-top:18px}}
@media(prefers-reduced-motion:reduce){:root body#sensei-app .auth197-intro :is(img,.auth197-intro-stroke),:root body#sensei-app .auth197-intro-out{animation:none!important}}

@media(max-width:600px){:root body#sensei-app:has(.auth197-page){background-image:url("/assets/auth197/mountains-640-b8f0de3a7f6f.webp")!important}}

/* Only the light layer moves; the panel, blur and controls stay still. */
:root body#sensei-app #root#root .auth197-panel{overflow:clip}
:root body#sensei-app #root#root .auth197-panel::before{content:"";position:absolute;inset:-8% -12%;border-radius:inherit;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 5% 0%,#f4fbff30,transparent 46%),linear-gradient(117deg,transparent 12%,#effaff0e 23%,#effaff22 24%,#effaff08 34%,transparent 52%);animation:auth200-reflection 12s ease-in-out infinite alternate}
@keyframes auth200-reflection{from{transform:translate3d(-2%,-1%,0)}to{transform:translate3d(3%,1%,0)}}
@media(prefers-reduced-motion:reduce){:root body#sensei-app #root#root .auth197-panel::before{animation:none!important;transform:none!important}}
:root body#sensei-app #root#root .auth197-panel::after{content:"";position:absolute;inset:1px;border-radius:inherit;z-index:-1;pointer-events:none;border-top:1px solid #ffffff38;border-left:1px solid #d6efff20;box-shadow:inset 0 0 22px #c7e8f50a}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root body#sensei-app #root#root .auth197-panel{background:linear-gradient(145deg,#d9f2ff17,transparent 45%),#101f2bf5!important}}
@media(prefers-reduced-transparency:reduce){:root body#sensei-app #root#root .auth197-panel{background:#101f2b!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
/* Reuse the original Sensei Way display face only for the entrance motto. */
@font-face{font-family:"Sensei Way Sumi";src:url('./fonts/sensei-way-sumi/SenseiWaySumi-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Sensei Way Sumi";src:url('./fonts/sensei-way-sumi/SenseiWaySumi-Bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root body#sensei-app #root#root .auth197-page>p.auth252-motto.auth252-motto{font:700 clamp(22px,2.5vw,32px)/1.4 "Sensei Way Sumi",RpgDisplay184,serif!important;text-align:center!important;color:#f3d69e!important;letter-spacing:.03em!important;max-width:min(860px,100%)!important;margin:0 0 4px!important;text-shadow:0 2px 3px #000,0 0 14px #000c!important}
.auth252-motto span{display:inline-block;white-space:nowrap}.auth252-quote span{display:block}
:root body#sensei-app .auth197-intro.auth252-intro{background:radial-gradient(ellipse at 50% 45%,#1c2b30,#080f15 72%);gap:0;overflow:hidden}
:root body#sensei-app .auth252-stage{position:relative;width:min(860px,88vw);height:min(330px,48svh);display:grid;place-items:center}
:root body#sensei-app .auth252-stage>[hidden]{display:none!important}
:root body#sensei-app .auth252-stage>:not([hidden]){animation:auth252-reveal .65s ease-out both!important}
:root body#sensei-app .auth252-quote{margin:0;text-align:center;font:700 clamp(25px,4.5vw,52px)/1.6 "Sensei Way Sumi",RpgDisplay184,serif;letter-spacing:.055em;color:#f3d69e;text-shadow:0 2px 4px #000,0 0 30px #e7c78922}
:root body#sensei-app .auth252-stage .auth252-logo{width:min(500px,78vw);height:auto;object-fit:contain}
:root body#sensei-app .auth252-stage .auth252-signature{width:min(320px,62vw);height:auto;max-height:220px;object-fit:contain;filter:brightness(0) invert(1);opacity:.94}
:root body#sensei-app .auth252-loading{position:absolute;bottom:max(76px,12svh);left:50%;transform:translateX(-50%);width:min(300px,64vw)}
:root body#sensei-app .auth252-progress{height:2px;background:#e7c78924;border-radius:4px;overflow:hidden}
:root body#sensei-app .auth252-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#a97b3e,#f5dfb1);transition:width .25s linear}
:root body#sensei-app .auth252-loading p{display:flex;justify-content:space-between;gap:12px;margin:12px 0 0;color:#c6b89d;font:500 12px/1.4 Rajdhani,system-ui;letter-spacing:.15em;font-variant-numeric:tabular-nums}
@keyframes auth252-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
:root body#sensei-app .auth252-reduced .auth252-stage>:not([hidden]){animation:none!important}
:root body#sensei-app .auth252-reduced .auth252-progress i{transition:none!important}
@media(prefers-reduced-motion:reduce){:root body#sensei-app .auth252-stage>:not([hidden]){animation:none!important}:root body#sensei-app .auth252-progress i{transition:none!important}}
@media(max-height:500px){:root body#sensei-app .auth252-loading{bottom:35px}:root body#sensei-app .auth252-stage{height:50svh;margin-bottom:40px}:root body#sensei-app .auth252-stage .auth252-signature{max-height:130px}}




