:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:#fafafa;color:#111}a{color:inherit}.page{max-width:640px;margin:0 auto;padding:24px 16px 64px}.profile{display:flex;align-items:center;gap:16px;padding:24px 0}.profile img{width:72px;height:72px;border-radius:50%;object-fit:cover;background:#eee}.profile h1{margin:0 0 4px;font-size:1.25rem}.profile p{margin:0;color:#555;font-size:.9rem}.section-title{font-size:.85rem;font-weight:600;color:#888;margin:32px 0 12px;text-transform:uppercase;letter-spacing:.04em}.announcement-card{border:1px solid #e5e5e5;border-radius:12px;overflow:hidden;margin-bottom:12px;background:#fff}.announcement-card img{width:100%;display:block;height:auto;background:#eee}.announcement-card .body a{color:#1a56db;word-break:break-all}.linkified-text{white-space:pre-wrap}.announcement-card .body{padding:12px 16px}.announcement-card h3{margin:0 0 4px;font-size:1rem}.announcement-card p{margin:0;font-size:.9rem;color:#444}.banner-list{display:flex;flex-direction:column;gap:10px}.banner-link{display:block;border-radius:12px;overflow:hidden;border:1px solid #e5e5e5;text-decoration:none}.banner-link img{width:100%;display:block;aspect-ratio:21 / 9;object-fit:cover;background:#eee}.banner-title{display:block;padding:8px 12px;font-size:.9rem;font-weight:600;color:#111;background:#fff}.empty{color:#999;font-size:.9rem}.admin-form{display:flex;flex-direction:column;gap:12px;max-width:360px}.admin-form input,.admin-form textarea{padding:8px 10px;border:1px solid #ccc;border-radius:8px;font:inherit}.admin-form button,.button{padding:8px 14px;border-radius:8px;border:1px solid #111;background:#111;color:#fff;cursor:pointer;font:inherit}.error-text{color:#c0392b;font-size:.85rem}.hint{color:#888;font-size:.85rem}.admin-page{max-width:720px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.admin-header>div{display:flex;align-items:center;gap:10px}.admin-form{max-width:480px;margin-bottom:16px}.admin-form label{display:flex;align-items:center;gap:8px;font-size:.9rem}.admin-form label.checkbox-row input{width:auto}.admin-form input[type=number]{width:90px}.form-actions{display:flex;gap:8px}.form-actions button[type=button]{background:#fff;color:#111}.image-field{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px dashed #ccc;border-radius:8px}.image-field label{font-size:.8rem;color:#666}.image-preview{width:100%;max-width:240px;border-radius:6px;object-fit:cover;background:#eee}.admin-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}.admin-list-item{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border:1px solid #e5e5e5;border-radius:10px;background:#fff}.admin-list-item.editing{display:block;padding:12px}.admin-list-main{flex:1;min-width:0}.admin-list-main .preview{margin:4px 0 0;font-size:.85rem;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-list-actions{display:flex;gap:6px;flex-shrink:0}.admin-list-actions button{padding:4px 10px;border-radius:6px;border:1px solid #ccc;background:#fff;cursor:pointer;font-size:.85rem}.admin-thumb{width:64px;height:36px;object-fit:cover;border-radius:6px;background:#eee;flex-shrink:0}.badge{display:inline-block;font-size:.75rem;padding:1px 8px;border-radius:999px;background:#eee;color:#666}.badge.on{background:#e6f4ea;color:#1e7e34}.badge.off{background:#fdecea;color:#b3261e}
