.csi{display:flex;min-height:100vh;min-height:100dvh;flex-direction:column;padding-bottom:env(safe-area-inset-bottom);background:var(--ui-page);color:var(--ui-ink);font-family:var(--ui-font-sans);animation:csi-in var(--ui-motion-slow) var(--ui-ease) both}@keyframes csi-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes csi-fade{0%{opacity:0}to{opacity:1}}.csi-head{display:flex;min-height:56px;align-items:center;gap:var(--ui-space-3);padding:0 var(--ui-space-4)}.csi-back{min-height:44px;padding:0 var(--ui-space-1);border:0;background:none;color:var(--ui-ink-2);font-family:inherit;font-size:var(--ui-text-m);cursor:pointer;transition:color var(--ui-motion-fast) var(--ui-ease)}.csi-back:hover{color:var(--ui-ink)}.csi-back:focus-visible,.csi-google:focus-visible,.csi-logo:focus-visible,.csi-legal a:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.csi-rule{width:1px;height:20px;background:var(--ui-hair)}.csi-course{display:inline-flex;align-items:center;gap:var(--ui-space-2);font-size:var(--ui-text-m)}.csi-course-name{font-weight:var(--ui-weight-strong);color:var(--ui-ink)}.csi-course-code{color:var(--ui-ink-3)}.csi-main{display:flex;width:100%;max-width:400px;flex:1;flex-direction:column;align-items:center;justify-content:center;margin:0 auto;padding:var(--ui-space-7) var(--ui-space-6);text-align:center}.csi-logo{display:block;line-height:0;border-radius:var(--ui-radius-control)}.csi-title{margin:var(--ui-space-6) 0 0;font-size:var(--ui-text-xl);line-height:1.2;font-weight:var(--ui-weight-strong);text-wrap:balance;color:var(--ui-ink)}.csi-lead{margin:var(--ui-space-3) 0 var(--ui-space-7);font-size:var(--ui-text-m);line-height:1.5;-webkit-hyphens:manual;hyphens:manual;text-wrap:balance;color:var(--ui-ink-2)}.csi-google{display:flex;width:100%;min-height:48px;align-items:center;justify-content:center;gap:var(--ui-space-3);padding:var(--ui-space-1) var(--ui-space-5);border:1px solid var(--ui-hair);border-radius:var(--ui-radius-control);background:var(--ui-surface);color:var(--ui-ink);font-family:inherit;font-size:var(--ui-text-m);font-weight:var(--ui-weight-strong);cursor:pointer;transition:background-color var(--ui-motion-fast) var(--ui-ease)}.csi-google:hover{background:var(--ui-page)}.csi-note{display:block;margin:var(--ui-space-3) 0 0;font-size:var(--ui-text-s);line-height:1.4;-webkit-hyphens:manual;hyphens:manual;text-wrap:balance;color:var(--ui-ink-3)}.csi-legal{display:flex;justify-content:center;gap:var(--ui-space-2);padding:var(--ui-space-4) var(--ui-space-4) var(--ui-space-6);font-size:var(--ui-text-s);white-space:nowrap;color:var(--ui-ink-3)}.csi-legal a{display:inline-flex;min-height:24px;align-items:center;text-underline-offset:2px;transition:color var(--ui-motion-fast) var(--ui-ease)}.csi-legal a:hover{color:var(--ui-ink);text-decoration:underline}.csi-spinner{width:28px;height:28px;margin-top:var(--ui-space-6);border:2px solid var(--ui-hair);border-top-color:var(--ui-accent);border-radius:var(--ui-radius-round);animation:csi-spin calc(var(--ui-motion-slow) * 2) linear infinite}@keyframes csi-spin{to{transform:rotate(360deg)}}.csi-error{margin:var(--ui-space-3) 0 var(--ui-space-7);font-size:var(--ui-text-m);line-height:1.5;overflow-wrap:anywhere;color:var(--ui-bad)}.csi-note svg{display:inline-block;margin-right:var(--ui-space-1);vertical-align:-1px}@media(prefers-reduced-motion:reduce){.csi-spinner{animation:none}.csi{animation-name:csi-fade;animation-duration:var(--ui-motion-fast)}}
