@charset "UTF-8";:root{--ws-paper:#f7f8f2;--ws-surface:#fff;--ws-surface-muted:#eef2ed;--ws-blue:#0b1f4f;--ws-blue-hover:#132e70;--ws-lime:#c8ff00;--ws-text-muted:#647087;--ws-line:#cdd5d4;--ws-danger:#b42335;--ws-warning:#9a6200;--ws-success:#176b4d;--ws-font:"Google Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--ws-instant:80ms;--ws-fast:.16s;--ws-route:.28s;--ws-earned:.42s;--ws-ambient:7s;--ws-ease-out:cubic-bezier(.16,1,.3,1);--ws-ease-pop:cubic-bezier(.34,1.56,.64,1);--paper:var(--ws-paper);--paper-raised:var(--ws-surface);--paper-sunk:var(--ws-surface-muted);--ink:var(--ws-blue);--ink-muted:var(--ws-text-muted);--ink-faint:#8792a3;--line:var(--ws-line);--line-strong:#aebbbb;--radius:2px;--radius-lg:4px;--coral:var(--ws-danger);--coral-soft:#f8e9eb;--sky:var(--ws-blue);--sky-soft:#e8edf5;--moss:var(--ws-success);--moss-soft:#e5f0eb;--amber:var(--ws-warning);--amber-soft:#f6eedc;--plum:var(--ws-blue);--plum-soft:#e8edf5;--ease:cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;min-block-size:100%;background:var(--ws-paper);color:var(--ws-blue);font-family:var(--ws-font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}body,app-root{min-block-size:100vh;min-block-size:100dvh}app-root{display:block}h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.03em;line-height:1.1}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}:focus-visible{outline:3px solid var(--ws-blue);outline-offset:3px}.card{background:var(--ws-surface);border:1px solid var(--ws-line)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-block-size:46px;padding:.7rem 1.15rem;border:2px solid var(--ws-blue);border-radius:2px;background:var(--ws-surface);color:var(--ws-blue);font-weight:700;transition:transform var(--ws-fast) var(--ease),box-shadow var(--ws-fast) var(--ease),background var(--ws-fast) var(--ease)}.btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ws-blue)}.btn:active:not(:disabled){transform:translate(0);box-shadow:none}.btn:disabled{opacity:.48;cursor:not-allowed}.btn--primary{background:var(--ws-blue);color:var(--ws-lime)}.btn--primary:disabled{background:var(--ws-blue);color:#fff;opacity:.5}.btn--danger{color:var(--ws-danger);border-color:var(--ws-danger)}.btn--ghost{background:transparent;border-color:transparent}.btn--ghost:hover:not(:disabled){box-shadow:none;background:var(--ws-surface-muted);transform:none}.btn--block{inline-size:100%}.field{display:flex;flex-direction:column;gap:.45rem}.field label{font-size:.82rem;font-weight:700}.field input{min-block-size:48px;padding:.7rem 0;border:0;border-block-end:2px solid var(--ws-blue);border-radius:0;background:transparent;color:var(--ws-blue);font:inherit;transition:border-color var(--ws-fast) var(--ease),background var(--ws-fast) var(--ease)}.field input:focus{outline:0;background:var(--ws-surface);box-shadow:0 3px 0 var(--ws-blue)}.notice{padding:.8rem 1rem;border:0;border-inline-start:4px solid;font-size:.9rem}.notice--error{background:#f8e9eb;border-color:var(--ws-danger);color:var(--ws-danger)}.notice--info{background:#e8edf5;border-color:var(--ws-blue);color:var(--ws-blue)}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:999px;font-size:.76rem;font-weight:700;background:var(--ws-surface-muted);border:1px solid var(--ws-line);color:var(--ws-blue)}.chip--root,.chip--staff,.chip--school{background:var(--ws-blue);border-color:var(--ws-blue);color:var(--ws-lime)}.btn{position:relative;overflow:hidden;isolation:isolate;transition:transform var(--ws-fast) var(--ws-ease-pop),box-shadow var(--ws-fast) var(--ws-ease-out),background var(--ws-fast) var(--ease),color var(--ws-fast) var(--ease)}.btn:after{content:"";position:absolute;inset:0;z-index:-1;background:var(--ws-blue);transform:translate(105%);transition:transform var(--ws-route) var(--ws-ease-out)}.btn:hover:not(:disabled){background:var(--ws-blue);color:var(--ws-lime);transform:translate(-3px,-3px) rotate(-.35deg);box-shadow:5px 5px 0 var(--ws-blue)}.btn:hover:not(:disabled):after{transform:translate(0)}.btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ws-blue);transition-duration:var(--ws-instant)}.btn--primary:after{background:var(--ws-blue-hover)}.btn--primary:hover:not(:disabled){background:var(--ws-blue-hover)}.btn--danger:after{background:var(--ws-danger)}.btn--danger:hover:not(:disabled){color:#fff;transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ws-danger)}.btn--ghost:after{display:none}.btn--ghost:hover:not(:disabled){background:var(--ws-surface-muted);color:var(--ws-blue);box-shadow:none;transform:translateY(-2px)}.field input{background-image:linear-gradient(var(--ws-blue),var(--ws-blue));background-repeat:no-repeat;background-position:left bottom;background-size:0 3px;transition:border-color var(--ws-fast) var(--ease),background-color var(--ws-fast) var(--ease),background-size var(--ws-route) var(--ws-ease-out),padding-inline var(--ws-fast) var(--ease)}.field input:focus{background-size:100% 3px;padding-inline:8px}.field label{transition:color var(--ws-fast) var(--ease),transform var(--ws-fast) var(--ease)}.field:focus-within label{color:var(--ws-blue-hover);transform:translateY(-1px)}.notice:not(.notice--error){animation:ws-notice-in var(--ws-earned) var(--ws-ease-out) both}@keyframes ws-notice-in{0%{opacity:0;transform:translateY(8px)}}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
