:root{font-family:Inter,system-ui,Arial,sans-serif;color:#1f2937;background:#f5f5f5}*{box-sizing:border-box}body{margin:0}.page{min-height:100vh;display:grid;place-items:start center;padding:16px}.card{width:min(480px,100%);margin-top:24px;background:#fff;border-radius:18px;padding:24px;box-shadow:0 10px 30px #00000014}@media (min-width: 640px){.page{place-items:center}.card{padding:32px}}h1{margin-top:0;font-size:1.5rem}.muted{color:#6b7280;font-size:.9rem}.error{color:#b91c1c;background:#fef2f2;border-radius:10px;padding:10px 12px;font-size:.9rem}.notice{color:#1e3a8a;background:#eff6ff;border-radius:10px;padding:10px 12px;font-size:.9rem}.tips{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:12px 14px;margin:12px 0;font-size:.85rem}.tips-title{font-weight:600;margin:0 0 6px}.tips ul{margin:0;padding-left:18px}.tips li{margin-bottom:4px}.tips-hint{margin-top:8px}.form{display:flex;flex-direction:column;gap:16px;margin:16px 0}.form label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:600}.form input,.form select,.form textarea{font:inherit;padding:12px;border-radius:10px;border:1px solid #d1d5db;min-height:44px}.form textarea{min-height:88px;resize:vertical}fieldset.form{border:1px solid #d1d5db;border-radius:10px;padding:12px}fieldset.form legend{font-size:.9rem;font-weight:600;padding:0 4px}.radio-option{flex-direction:row!important;align-items:center;gap:8px!important;font-weight:400!important}.radio-option input{min-height:auto;width:auto}button{font:inherit;font-weight:600;min-height:44px;padding:12px 16px;border:none;border-radius:10px;background:#111827;color:#fff;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}button.secondary{background:#fff;color:#111827;border:1px solid #d1d5db}button.link-button{background:none;color:#6b7280;text-decoration:underline;padding:8px 0;min-height:auto}button.link-button.danger{color:#b91c1c}.button-stack{display:flex;flex-direction:column;gap:12px;margin:16px 0}.profile-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.avatar-button{padding:0;border-radius:50%;background:none;min-height:auto}.avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;background:#e5e7eb;color:#374151;font-size:1.5rem;font-weight:700}.profile-header h1{font-size:1.25rem;margin-bottom:2px}a.button-like{display:block;text-align:center;text-decoration:none;font-weight:600;min-height:44px;line-height:20px;padding:12px 16px;border:none;border-radius:10px;background:#111827;color:#fff}a.button-like.secondary{background:#fff;color:#111827;border:1px solid #d1d5db}.cat-photo{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:12px;margin-bottom:12px}.thumb-row{display:flex;gap:8px;overflow-x:auto;margin-bottom:12px}.cat-thumb{width:56px;height:56px;border-radius:8px;object-fit:cover;flex-shrink:0;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-weight:700;color:#6b7280}.thumb-item{position:relative;flex-shrink:0}.thumb-delete{position:absolute;top:-6px;right:-6px;width:22px;height:22px;min-height:auto;padding:0;border-radius:50%;background:#b91c1c;color:#fff;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}.thumb-select{padding:0;min-height:auto;background:none;border-radius:8px;border:2px solid transparent;line-height:0}.thumb-select .cat-thumb{display:block}.thumb-select.selected{border-color:#f59e0b}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px;margin:16px 0}.cat-card{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:#1f2937;font-size:.85rem;text-align:center}.cat-card .cat-thumb{width:100%;height:96px;border-radius:12px}.back-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.back-nav .link-button{padding:8px 0}.notification-list{list-style:none;margin:16px 0;padding:0;display:flex;flex-direction:column;gap:10px}.notification-item{border:1px solid #e5e7eb;border-radius:10px;padding:12px}.notification-item.unread{border-color:#f59e0b;background:#fffbeb}.notification-title{font-weight:600;margin:0 0 4px}
