:root {
  --nk-green: #315b43;
  --nk-green2: #4f8a64;
  --nk-cream: #fffaf0;
  --nk-yellow: #f6d96f;
  --nk-orange: #ed9b59;
  --nk-ink: #29342e;
  --nk-line: #dce5dc;
}

.nk-dashboard { display:grid; grid-template-columns:.92fr 1.08fr; gap:18px; margin-top:18px; margin-bottom:42px; }
.nk-level-card,.nk-daily-card { border:1px solid var(--nk-line); border-radius:24px; background:#fff; box-shadow:0 12px 35px rgba(42,67,50,.08); padding:24px; }
.nk-level-card { background:linear-gradient(145deg,#ffffff,#f2f7ec); }
.nk-level-top { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
.nk-kicker { display:block; color:#6e7f73; font-size:11px; line-height:1.2; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.nk-level-number { display:flex; gap:8px; align-items:baseline; margin-top:5px; }
.nk-level-number small { color:var(--nk-green); font-weight:900; font-size:15px; }
.nk-level-number strong { color:var(--nk-green); font-size:clamp(38px,5vw,58px); line-height:1; letter-spacing:-.05em; }
.nk-share-small,.nk-x-share { appearance:none; border:0; background:#111; color:#fff; border-radius:999px; cursor:pointer; padding:10px 16px; font-weight:900; white-space:nowrap; }
.nk-share-small:hover,.nk-x-share:hover { opacity:.84; }
.nk-progress,.nk-mini-progress { height:10px; background:#e3e9df; border-radius:999px; overflow:hidden; margin-top:18px; }
.nk-progress i,.nk-mini-progress i { display:block; height:100%; background:linear-gradient(90deg,#72a572,#e1c658); border-radius:999px; transition:width .35s ease; }
.nk-progress-note { display:flex; justify-content:space-between; color:#718077; font-size:11px; font-weight:800; margin-top:7px; }
.nk-stat-row,.nk-profile-stats { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--nk-line); margin-top:18px; padding-top:16px; }
.nk-stat-row div,.nk-profile-stats div { text-align:center; }
.nk-stat-row div+div,.nk-profile-stats div+div { border-left:1px solid var(--nk-line); }
.nk-stat-row b,.nk-profile-stats b { display:block; color:var(--nk-ink); font-size:22px; }
.nk-stat-row span,.nk-profile-stats span { display:block; color:#718077; font-size:11px; font-weight:800; }

.nk-daily-card { display:grid; grid-template-columns:92px 1fr; gap:20px; align-items:center; background:linear-gradient(135deg,#fff5d5,#fffdf7 52%,#edf5e8); position:relative; overflow:hidden; }
.nk-daily-card::after { content:""; position:absolute; width:170px; height:170px; border-radius:50%; background:rgba(255,255,255,.45); right:-52px; top:-80px; }
.nk-daily-card.is-complete { background:linear-gradient(135deg,#e9f4df,#fffdf7); }
.nk-daily-icon { width:86px; height:86px; display:grid; place-items:center; border-radius:24px; background:#fff; box-shadow:0 9px 23px rgba(95,89,44,.12); font-size:42px; color:var(--nk-green); font-weight:1000; z-index:1; }
.nk-daily-copy { position:relative; z-index:1; }
.nk-daily-copy h2 { margin:4px 0 6px; font-size:clamp(22px,3vw,30px); line-height:1.25; color:var(--nk-ink); }
.nk-daily-copy p { margin:0 0 14px; color:#667269; font-size:14px; }
.nk-daily-start { appearance:none; border:0; cursor:pointer; border-radius:13px; background:var(--nk-green); color:#fff; padding:12px 20px; font-weight:900; box-shadow:0 5px 0 #234632; }
.nk-daily-start:active { transform:translateY(2px); box-shadow:0 3px 0 #234632; }

.nk-header-level { border:1px solid #cfdccf !important; background:#f4f8f1 !important; color:var(--nk-green) !important; border-radius:999px !important; padding:8px 12px !important; font-size:12px !important; font-weight:1000 !important; cursor:pointer !important; }

.nk-profile-overlay,.nk-milestone-overlay,.nk-daily-reveal { position:fixed; inset:0; z-index:99998; background:rgba(24,35,28,.46); backdrop-filter:blur(4px); display:grid; place-items:center; padding:18px; }
.nk-profile-card,.nk-milestone-card,.nk-daily-reveal-card { width:min(470px,100%); background:#fff; border-radius:28px; box-shadow:0 24px 80px rgba(0,0,0,.2); padding:30px; text-align:center; position:relative; }
.nk-profile-x { position:absolute; right:16px; top:13px; width:38px; height:38px; border:0; border-radius:50%; background:#f1f3ef; cursor:pointer; font-size:23px; color:#617067; }
.nk-profile-level { margin:10px 0 0; }
.nk-profile-level small { display:block; color:var(--nk-green); font-weight:900; }
.nk-profile-level strong { display:block; color:var(--nk-green); font-size:64px; line-height:1; letter-spacing:-.06em; }
.nk-mini-progress { margin-top:18px; }
.nk-next-level { color:#748178; font-size:12px; font-weight:800; margin:7px 0 0; }
.nk-profile-stats { margin-bottom:20px; }
.nk-device-note { display:block; color:#8b958f; margin-top:14px; font-size:10px; }

.nk-award-toast { position:fixed; z-index:99999; left:50%; top:96px; transform:translate(-50%,-18px) scale(.96); opacity:0; display:flex; align-items:center; gap:13px; min-width:min(360px,calc(100vw - 28px)); background:rgba(255,255,255,.97); border:1px solid #d8e3d7; border-radius:20px; box-shadow:0 18px 55px rgba(26,49,34,.2); padding:15px 20px; pointer-events:none; transition:.28s ease; }
.nk-award-toast.show { transform:translate(-50%,0) scale(1); opacity:1; }
.nk-award-icon { width:52px; height:52px; display:grid; place-items:center; background:#fff1bd; border-radius:15px; font-size:27px; }
.nk-award-toast small,.nk-award-toast b,.nk-award-toast span { display:block; }
.nk-award-toast small { color:#9a7c24; font-size:10px; letter-spacing:.12em; font-weight:1000; }
.nk-award-toast b { color:var(--nk-green); font-size:23px; line-height:1.2; }
.nk-award-toast span { color:#77847b; font-size:11px; font-weight:800; }

.nk-milestone-overlay { z-index:100000; background:radial-gradient(circle at 50% 40%,rgba(247,226,129,.55),rgba(28,45,34,.72)); overflow:hidden; }
.nk-milestone-card { border:3px solid #f1d66b; background:linear-gradient(145deg,#fff,#fff8da); animation:nkPop .48s cubic-bezier(.2,.9,.25,1.3); }
.nk-brain-badge { font-size:58px; animation:nkBounce 1s ease infinite alternate; }
.nk-milestone-card h2 { color:var(--nk-green); font-size:34px; margin:8px 0; }
.nk-milestone-card p { color:#657168; }
.nk-milestone-actions { display:flex; justify-content:center; gap:9px; margin-top:20px; }
.nk-close { border:1px solid #d5ded5; background:#fff; border-radius:999px; padding:10px 18px; cursor:pointer; font-weight:900; color:#5d6962; }
.nk-confetti { position:absolute; inset:0; pointer-events:none; }
.nk-confetti i { position:absolute; top:-30px; left:calc((var(--i) + 1) * 4.2%); width:9px; height:17px; border-radius:3px; background:hsl(calc(var(--i) * 31deg) 72% 60%); transform:rotate(calc(var(--i) * 18deg)); animation:nkFall calc(1.7s + (var(--i) % 5) * .2s) linear infinite; animation-delay:calc((var(--i) % 7) * -.24s); }

.nk-daily-reveal { z-index:99999; opacity:0; transition:opacity .2s; background:rgba(38,53,42,.65); }
.nk-daily-reveal.show { opacity:1; }
.nk-daily-reveal-card { background:linear-gradient(150deg,#fff8d9,#fff,#edf5e8); animation:nkPop .42s cubic-bezier(.2,.9,.25,1.2); }
.nk-daily-reveal-card>span { color:#8b793d; font-weight:900; font-size:13px; }
.nk-daily-reveal-icon { width:92px; height:92px; display:grid; place-items:center; margin:17px auto 10px; border-radius:26px; background:#fff; color:var(--nk-green); box-shadow:0 12px 28px rgba(47,74,55,.13); font-size:45px; font-weight:1000; }
.nk-daily-reveal-card h2 { margin:0; color:var(--nk-green); font-size:32px; }
.nk-daily-reveal-card p { margin:8px 0 0; color:#6c786f; }

@keyframes nkPop { from{transform:scale(.76);opacity:0} to{transform:scale(1);opacity:1} }
@keyframes nkBounce { from{transform:translateY(0) rotate(-3deg)} to{transform:translateY(-8px) rotate(3deg)} }
@keyframes nkFall { to{transform:translateY(110vh) rotate(720deg)} }

@media (max-width:800px) {
  .nk-dashboard { grid-template-columns:1fr; margin-top:12px; margin-bottom:32px; }
  .nk-level-card,.nk-daily-card { border-radius:20px; padding:19px; }
  .nk-daily-card { grid-template-columns:70px 1fr; gap:14px; }
  .nk-daily-icon { width:68px; height:68px; border-radius:19px; font-size:32px; }
  .nk-level-number strong { font-size:44px; }
}
@media (max-width:560px) {
  .nk-dashboard { width:min(100% - 24px,1180px); }
  .nk-share-small { padding:8px 11px; font-size:11px; }
  .nk-daily-card { grid-template-columns:1fr; }
  .nk-daily-icon { width:60px; height:60px; }
  .nk-stat-row b,.nk-profile-stats b { font-size:19px; }
  .nk-stat-row span,.nk-profile-stats span { font-size:10px; }
  .nk-milestone-actions { flex-direction:column; }
  .nk-milestone-actions button { width:100%; }
  .nk-header-level { padding:7px 9px !important; }
}


/* v2: デイリーカレンダー・称号・バックアップ導線 */
.nk-current-title,.nk-profile-title { margin-top:8px; display:inline-flex; align-items:center; gap:6px; background:#fff5c9; color:#6d5a13; border:1px solid #ead887; border-radius:999px; padding:6px 11px; font-size:12px; font-weight:900; }
.nk-card-links { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:14px; padding-top:13px; border-top:1px dashed var(--nk-line); }
.nk-card-links button,.nk-card-links a { appearance:none; border:0; background:none; padding:0; color:var(--nk-green); font-size:11px; font-weight:900; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.nk-calendar-card { grid-column:1 / -1; border:1px solid var(--nk-line); border-radius:24px; background:#fff; box-shadow:0 12px 35px rgba(42,67,50,.06); padding:22px 24px 24px; }
.nk-calendar-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:14px; }
.nk-calendar-head h2 { margin:4px 0 0; color:var(--nk-ink); font-size:22px; }
.nk-calendar-head p { margin:0; color:#728079; font-size:12px; font-weight:800; }
.nk-calendar-head p b { color:var(--nk-green); font-size:18px; }
.nk-weekdays,.nk-calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.nk-weekdays { margin-bottom:6px; }
.nk-weekdays span { text-align:center; color:#7a867f; font-size:10px; font-weight:900; }
.nk-weekdays span:first-child { color:#bd6666; }
.nk-weekdays span:last-child { color:#5e7da6; }
.nk-cal-cell { min-height:52px; border:1px solid #edf0ec; border-radius:12px; background:#fafbf9; display:flex; align-items:center; justify-content:center; gap:5px; position:relative; }
.nk-cal-cell b { color:#65716a; font-size:12px; }
.nk-cal-cell.blank { border-color:transparent; background:transparent; }
.nk-cal-cell.today { outline:2px solid #d8c25e; outline-offset:-2px; background:#fffdf2; }
.nk-cal-cell.done { background:#edf6e9; border-color:#cfe2ca; }
.nk-cal-cell.done span { width:25px; height:25px; display:grid; place-items:center; border-radius:50%; background:var(--nk-green); color:#fff; font-size:10px; font-weight:1000; }
.nk-daily-icon { font-size:34px; }
.nk-profile-card { max-height:min(88vh,820px); overflow:auto; }
.nk-profile-actions { display:flex; justify-content:center; gap:9px; flex-wrap:wrap; margin-bottom:14px; }
.nk-backup-link { display:inline-flex; align-items:center; justify-content:center; border:1px solid #cfdccf; color:var(--nk-green); background:#f5f9f3; border-radius:999px; padding:10px 16px; font-weight:900; text-decoration:none; }
.nk-title-collection { margin-top:16px; border-top:1px solid var(--nk-line); padding-top:14px; text-align:left; }
.nk-title-collection summary { cursor:pointer; color:var(--nk-green); font-size:13px; font-weight:900; text-align:center; }
.nk-title-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin-top:12px; }
.nk-title-choice { appearance:none; border:1px solid #dbe5da; border-radius:14px; background:#fff; padding:10px; text-align:left; cursor:pointer; display:grid; grid-template-columns:26px 1fr; grid-template-rows:auto auto; column-gap:6px; }
.nk-title-choice>span { grid-row:1/3; font-size:18px; }
.nk-title-choice>b { color:var(--nk-ink); font-size:12px; }
.nk-title-choice>small { color:#7b8780; font-size:9px; margin-top:2px; }
.nk-title-choice.selected { border-color:#d2ba4f; background:#fff8d9; box-shadow:0 0 0 2px rgba(210,186,79,.13); }
.nk-title-choice.locked { opacity:.48; cursor:not-allowed; filter:grayscale(.45); }
.nk-title-toast { position:fixed; z-index:100001; left:50%; top:96px; transform:translate(-50%,-18px) scale(.96); opacity:0; display:flex; align-items:center; gap:13px; min-width:min(390px,calc(100vw - 28px)); background:linear-gradient(145deg,#fffdf4,#fff); border:2px solid #ead887; border-radius:20px; box-shadow:0 18px 55px rgba(69,57,16,.20); padding:15px 20px; pointer-events:none; transition:.28s ease; }
.nk-title-toast.show { transform:translate(-50%,0) scale(1); opacity:1; }
.nk-title-medal { width:52px; height:52px; display:grid; place-items:center; background:#fff2ad; border-radius:15px; font-size:28px; }
.nk-title-toast small,.nk-title-toast b,.nk-title-toast span { display:block; }
.nk-title-toast small { color:#a48212; font-size:10px; letter-spacing:.12em; font-weight:1000; }
.nk-title-toast b { color:#66530f; font-size:18px; }
.nk-title-toast span { color:#827a5c; font-size:10px; margin-top:2px; }
.nk-new-title { margin:14px auto 0; max-width:340px; border-radius:14px; background:#fff1b6; color:#725d11; padding:10px 13px; font-weight:900; font-size:13px; }

@media (max-width:560px) {
  .nk-calendar-card { padding:18px 14px; }
  .nk-cal-cell { min-height:43px; gap:2px; flex-direction:column; }
  .nk-cal-cell.done span { width:22px; height:22px; }
  .nk-calendar-head { align-items:center; }
  .nk-title-grid { grid-template-columns:1fr; }
  .nk-profile-actions>* { width:100%; }
}

/* v3: トロフィーコレクション */
.nk-profile-card { width:min(720px,100%); }
.nk-trophy-summary { margin:4px 0 18px; padding:14px 16px; border:1px solid #ead887; border-radius:16px; background:linear-gradient(135deg,#fff9dd,#fff); text-align:left; }
.nk-trophy-summary span { color:#78651c; font-size:12px; font-weight:900; }
.nk-trophy-summary b { float:right; color:#5f5118; font-size:15px; }
.nk-trophy-summary-bar { clear:both; height:8px; margin-top:10px; background:#eee7c8; border-radius:999px; overflow:hidden; }
.nk-trophy-summary-bar i { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#e5bd40,#f2df79); }
.nk-trophy-collection { margin-top:12px; border-top:1px solid var(--nk-line); padding-top:14px; text-align:left; }
.nk-trophy-collection>summary { cursor:pointer; color:#8a6f13; font-size:13px; font-weight:1000; text-align:center; }
.nk-trophy-group { margin-top:18px; }
.nk-trophy-group h4 { display:flex; justify-content:space-between; gap:12px; margin:0 0 8px; color:var(--nk-ink); font-size:13px; }
.nk-trophy-group h4 span { color:#8b958f; font-size:11px; }
.nk-trophy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.nk-trophy-card { display:grid; grid-template-columns:44px 1fr; gap:10px; align-items:center; border:1px solid #dfe6df; border-radius:15px; background:#fbfcfa; padding:10px 11px; min-height:88px; }
.nk-trophy-card.earned { border-color:#e2c65f; background:linear-gradient(145deg,#fffbee,#fff); box-shadow:0 4px 12px rgba(143,112,14,.06); }
.nk-trophy-card.locked { opacity:.72; }
.nk-trophy-card.secret { background:#f6f6f4; }
.nk-trophy-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#eef2ec; font-size:23px; }
.nk-trophy-card.earned .nk-trophy-icon { background:#fff1b8; }
.nk-trophy-copy { min-width:0; }
.nk-trophy-copy b,.nk-trophy-copy small,.nk-trophy-copy span { display:block; }
.nk-trophy-copy b { color:var(--nk-ink); font-size:12px; line-height:1.25; }
.nk-trophy-copy small { color:#7d8981; font-size:9px; line-height:1.35; margin-top:2px; }
.nk-trophy-copy span { color:#8a958e; font-size:9px; margin-top:4px; font-weight:800; }
.nk-trophy-card.earned .nk-trophy-copy span { color:#8a6f13; }
.nk-trophy-progress { height:5px; background:#e8ece7; border-radius:999px; overflow:hidden; margin-top:6px; }
.nk-trophy-progress i { display:block; height:100%; border-radius:999px; background:#b9c4ba; }
.nk-trophy-card.earned .nk-trophy-progress i { background:linear-gradient(90deg,#d6ad2f,#f0d86d); }
.nk-trophy-toast { position:fixed; z-index:100002; left:50%; top:88px; transform:translate(-50%,-18px) scale(.96); opacity:0; display:grid; grid-template-columns:56px 1fr auto; align-items:center; gap:13px; width:min(560px,calc(100vw - 28px)); background:linear-gradient(145deg,#fff8d7,#fff); border:2px solid #e3c353; border-radius:22px; box-shadow:0 20px 65px rgba(69,57,16,.24); padding:15px 17px; transition:.28s ease; }
.nk-trophy-toast.show { transform:translate(-50%,0) scale(1); opacity:1; }
.nk-trophy-toast-icon { width:56px; height:56px; display:grid; place-items:center; border-radius:16px; background:#fff0a7; font-size:30px; }
.nk-trophy-toast-copy small,.nk-trophy-toast-copy b,.nk-trophy-toast-copy span { display:block; }
.nk-trophy-toast-copy small { color:#9a7c24; font-size:10px; font-weight:1000; letter-spacing:.12em; }
.nk-trophy-toast-copy b { color:#65520d; font-size:17px; line-height:1.3; }
.nk-trophy-toast-copy span { color:#807656; font-size:10px; margin-top:2px; }
.nk-trophy-share { appearance:none; border:0; background:#111; color:#fff; border-radius:999px; padding:9px 12px; font-size:10px; font-weight:900; cursor:pointer; white-space:nowrap; }
.nk-new-trophy { margin:9px auto 0; max-width:360px; border-radius:14px; background:#fff5cb; color:#725d11; padding:10px 13px; font-weight:900; font-size:13px; }
.nk-calendar-title-row { display:flex; align-items:center; gap:8px; margin-top:3px; }
.nk-calendar-title-row h2 { margin:0; }
.nk-cal-nav { width:30px; height:30px; border:1px solid #d7e0d7; border-radius:50%; background:#fff; color:var(--nk-green); font-size:22px; line-height:1; cursor:pointer; display:grid; place-items:center; }
.nk-cal-nav:disabled { opacity:.3; cursor:default; }

@media (max-width:700px) {
  .nk-profile-card { width:min(100%,560px); padding:24px 18px; }
  .nk-trophy-grid { grid-template-columns:1fr; }
  .nk-trophy-toast { grid-template-columns:48px 1fr; }
  .nk-trophy-toast-icon { width:48px; height:48px; }
  .nk-trophy-share { grid-column:1 / -1; width:100%; }
}

/* v4: わたしの記録ページ - Lv・実績・トロフィー・称号を統合 */
.nk-records-hub { padding-top:42px; padding-bottom:18px; }
.nk-records-profile { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:22px; border:1px solid #dce7df; border-radius:28px; background:linear-gradient(145deg,#f7fbf4,#fff); box-shadow:0 14px 40px rgba(42,67,50,.07); padding:26px 28px; }
.nk-records-profile-main h1 { margin:5px 0 9px; color:var(--nk-ink); font-size:clamp(30px,4vw,44px); line-height:1.15; }
.nk-records-current-title { display:inline-flex; align-items:center; margin-bottom:10px; padding:6px 12px; border:1px solid #ead887; border-radius:999px; background:#fff7cf; color:#6d5a13; font-size:12px; font-weight:1000; }
.nk-records-level { display:flex; align-items:baseline; gap:9px; margin-top:4px; }
.nk-records-level small { color:#718078; font-size:14px; font-weight:900; }
.nk-records-level strong { color:var(--nk-green); font-size:clamp(48px,7vw,76px); line-height:1; letter-spacing:-.04em; }
.nk-records-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; align-content:start; }
.nk-records-stats>div { min-height:94px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid #e4ece4; border-radius:17px; background:#fff; }
.nk-records-stats b { color:var(--nk-ink); font-size:25px; line-height:1.15; }
.nk-records-stats span { margin-top:4px; color:#7b8780; font-size:10px; font-weight:900; }
.nk-records-profile-actions { grid-column:2; display:flex; gap:8px; }
.nk-records-profile-actions button,.nk-records-profile-actions a { flex:1; display:flex; align-items:center; justify-content:center; border:1px solid #d8e3d8; border-radius:999px; background:#fff; color:var(--nk-green); min-height:42px; padding:8px 13px; font:inherit; font-size:11px; font-weight:1000; text-decoration:none; cursor:pointer; }
.nk-records-profile-actions button { background:#111; border-color:#111; color:#fff; }
.nk-records-jump { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:18px 0 24px; }
.nk-records-jump a { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:14px 16px; border:1px solid #dfe8df; border-radius:16px; background:#fff; color:var(--nk-ink); text-decoration:none; font-size:12px; font-weight:1000; }
.nk-records-jump a b { color:var(--nk-green); }
.nk-records-next,.nk-records-section { margin-top:22px; border:1px solid #dfe8df; border-radius:24px; background:#fff; padding:22px 24px 24px; box-shadow:0 10px 30px rgba(42,67,50,.045); scroll-margin-top:90px; }
.nk-records-next { background:linear-gradient(145deg,#fffdf4,#fff); border-color:#eadfa9; }
.nk-records-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:14px; }
.nk-records-section-head h2 { margin:3px 0 0; color:var(--nk-ink); font-size:23px; }
.nk-records-section-head p,.nk-records-section-lead { margin:0; color:#7a867f; font-size:11px; font-weight:800; }
.nk-records-count { display:flex; align-items:baseline; gap:5px; white-space:nowrap; }
.nk-records-count strong { color:var(--nk-green); font-size:28px; }
.nk-records-count span { color:#7d8981; font-size:11px; font-weight:900; }
.nk-records-next-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.nk-records-next-card { display:grid; grid-template-columns:44px 1fr; gap:10px; align-items:center; border:1px solid #eadfae; border-radius:16px; background:#fff; padding:12px; }
.nk-records-next-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#fff1b8; font-size:23px; }
.nk-records-next-card b,.nk-records-next-card small,.nk-records-next-card span { display:block; }
.nk-records-next-card b { color:var(--nk-ink); font-size:12px; }
.nk-records-next-card small { margin-top:2px; color:#7c8780; font-size:9px; line-height:1.35; }
.nk-records-next-card span { margin-top:4px; color:#8a6f13; font-size:9px; font-weight:900; }
.nk-records-next-progress { height:5px; margin-top:7px; border-radius:999px; overflow:hidden; background:#eee9d7; }
.nk-records-next-progress i { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#d8af31,#f1d970); }
.nk-records-next-empty { grid-column:1/-1; padding:18px; border-radius:14px; background:#fff; color:#6d5a13; font-weight:900; text-align:center; }
.nk-records-trophy-meter { height:9px; margin:8px 0 16px; border-radius:999px; overflow:hidden; background:#eee9d7; }
.nk-records-trophy-meter i { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#d3a923,#f1d870); }
.nk-trophy-filters { display:flex; gap:7px; flex-wrap:wrap; margin-bottom:10px; }
.nk-trophy-filters button { appearance:none; border:1px solid #dfe6df; border-radius:999px; background:#fff; color:#66736b; padding:8px 12px; font-size:10px; font-weight:1000; cursor:pointer; }
.nk-trophy-filters button.active { border-color:#d7b84c; background:#fff5c8; color:#705b10; }
.nk-records-trophy-body .nk-trophy-group { margin-top:16px; }
.nk-records-trophy-body .nk-trophy-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.nk-records-title-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:14px; }
body.nk-route-records .records-page { border-top:1px solid #e4ebe5; margin-top:24px; }
body.nk-route-records .records-page>.eyebrow { color:var(--nk-green); }

@media (max-width:900px) {
  .nk-records-profile { grid-template-columns:1fr; }
  .nk-records-profile-actions { grid-column:1; }
  .nk-records-next-grid,.nk-records-trophy-body .nk-trophy-grid,.nk-records-title-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:650px) {
  .nk-records-hub { padding-top:26px; }
  .nk-records-profile,.nk-records-next,.nk-records-section { padding:18px 15px; border-radius:20px; }
  .nk-records-jump { grid-template-columns:1fr; gap:7px; }
  .nk-records-next-grid,.nk-records-trophy-body .nk-trophy-grid,.nk-records-title-grid { grid-template-columns:1fr; }
  .nk-records-section-head { align-items:flex-start; flex-direction:column; gap:7px; }
  .nk-records-stats { grid-template-columns:repeat(2,1fr); }
  .nk-records-profile-actions { flex-direction:column; }
}
