@charset "UTF-8";
/* Sparse plush-head watermarks; never tile across the data surfaces. */
@media screen {
  body { --campus-head:url('/static/images/pcms-monkey-head.webp?v=20261029-57'); }
  body .campus-backdrop, body .login::before, body .qr-entry::before, body.privacy-page::before {
    background-image:var(--campus-head),var(--campus-head),var(--campus-head),var(--campus-head);
    background-repeat:no-repeat;
    background-position:38% 16%,94% 30%,50% 62%,96% 90%;
    background-size:160px auto,130px auto,145px auto,140px auto;
    opacity:.055;
    pointer-events:none;
  }
  body .campus-backdrop { position:fixed; inset:0; z-index:-1; }
  body:has(.login,.qr-entry) .campus-backdrop { display:none; }
  body #app .campus-companion { position:absolute; width:76px; height:76px; object-fit:contain; pointer-events:none; opacity:.13; filter:saturate(.65); }
  body #app .page-head { position:relative; }
  body #app .page-head>div:first-child { position:relative; padding-right:95px; }
  body #app .page-head .campus-companion { right:3px; top:50%; transform:translateY(-50%) rotate(5deg); }
  body #app .sidebar-bottom { position:relative; padding-right:62px; min-height:86px; }
  body #app .sidebar-bottom .campus-companion { width:60px; height:60px; right:-3px; bottom:6px; opacity:.2; transform:rotate(-6deg); }
  body .login { position:relative; isolation:isolate; overflow-x:clip; background:radial-gradient(ellipse at 90% 5%,#eedfea99,transparent 48%),radial-gradient(ellipse at 5% 90%,#dfebf8,transparent 55%),#f7f5f2; }
  body .login::before { content:""; position:absolute; inset:0; z-index:-1; }
  body .login-story { isolation:isolate; justify-content:flex-start; gap:25px; background:radial-gradient(ellipse at 85% 85%,#83557670,transparent 57%),linear-gradient(145deg,#172d50,#25466e 65%,#313855); }
  body .login-story::before { content:none; }
  body .login-copy { padding-top:15px; max-width:none; }
  body .login-copy h1.system-display-title { font-size:clamp(38px,4vw,60px); }
  body .login-mascot-scene { position:relative; display:grid; place-items:center; flex:1; min-height:310px; width:100%; margin:0; pointer-events:none; }
  body .login-mascot-scene::before { content:""; position:absolute; width:260px; height:260px; border:1px solid #dbd7ec42; border-radius:50%; background:radial-gradient(circle,#fff4df22,transparent 68%); box-shadow:0 0 0 25px #ffffff03; }
  body .login-mascot-scene::after { content:""; position:absolute; width:172px; height:172px; border:1px solid #dce2f529; border-radius:24px; transform:rotate(14deg); }
  body .login-mascot-image { position:relative; z-index:1; width:min(100%,440px); height:clamp(310px,40dvh,420px); object-fit:contain; opacity:.68; filter:saturate(.8); }
  body .mascot-spark { position:absolute; z-index:2; color:#eed5a7; opacity:.45; font-size:27px; left:17%; top:18%; }
  body .mascot-spark.second { color:#d598b0; font-size:18px; left:auto; right:13%; top:65%; }
  body .login-story footer { padding-top:0; margin-top:auto; }
  body .login-form-side { position:relative; isolation:isolate; }
  body .login-form-side::after { content:none; }
  body .login-form { background:#fffffff5; border-color:#fff; box-shadow:0 20px 65px #34476112; }
  body .qr-entry { position:relative; isolation:isolate; }
  body .qr-entry::before { content:""; position:fixed; inset:0; z-index:-1; }
  body .qr-entry-card { position:relative; }
  body .qr-entry-card .campus-companion { right:18px; top:12px; width:68px; height:68px; opacity:.13; }
  body .qr-entry-card>.section-kicker { padding-right:74px; }
  body.privacy-page { position:relative; isolation:isolate; }
  body.privacy-page::before { content:""; position:fixed; inset:0; z-index:-1; }
  body.privacy-page header { position:relative; padding-right:75px; }
  body.privacy-page header::after { content:""; position:absolute; width:65px; height:65px; right:0; top:0; background:var(--campus-head) center/contain no-repeat; opacity:.13; pointer-events:none; }
  body #app .role-switch .btn.active:disabled { opacity:1; color:#fff; cursor:default; }
}
@media screen and (min-width:801px) and (max-width:1180px) {
  body .login-story { padding:32px 28px; gap:19px; }
  body .login-mascot-scene { min-height:220px; }
  body .login-copy h1.system-display-title { font-size:38px; }
}
@media screen and (max-width:800px) {
  body .login-story { display:block; padding:25px 22px 23px; min-height:230px; }
  body .login-copy { padding-top:24px; }
  body .login-copy h1.system-display-title { font-size:clamp(31px,8vw,42px); }
  body .login-copy p { margin-top:8px; }
  body .login-capabilities { display:none; }
  body .login-mascot-scene { position:absolute; min-height:0; width:140px; height:146px; right:10px; bottom:0; }
  body .login-mascot-image { width:140px; height:146px; }
  body .login-mascot-scene::before { width:85px; height:85px; box-shadow:none; }
  body .login-mascot-scene::after { width:60px; height:60px; border-radius:12px; }
  body .login-mascot-scene :is(.mascot-spark) { display:none; }
  body .login-copy p { padding-right:126px; }
  body .login-copy h1 { position:relative; z-index:2; }
  body .login-form-side { padding:23px 17px 30px; }
  body #app .page-head>div:first-child { padding-right:66px; }
  body #app .page-head .campus-companion { width:57px; height:57px; right:0; }
  body #app .sidebar-bottom .campus-companion { display:none; }
  body .campus-backdrop, body .login::before, body .qr-entry::before, body.privacy-page::before {
    background-image:var(--campus-head),var(--campus-head),var(--campus-head);
    background-size:105px auto,110px auto,130px auto;
    background-position:right 12px top 18%,left 6px top 52%,right 16px top 88%;
    opacity:.045;
  }
}
@media screen and (max-width:350px) {
  body .login-copy h1.system-display-title { font-size:27px; }
  body .login-mascot-scene { width:118px; right:0; }
  body .login-mascot-image { width:118px; height:124px; }
}
@media print {
  .campus-backdrop,.campus-companion,.login-mascot-scene { display:none!important; }
}
