/* Plenory entry experience: local sign-in + education-level onboarding. */
#app-shell[hidden], #entry-shell[hidden]{display:none!important}
.entry-shell{--entry-surface:#fff;--entry-copy:#1f2a44;--entry-muted:#7c899d;--entry-line:#e5ebf3;--entry-cutout:#566d9e;--entry-soft:#f4f7fc;background:var(--entry-surface);color:var(--entry-copy);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:flex;flex-direction:column}
.entry-shell[data-entry-theme="dark"]{--entry-surface:#151e2e;--entry-copy:#eef3fa;--entry-muted:#a4b0c5;--entry-line:#334159;--entry-soft:#202d41;--entry-cutout:#566d9e}
.entry-top{display:flex;align-items:center;justify-content:space-between;padding:24px clamp(22px,4vw,68px);border-bottom:1px solid var(--entry-line);background:var(--entry-surface);z-index:2}
.entry-brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:780;letter-spacing:-1.2px}.entry-symbol{background:#566d9e;color:#fff;border-radius:11px;width:38px;height:38px;display:grid;place-items:center}.entry-symbol svg{width:27px;height:27px}.entry-period{color:#566d9e}.entry-mode-btn{border:1px solid var(--entry-line);background:var(--entry-soft);color:var(--entry-copy);border-radius:10px;padding:10px 15px;font-size:12px;font-weight:650}
.entry-body{display:grid;grid-template-columns:minmax(300px,46%) minmax(350px,54%);flex:1;min-height:650px}.entry-illustration{padding:clamp(35px,5vw,90px) clamp(27px,5.3vw,91px);background:linear-gradient(155deg,#202e4b 0%,#34486e 56%,#536c9b 100%);position:relative;overflow:hidden;color:#fff;display:flex;flex-direction:column;align-items:flex-start;isolation:isolate}.entry-glow{position:absolute;border-radius:50%;pointer-events:none;z-index:-1}.entry-glow.one{height:460px;width:460px;top:-210px;right:-220px;background:radial-gradient(circle,#7c9cdb50,transparent 67%)}.entry-glow.two{height:430px;width:430px;bottom:-260px;left:-190px;background:radial-gradient(circle,#9dbdf13c,transparent 72%)}.entry-badge{font-size:10px;letter-spacing:2.1px;font-weight:750;color:#c7d5ef;border:1px solid #90add24a;padding:10px 12px;border-radius:100px;margin-bottom:32px}.entry-illustration h1{font-size:clamp(36px,4vw,56px);letter-spacing:-2.2px;line-height:1.13;max-width:490px;margin:0;font-weight:780}.entry-illustration h1 em{font-style:normal;color:#b4c8ec}.entry-illustration>p{font-size:15px;line-height:1.9;color:#d5dfef;max-width:400px;margin:22px 0 34px}.entry-preview{width:100%;max-width:430px;border:1px solid #ffffff44;border-radius:18px;background:#ffffff15;backdrop-filter:blur(6px);padding:22px;box-shadow:0 12px 48px #00000015}.preview-head{display:flex;align-items:center;gap:8px;margin-bottom:22px}.preview-circle{width:11px;height:11px;background:#b5c7e9;border-radius:100%}.preview-line{height:7px;width:95px;border-radius:20px;background:#c7d6f07a}.preview-date{margin-left:auto;font-size:9px;letter-spacing:1.8px;color:#d2dffc}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.preview-grid>div{padding:19px;border-radius:12px;background:#ffffff18;display:flex;flex-direction:column;gap:7px}.preview-grid span{font-size:11px;color:#e2e9f6}.preview-grid strong{font-size:31px;line-height:1;font-weight:780}.preview-grid small{font-size:10px;color:#c2d3ea}.preview-task{padding:16px 2px;color:#e7eefb;font-size:12px;border-bottom:1px solid #ffffff1c;display:flex;align-items:center;justify-content:space-between;gap:10px}.preview-task b{font-size:10px;color:#b1c5ec;font-weight:550}.entry-illustration-foot{margin-top:auto;padding-top:42px;color:#c0d1e9;font-size:12px}.entry-form-side{display:flex;align-items:center;justify-content:center;padding:50px 25px 55px;background:var(--entry-surface)}.entry-form-wrap{width:min(100%,435px)}.entry-step{font-size:10px;letter-spacing:1.55px;color:#6f87b1;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:15px}.entry-step span{color:var(--entry-muted);font-weight:600;letter-spacing:.5px}.entry-form-wrap h2{font-size:clamp(30px,3vw,39px);line-height:1.2;letter-spacing:-1.2px;margin:22px 0 8px;color:var(--entry-copy)}.entry-subtitle{color:var(--entry-muted);font-size:14px;line-height:1.65;margin:0 0 30px}.entry-tabs{background:var(--entry-soft);border:1px solid var(--entry-line);border-radius:12px;padding:5px;display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:24px}.entry-tabs button{padding:11px 8px;background:transparent;border:none;border-radius:9px;color:var(--entry-muted);font-weight:700;font-size:13px}.entry-tabs button.selected{background:var(--entry-surface);color:var(--entry-copy);box-shadow:0 1px 7px #27375614}.entry-field{font-size:12px;font-weight:750;color:var(--entry-copy);display:block;margin:15px 0}.entry-field input{display:block;margin-top:8px;border:1px solid var(--entry-line);border-radius:11px;width:100%;height:48px;padding:0 15px;background:var(--entry-surface);color:var(--entry-copy);font-size:14px;transition:border-color .15s}.entry-field input::placeholder{color:var(--entry-muted);opacity:.72}.entry-field input:focus{border-color:#566d9e}.entry-submit{display:flex;align-items:center;justify-content:space-between;width:100%;padding:17px 19px;margin-top:24px;background:#566d9e;color:white;border:0;border-radius:11px;font-weight:750;font-size:14px;box-shadow:0 7px 20px #566d9e25}.entry-submit:hover{background:#455d8d}.entry-submit span{font-size:21px;font-weight:400}.entry-submit:disabled{opacity:.65}.entry-security{color:var(--entry-muted);font-size:11px;line-height:1.7;margin:20px 0 0}.entry-security>span{font-size:14px;margin-right:4px}.entry-error{border-radius:10px;padding:12px 13px;background:#fff0f1;color:#b44352;font-size:12px;line-height:1.6}.entry-error[hidden]{display:none}.entry-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--entry-line);color:var(--entry-muted);font-size:11px;padding:16px clamp(22px,4vw,68px);background:var(--entry-surface)}
.entry-level-wrap{width:min(100%,475px)}.entry-level-wrap .entry-subtitle{margin-bottom:25px}.level-options{display:grid;gap:10px}.level-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--entry-line);border-radius:14px;cursor:pointer;transition:border-color .18s,background .18s}.level-card:has(input:checked){border-color:#718dc3;background:var(--entry-soft);box-shadow:inset 0 0 0 1px #718dc355}.level-card:focus-within{outline:2px solid #91addc;outline-offset:2px}.level-card input{position:absolute;width:1px;height:1px;opacity:0}.level-card-symbol{background:var(--entry-soft);border-radius:12px;width:46px;height:46px;display:grid;place-items:center;color:#6780ad;font-size:23px;flex-shrink:0}.level-card-copy{display:flex;flex-direction:column;gap:5px;flex:1}.level-card-copy strong{font-size:14px;font-weight:760;color:var(--entry-copy)}.level-card-copy small{font-size:11px;color:var(--entry-muted)}.level-card-check{border:1.6px solid #a6b1c1;border-radius:50%;width:19px;height:19px}.level-card:has(input:checked) .level-card-check{border:5px solid #566d9e}.entry-back{border:none;background:transparent;color:var(--entry-muted);padding:18px 0 2px;font-size:12px}.entry-level-wrap .entry-security{margin-top:12px}
@media(max-width:850px){.entry-body{grid-template-columns:1fr;min-height:0}.entry-illustration{padding:38px 26px;min-height:0}.entry-illustration h1{font-size:34px;max-width:530px}.entry-illustration>p{margin-bottom:0}.entry-badge{margin-bottom:20px}.entry-preview,.entry-illustration-foot{display:none}.entry-form-side{padding:50px 25px 65px}.entry-form-wrap{max-width:510px}}
@media(max-width:550px){.entry-top{padding:18px 22px}.entry-illustration{padding:30px 23px}.entry-illustration h1{font-size:29px;letter-spacing:-1px}.entry-illustration>p{font-size:12px;margin:15px 0 0}.entry-form-side{padding:38px 22px 50px}.entry-form-wrap h2{font-size:29px}.entry-footer{padding:17px 22px;flex-direction:column;align-items:flex-start;gap:6px}}

/* Optional secure cloud sign-in */
.cloud-auth-shell{min-height:100vh;background:var(--bg,#f6f8fc);color:var(--text,#202b41)}
.cloud-auth-header{display:flex;align-items:center;gap:11px;padding:28px max(4vw,22px);font-weight:780;font-size:21px;letter-spacing:-.6px}
.cloud-brand{width:36px;height:36px;background:#566d9e;display:grid;place-items:center;border-radius:10px;color:white;font-weight:900}
.cloud-private-badge{font-size:9px;color:#566d9e;letter-spacing:1px;border:1px solid #c9d5ec;background:#eaf0fa;padding:7px 9px;border-radius:99px;margin-left:auto}
.cloud-auth-main{display:grid;grid-template-columns:1fr 1fr;max-width:1200px;gap:6vw;margin:0 auto;padding:40px 4vw;min-height:calc(100vh - 100px);align-items:center}
.cloud-welcome{padding:30px 18px;display:grid;gap:14px}.cloud-welcome>span{letter-spacing:1.5px;font-size:11px;color:#566d9e;font-weight:800}
.cloud-welcome h1{font-size:clamp(35px,5vw,72px);line-height:1.06;letter-spacing:-2px;max-width:620px;margin:0}
.cloud-welcome p{color:var(--muted,#7c899d);font-size:16px;line-height:1.7;max-width:420px;margin:0}
.cloud-welcome-footer{font-size:12px;color:var(--muted,#7c899d);margin-top:50px}
.cloud-auth-card{background:var(--panel,#fff);padding:clamp(26px,4vw,48px);border:1px solid var(--border,#e8edf4);border-radius:22px;box-shadow:0 20px 60px rgba(32,55,92,.06)}
.cloud-auth-card h2{font-size:28px;letter-spacing:-.8px;margin:10px 0 5px}.cloud-auth-card .entry-tabs{margin:22px 0}.cloud-form{display:grid;gap:17px}.cloud-form label{font-size:12px;font-weight:750;display:grid;gap:8px}
.cloud-form input:not([type=radio]){padding:13px;border-radius:11px;border:1px solid var(--border,#e8edf4);background:var(--panel-2,#fafbfd);color:var(--text,#202b41);width:100%}
.cloud-form .entry-submit{border:0}.cloud-message{color:#409e80;font-size:12px}.cloud-level-options{display:grid;gap:8px;margin:22px 0}
.cloud-level-options label{display:flex;flex-direction:row;align-items:center;border:1px solid var(--border);border-radius:12px;padding:14px;gap:10px}.cloud-level-options input{accent-color:#566d9e}
@media(max-width:800px){.cloud-auth-main{grid-template-columns:1fr;padding:0 20px 35px}.cloud-welcome{padding:10px}.cloud-welcome h1{font-size:32px}.cloud-welcome-footer{display:none}.cloud-auth-card{padding:25px}.cloud-auth-header{padding:18px 24px}.cloud-private-badge{font-size:8px}}
