:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#292925;background:#f8f7f3}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}.welcome{max-width:900px;margin:auto;padding:24px 18px 48px;display:flex;flex-direction:column;align-items:center;gap:34px}.rainbow{display:block;max-width:100%;height:auto}.rights{text-align:center;color:#555;max-width:700px;font-size:.91rem;line-height:1.65}.gate{display:block;width:min(100%,390px)}.gate img{display:block;width:100%;height:auto}.gate:hover{filter:brightness(1.1)}.shell{max-width:1050px;margin:auto;padding:28px 18px 80px}.top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.top h1{margin:0;font-size:clamp(1.6rem,4vw,2.4rem)}.muted{color:#6e6e6a}.controls{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0}.pill{border:1px solid #aaa;background:white;padding:10px 16px;border-radius:40px}.pill.active{background:#282722;color:white}.year{margin-top:34px;border-bottom:1px solid #d6d4cd;padding-bottom:8px}.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:12px;margin-top:14px}.item{display:block;background:white;padding:18px;border:1px solid #e1dfd9;border-radius:12px;text-decoration:none;min-height:94px}.item:hover,.item:focus-visible{border-color:#777;box-shadow:0 4px 15px #0001}.item strong{display:block;margin-bottom:7px}.tag{font-size:.82rem;color:#666}.panel{background:white;border:1px solid #ddd;border-radius:14px;padding:20px;margin-top:20px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1/-1}.field input,.field select{padding:10px;border:1px solid #aaa;border-radius:7px;width:100%}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.primary{background:#292925;color:white;border:0;padding:11px 17px;border-radius:8px}.secondary{background:#eee;border:0;padding:11px 17px;border-radius:8px}.danger{color:#a32626}.adminrow{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #eee;padding:12px 0}.notice{padding:12px;border-radius:8px;background:#f0f3ea}.error{background:#fff0ed}@media(max-width:620px){.formgrid{grid-template-columns:1fr}.adminrow{align-items:flex-start;flex-direction:column}.welcome{gap:25px}}