/* 結心会VC 見た目 v43基準（2026-10-19）。本番の旧CSS本体と OGA統一ルールB を置き換える。 */

/* Layout: editorial service app. Desktop = sidebar + content + right rail, phone = top bar + tab bar.
   Portrait illustrations on soft colour fields carry the imagery; navy blocks carry the brand; gold only for rank. */
:root{
  color-scheme:light;
  --bg:#F4F8FF; --surface:#FFFFFF; --surface-2:#F0F5FC; --ink:#23262B; --ink-2:#4B5B75; --ink-3:#8493AB; --line:#E2EAF6;
  --navy:#2F3238; --navy-2:#6A6E78; --on-navy:#FFFFFF; --accent:#2F3238; --accent-ink:#FFFFFF; --accent-soft:#F1EFEA;
  --gold:#B97A12; --gold-2:#F2B63D; --gold-soft:#FFF3D6; --ok:#12875A; --ok-soft:#E1F5EC; --red:#E0434B; --red-soft:#FFEAEB;
  --sh-1:0 1px 2px rgba(30,70,140,.06),0 2px 8px rgba(30,70,140,.04); --sh-2:0 6px 20px rgba(30,70,140,.12); --sh-3:0 18px 50px rgba(30,70,140,.22);
  --f-jp:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic UI",Meiryo,sans-serif;
  --f-en:"Plus Jakarta Sans","Noto Sans JP",system-ui,sans-serif;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--f-jp);font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased;font-feature-settings:"palt";letter-spacing:.03em}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;letter-spacing:inherit;text-align:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
h1,h2,h3{margin:0;text-wrap:balance;font-weight:700}
p{margin:0}
img{display:block}
.en{font-family:var(--f-en);letter-spacing:.02em}
.num{font-family:var(--f-en);font-variant-numeric:tabular-nums;letter-spacing:0}
.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.sm{font-size:12px}.xs{font-size:12px}

/* ---------- shell ---------- */
.shell{display:grid;grid-template-columns:1fr;min-height:100vh}
.side{display:none}
.mainwrap{min-width:0;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
@media (min-width:960px){
  .shell{grid-template-columns:240px 1fr}
  .side{display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:22px 16px 18px;background:var(--surface);border-right:1px solid var(--line)}
  .mainwrap{padding-bottom:48px}
  .tabbar,.m-only{display:none!important}
}
@media (max-width:959px){.d-only{display:none!important}.top{gap:6px}.top .wordmark{margin-right:auto}}
.wordmark{display:flex;align-items:center;gap:10px}
.wordmark>svg{flex:none}
.wordmark .lt{height:19px;width:auto;display:block;color:var(--ink)}
.top .wordmark .lt{height:16px}
.wordmark b{white-space:nowrap;font-size:18px;font-weight:700;letter-spacing:.08em;color:var(--ink)}
.wordmark b span{font-family:var(--f-en);font-weight:800;letter-spacing:.02em;margin-left:2px}
.side .wordmark{padding:0 8px 26px}
.navlabel{font-family:var(--f-en);font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--ink-3);padding:14px 12px 6px}
.snav{display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;border-radius:10px;font-weight:500;color:var(--ink-2);width:100%}
.snav svg{width:20px;height:20px;flex:none}
.snav:hover{background:var(--surface-2);color:var(--ink)}
.snav[aria-current="page"]{background:var(--accent-soft);color:var(--accent);font-weight:700}
.snav .cnt{margin-left:auto;font-family:var(--f-en);font-size:12px;font-weight:700;background:var(--red);color:#fff;border-radius:99px;padding:0 7px;line-height:18px}
.side .grow{flex:1}
.side-me{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:var(--surface-2);width:100%}
.side-me .sm{line-height:1.4}

.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;display:flex;align-items:center;gap:10px;height:60px;padding:0 16px;background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
@media (min-width:960px){.top{height:68px;padding:0 36px;background:color-mix(in srgb,var(--bg) 88%,transparent);border-bottom-color:transparent}}
.top .wordmark{margin-right:auto}
.search{flex:1;max-width:440px;display:flex;flex-direction:row;align-items:center;gap:10px;height:42px;background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:0 16px;color:var(--ink-3)}
.search input{border:0;background:transparent;padding:0;font:inherit;font-size:13px;width:100%;color:var(--ink);outline:none}
.top .spacer{flex:1}
.pts{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px 0 6px;border-radius:99px;background:var(--gold-soft);color:var(--gold);font-weight:700;font-size:13px;white-space:nowrap}
.coin{width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFE7A8,var(--gold-2) 55%,#9A6B0C);display:grid;place-items:center;color:#5a3d00;font-family:var(--f-en);font-size:12px;font-weight:800;flex:none}
.iconbtn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2);position:relative;flex:none}
.iconbtn:hover{background:var(--surface-2)}
@media(max-width:560px){.top{gap:4px;padding:0 10px}.iconbtn{width:36px;height:36px}.top .pts{padding:0 10px 0 5px}}
.iconbtn .pip{position:absolute;top:9px;right:10px;width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 2px var(--surface)}

main{padding:16px 16px 32px;max-width:1200px;margin:0 auto}
@media (min-width:960px){main{padding:8px 36px 48px}}

/* ---------- type & generic ---------- */
.hello{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:4px 0 16px}
.hello h1{font-size:20px;font-weight:700}
@media (min-width:960px){.hello h1{font-size:24px}}
.sech{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}
.sech .k{display:block;font-family:var(--f-en);font-size:12px;font-weight:800;letter-spacing:.2em;color:var(--accent);margin-bottom:2px}
.sech h2{font-size:19px;font-weight:700;letter-spacing:.04em;line-height:1.35}
.more{font-size:13px;font-weight:700;color:var(--ink-2);display:inline-flex;align-items:center;gap:2px;white-space:nowrap}
.more:hover{color:var(--accent)}
.pageh{margin:8px 0 20px}
.pageh .k{font-family:var(--f-en);font-size:12px;font-weight:800;letter-spacing:.2em;color:var(--accent)}
.pageh h1{font-size:26px;font-weight:700;letter-spacing:.04em;line-height:1.3}
.pageh p{color:var(--ink-2);font-size:13px;margin-top:4px}
.card{background:var(--surface);border-radius:16px;box-shadow:var(--sh-1)}
.pad{padding:18px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 18px;border-radius:99px;font-weight:700;font-size:13px;background:var(--accent);color:var(--accent-ink);white-space:nowrap;transition:transform .12s,filter .15s}
.btn:hover{filter:brightness(1.07)}
.btn:active{transform:scale(.97)}
.btn.navy{background:var(--navy);color:var(--on-navy)}
.btn.line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.btn.line:hover{background:var(--surface-2);filter:none}
.btn.soft{background:var(--accent-soft);color:var(--accent)}
.btn.white{background:#fff;color:#2F3238}
.btn.sm{height:32px;padding:0 14px;font-size:12px}
.btn.full{width:100%;height:48px;font-size:15px}
.btn[disabled]{opacity:.4;cursor:not-allowed}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{font-size:12px;font-weight:500;line-height:20px;padding:0 8px;border-radius:4px;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}
.tag.blue{background:var(--accent-soft);color:var(--accent)}
.tag.gold{background:var(--gold-soft);color:var(--gold)}
.tag.ok{background:var(--ok-soft);color:var(--ok)}
.tag.red{background:var(--red-soft);color:var(--red)}
.vf{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--accent);color:var(--accent-ink);vertical-align:-2px;margin-left:4px;flex:none}
.pt{--s:40px;width:var(--s);height:var(--s);border-radius:50%;overflow:hidden;flex:none;display:grid;place-items:center;position:relative;isolation:isolate;color:#fff;font-weight:700;font-size:calc(var(--s)*.4);line-height:1;letter-spacing:0;
  background:radial-gradient(90% 90% at 85% 5%,color-mix(in srgb,var(--c3) 60%,transparent),transparent 62%),linear-gradient(150deg,var(--c2),var(--c1))}
.pt::after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--grain);opacity:.3;mix-blend-mode:overlay;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);pointer-events:none}
.pt.s32{--s:32px}.pt.s40{--s:40px}.pt.s48{--s:48px}.pt.s56{--s:56px}.pt.s64{--s:64px}.pt.s72{--s:72px}.pt.s88{--s:88px}.pt.s96{--s:96px}
/* imagery: grain gradients + contour lines in each company's palette (production swaps in real photos) */
:root{--grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  --topo:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600'><g fill='none' stroke='white' stroke-width='1.3'><path d='M322 300 L323 302 L323 303 L324 305 L323 307 L323 309 L321 310 L319 311 L317 312 L315 312 L313 312 L311 312 L309 313 L307 313 L306 313 L305 314 L303 314 L302 315 L300 316 L298 316 L296 316 L295 316 L293 316 L291 316 L289 315 L287 315 L286 314 L284 313 L282 312 L280 311 L279 310 L278 309 L277 307 L277 305 L277 303 L278 302 L279 300 L280 299 L282 297 L283 296 L284 295 L285 294 L285 293 L286 292 L286 290 L286 289 L287 287 L288 285 L289 284 L290 283 L292 282 L294 282 L296 282 L298 282 L300 282 L302 282 L304 283 L305 283 L307 284 L309 284 L311 285 L312 286 L313 287 L315 288 L315 289 L316 291 L317 292 L317 293 L318 295 L319 296 L319 297 L321 299 L322 300Z'/><path d='M342 300 L344 303 L345 306 L345 310 L345 313 L344 317 L341 319 L338 322 L334 323 L329 324 L325 325 L321 325 L317 325 L314 325 L312 326 L309 327 L306 329 L303 331 L300 333 L296 335 L292 336 L288 336 L284 336 L280 335 L276 333 L273 331 L270 329 L267 327 L265 324 L262 322 L260 319 L259 316 L257 313 L257 310 L257 306 L258 303 L260 300 L262 297 L264 295 L267 293 L269 291 L270 289 L271 286 L272 284 L272 281 L272 277 L273 273 L274 270 L276 267 L279 264 L283 262 L287 261 L292 261 L296 262 L300 263 L304 264 L307 266 L311 267 L314 269 L317 270 L320 271 L323 273 L326 274 L329 276 L331 278 L333 281 L335 284 L336 286 L337 289 L338 292 L339 294 L341 297 L342 300Z'/><path d='M363 300 L364 305 L365 309 L365 314 L365 319 L363 324 L360 328 L356 332 L351 335 L345 337 L339 338 L333 338 L327 339 L322 339 L318 340 L314 342 L310 344 L305 347 L300 351 L294 354 L288 356 L281 357 L275 357 L269 355 L263 352 L259 348 L255 344 L252 339 L250 335 L248 330 L246 326 L244 321 L243 317 L242 313 L241 309 L241 304 L242 300 L244 296 L246 292 L248 289 L250 285 L252 282 L254 278 L255 274 L255 269 L256 264 L258 259 L260 253 L263 248 L268 243 L274 240 L280 239 L287 239 L294 241 L300 243 L306 247 L311 250 L315 253 L319 256 L324 259 L328 261 L332 262 L337 264 L342 266 L346 268 L350 271 L353 275 L356 279 L358 283 L360 287 L361 291 L362 296 L363 300Z'/><path d='M387 300 L387 306 L386 312 L386 319 L384 325 L382 331 L378 337 L374 342 L368 346 L361 350 L353 352 L345 353 L338 354 L331 355 L325 356 L319 357 L313 360 L307 363 L300 367 L292 371 L284 374 L275 376 L266 376 L258 374 L251 370 L245 365 L240 358 L238 351 L236 344 L235 338 L234 331 L232 326 L231 321 L229 316 L227 311 L225 305 L224 300 L223 294 L223 289 L224 283 L226 278 L228 273 L231 267 L233 262 L236 256 L238 249 L241 243 L245 236 L251 230 L257 225 L265 221 L274 219 L283 220 L292 222 L300 226 L307 231 L314 236 L319 242 L324 246 L329 250 L334 252 L339 254 L346 255 L353 257 L360 259 L367 262 L373 265 L379 270 L382 275 L385 281 L387 287 L387 294 L387 300Z'/><path d='M415 300 L412 308 L409 316 L405 323 L402 330 L398 337 L393 344 L388 350 L382 356 L374 361 L366 365 L358 367 L349 369 L340 370 L332 372 L324 373 L316 376 L308 379 L300 382 L291 386 L281 390 L270 392 L259 392 L249 390 L239 386 L232 380 L226 372 L222 364 L221 355 L220 346 L220 338 L219 331 L217 325 L215 319 L211 313 L207 307 L203 300 L199 293 L197 285 L197 277 L198 269 L200 262 L204 255 L209 248 L214 241 L220 234 L226 228 L233 222 L241 216 L249 211 L259 207 L269 205 L280 206 L290 208 L300 212 L309 218 L316 224 L323 230 L328 236 L334 240 L340 243 L347 245 L356 246 L365 247 L376 248 L386 250 L396 254 L405 260 L412 267 L416 275 L417 283 L417 292 L415 300Z'/><path d='M444 300 L437 310 L430 319 L422 327 L415 334 L408 341 L402 348 L397 355 L391 362 L384 369 L376 375 L368 380 L359 384 L349 387 L339 389 L330 391 L320 393 L310 396 L300 399 L289 402 L277 405 L265 408 L252 408 L239 407 L228 403 L218 396 L210 388 L205 378 L203 367 L202 356 L202 347 L202 338 L201 330 L198 322 L194 315 L188 308 L182 300 L176 291 L172 281 L169 271 L169 261 L172 251 L178 242 L185 234 L194 227 L204 221 L214 216 L224 211 L234 206 L244 202 L255 199 L266 197 L278 196 L289 197 L300 200 L310 205 L319 210 L328 216 L335 221 L342 226 L350 229 L359 231 L369 232 L381 233 L395 235 L409 238 L422 242 L434 249 L443 257 L448 267 L450 278 L448 289 L444 300Z'/><path d='M467 300 L457 311 L446 321 L434 329 L423 337 L414 344 L407 351 L401 358 L396 366 L391 374 L385 383 L378 391 L370 399 L360 405 L349 410 L337 414 L325 417 L313 419 L300 421 L287 423 L273 424 L259 425 L245 425 L230 423 L217 418 L205 412 L195 403 L188 392 L184 380 L182 368 L182 356 L183 345 L182 335 L181 326 L177 318 L171 309 L164 300 L157 290 L151 278 L146 266 L145 254 L148 242 L154 231 L163 222 L175 214 L188 208 L202 204 L215 201 L228 198 L241 195 L252 193 L264 190 L276 188 L288 187 L300 187 L312 189 L323 192 L334 195 L344 200 L354 204 L365 208 L376 211 L388 214 L401 217 L416 220 L431 225 L446 231 L460 239 L470 249 L476 261 L477 274 L474 287 L467 300Z'/><path d='M483 300 L472 312 L458 323 L444 332 L431 339 L420 346 L412 353 L407 361 L403 371 L400 382 L396 394 L391 406 L383 418 L373 429 L361 438 L347 444 L332 448 L316 449 L300 449 L284 448 L269 446 L253 444 L238 440 L223 436 L208 431 L195 423 L184 414 L175 403 L169 390 L166 377 L164 364 L165 352 L165 340 L164 330 L161 320 L156 310 L149 300 L141 289 L134 276 L128 262 L125 248 L126 234 L132 221 L142 209 L156 201 L171 195 L188 191 L205 188 L221 187 L235 186 L249 184 L261 182 L274 178 L287 175 L300 172 L314 170 L328 170 L342 171 L356 174 L369 178 L382 183 L395 189 L408 194 L422 200 L436 206 L450 214 L465 222 L477 232 L487 244 L493 258 L495 272 L491 286 L483 300Z'/><path d='M495 300 L485 313 L473 325 L459 335 L446 344 L435 352 L426 360 L420 369 L417 380 L414 394 L411 409 L407 425 L399 441 L389 456 L375 468 L358 476 L339 481 L319 481 L300 478 L282 473 L264 466 L248 459 L233 451 L218 443 L205 436 L191 427 L179 418 L169 408 L160 396 L154 384 L150 371 L147 358 L146 346 L144 334 L141 323 L137 312 L131 300 L123 287 L115 273 L108 258 L104 242 L105 225 L109 210 L119 196 L134 186 L151 178 L171 174 L191 172 L210 172 L227 172 L243 172 L258 170 L271 167 L285 162 L300 157 L316 152 L332 149 L350 148 L367 149 L384 152 L400 158 L414 166 L428 175 L440 185 L453 195 L464 206 L476 217 L486 229 L495 242 L501 256 L503 271 L501 286 L495 300Z'/><path d='M507 300 L502 314 L493 328 L483 340 L471 351 L461 361 L451 372 L444 383 L439 396 L435 410 L430 427 L424 445 L415 464 L403 481 L386 495 L367 504 L345 509 L322 508 L300 502 L279 493 L261 481 L245 468 L231 456 L218 445 L205 434 L193 426 L180 417 L167 409 L155 400 L144 390 L134 378 L127 366 L121 354 L116 340 L111 327 L107 314 L102 300 L96 285 L89 270 L84 253 L81 235 L82 217 L87 199 L97 183 L112 171 L131 162 L153 156 L176 154 L198 155 L218 157 L237 158 L254 158 L269 156 L284 152 L300 146 L317 140 L336 134 L356 130 L376 128 L396 131 L415 137 L432 146 L446 157 L458 171 L468 184 L477 198 L485 212 L493 226 L500 240 L505 255 L509 270 L510 285 L507 300Z'/><path d='M523 300 L522 316 L519 332 L512 347 L504 361 L494 374 L484 387 L474 400 L465 414 L457 429 L448 445 L439 463 L427 481 L412 497 L394 511 L372 521 L349 526 L324 525 L300 517 L278 506 L259 491 L243 475 L229 459 L218 445 L206 433 L194 424 L180 417 L164 411 L147 405 L130 398 L113 388 L98 377 L85 364 L76 349 L69 333 L64 317 L61 300 L59 283 L57 265 L57 247 L58 228 L62 209 L70 191 L81 174 L97 160 L117 150 L140 143 L164 141 L188 141 L211 144 L232 146 L250 148 L267 148 L283 145 L300 139 L318 131 L338 123 L360 116 L383 112 L407 112 L429 117 L449 126 L465 139 L478 154 L487 171 L494 189 L499 206 L504 222 L508 238 L513 253 L518 269 L521 284 L523 300Z'/><path d='M537 300 L540 317 L542 335 L540 353 L535 370 L526 387 L516 402 L504 417 L491 431 L477 445 L464 460 L450 475 L434 491 L417 506 L397 519 L375 528 L350 533 L325 533 L300 527 L277 516 L257 501 L240 484 L226 468 L213 453 L201 440 L188 431 L173 425 L154 420 L132 415 L109 410 L85 402 L63 391 L44 377 L29 360 L20 341 L16 320 L16 300 L20 280 L26 260 L33 241 L42 223 L52 205 L64 188 L78 172 L94 158 L113 147 L135 139 L158 134 L182 132 L205 133 L227 135 L247 136 L265 136 L282 133 L300 127 L319 119 L341 110 L365 101 L391 95 L418 92 L444 95 L468 103 L488 116 L503 134 L513 154 L518 175 L521 195 L522 215 L523 233 L525 251 L528 267 L532 283 L537 300Z'/><path d='M544 300 L550 318 L555 337 L558 357 L558 377 L553 397 L543 415 L530 432 L515 448 L497 462 L479 475 L460 487 L440 499 L420 511 L399 522 L376 531 L351 537 L325 539 L300 536 L276 528 L253 516 L234 502 L217 486 L203 471 L189 458 L174 448 L156 440 L135 435 L111 430 L84 424 L56 416 L29 404 L5 388 L-13 369 L-23 347 L-26 323 L-22 300 L-12 278 L2 257 L19 238 L36 221 L53 205 L69 191 L85 176 L101 163 L118 150 L136 140 L156 131 L176 124 L198 120 L219 118 L240 116 L260 114 L280 110 L300 104 L322 97 L346 88 L372 79 L401 73 L431 70 L461 72 L488 80 L511 94 L528 113 L539 136 L544 160 L544 184 L541 208 L538 229 L536 248 L536 266 L539 283 L544 300Z'/><path d='M545 300 L552 318 L562 338 L570 359 L575 382 L575 405 L570 428 L558 448 L541 466 L521 481 L498 494 L474 504 L450 513 L426 522 L402 530 L377 537 L352 543 L326 546 L300 547 L274 543 L249 536 L227 525 L206 512 L188 498 L170 484 L153 472 L135 461 L114 453 L89 445 L62 437 L33 426 L5 413 L-20 396 L-39 375 L-51 351 L-53 325 L-47 300 L-32 276 L-12 255 L11 236 L34 221 L57 207 L76 194 L93 181 L108 168 L122 154 L135 139 L150 125 L167 111 L186 100 L207 90 L229 83 L252 77 L276 72 L300 67 L325 62 L352 57 L381 52 L411 49 L443 49 L474 53 L503 63 L527 78 L546 98 L558 123 L562 149 L561 176 L556 202 L549 226 L543 247 L539 265 L540 283 L545 300Z'/></g></svg>")}
.cov{position:absolute;inset:0;overflow:hidden;color:#fff;isolation:isolate;
  background:radial-gradient(60% 65% at 95% 0%,color-mix(in srgb,var(--c3) 70%,transparent),transparent 70%),linear-gradient(158deg,var(--c2) 0%,var(--c1) 100%)}
.cov::before{content:"";position:absolute;width:150%;aspect-ratio:1;right:-62%;top:-58%;background:var(--topo) center/contain no-repeat;opacity:.2;z-index:-1}
.cov::after{content:"";position:absolute;inset:0;background:var(--grain);opacity:.28;mix-blend-mode:overlay;pointer-events:none}
.cov .k{position:absolute;left:16px;top:14px;font-family:var(--f-en);font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.cov .enm{position:absolute;left:16px;right:16px;bottom:14px;font-family:var(--f-en);font-weight:800;font-size:22px;line-height:1.02;letter-spacing:-.01em;text-wrap:balance}

.logo{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--lc);color:#fff;font-weight:700;font-size:17px;letter-spacing:0;position:relative;overflow:hidden}
.logo::after{content:"";position:absolute;right:-10px;bottom:-10px;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.16)}
.logo.s36{width:36px;height:36px;font-size:14px;border-radius:10px}

/* ---------- home ---------- */
.home{display:grid;grid-template-columns:1fr;gap:36px}
.colm{display:flex;flex-direction:column;gap:40px;min-width:0}
.rail{display:flex;flex-direction:column;gap:16px;min-width:0}
@media (min-width:1120px){.home{grid-template-columns:minmax(0,1fr) 320px}.rail{position:sticky;top:84px;align-self:start}}

.hero{position:relative;border-radius:20px;overflow:hidden;background:var(--navy);color:var(--on-navy)}
.slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.slides::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:1fr;min-height:340px;position:relative}
.slide .st{padding:26px 22px 54px;display:flex;flex-direction:column;gap:12px;position:relative;z-index:1}
.slide .lab{display:inline-flex;align-self:flex-start;align-items:center;gap:6px;font-family:var(--f-en);font-size:12px;font-weight:800;letter-spacing:.18em;color:#fff}
.slide .lab::before{content:"";width:18px;height:1.5px;background:currentColor}
.slide h2{font-size:24px;font-weight:700;line-height:1.45;letter-spacing:.04em}
.slide .who{font-size:13px;opacity:.78}
.slide .cov::before{width:110%;right:-30%;top:-40%;opacity:.22}
.slide .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,40,120,.28),transparent 70%)}
.slide .glass{display:none}
@media (min-width:700px){.slide .glass{display:flex;flex-direction:column;gap:12px;align-self:center;justify-self:center;width:min(280px,86%);padding:22px;border-radius:18px;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 20px 50px rgba(0,0,0,.25);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);position:relative;z-index:1}
 .slide .glass .pt{box-shadow:0 0 0 3px rgba(255,255,255,.35)}
 .slide .glass b{font-size:18px;letter-spacing:.08em}
 .slide .glass .gs{display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid rgba(255,255,255,.2);padding-top:12px;font-size:12px;opacity:.9}
 .slide .glass .gs b{font-family:var(--f-en);font-size:26px;letter-spacing:0;line-height:1}}
@media (max-width:699px){.slide h2{font-size:21px}}
@media (min-width:700px){.slide{grid-template-columns:1.15fr 1fr;min-height:320px}.slide .st{padding:40px 44px 56px;justify-content:center}.slide h2{font-size:30px}}
.dots{position:absolute;left:22px;bottom:20px;display:flex;gap:6px;z-index:2}
@media (min-width:700px){.dots{left:44px;bottom:26px}}
.dots button{width:8px;height:8px;border-radius:99px;background:rgba(255,255,255,.35);transition:width .25s}
.dots button[aria-current="true"]{width:24px;background:#fff}

.strip{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;background:var(--surface);box-shadow:var(--sh-1);width:100%}
.ring{width:46px;height:46px;flex:none}

.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
@media (min-width:700px){.quick{grid-template-columns:repeat(6,1fr)}}
.q{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;font-weight:700;text-align:center;padding:4px 0}
.q i{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;font-style:normal;background:var(--surface);box-shadow:var(--sh-1);color:var(--navy)}
:root[data-theme="dark"] .q i{color:var(--ink)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .q i{color:var(--ink)}}
.q:hover i{box-shadow:var(--sh-2)}
@media (min-width:700px){.q.x{display:flex}}
@media (max-width:699px){.q.x{display:none}}

/* portrait cards */
.pcs{display:grid;grid-auto-flow:column;grid-auto-columns:68%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding:2px 16px 10px;scrollbar-width:none}
.pcs::-webkit-scrollbar{display:none}
@media (min-width:700px){.pcs{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));overflow:visible;margin:0;padding:0}}
.pc{scroll-snap-align:start;display:flex;flex-direction:column;background:var(--surface);border-radius:16px;overflow:hidden;box-shadow:var(--sh-1);transition:box-shadow .2s,transform .2s}
.pc:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}
.pc .img{position:relative;aspect-ratio:16/10;max-width:100%;overflow:hidden}
.pc .b .pt{margin:-34px 0 6px;box-shadow:0 0 0 3px var(--surface);position:relative;z-index:1}
.pc .img .ind{position:absolute;left:12px;top:12px;font-size:12px;font-weight:700;color:#1b2333;background:rgba(255,255,255,.82);padding:2px 8px;border-radius:99px;backdrop-filter:blur(6px)}
.pc .img .rar{position:absolute;right:12px;top:12px;font-family:var(--f-en);font-size:12px;font-weight:800;color:#5a3d00;background:var(--gold-2);padding:2px 7px;border-radius:99px;letter-spacing:.06em}
.pc .b{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.pc .co{font-size:12px;color:var(--ink-3)}
.pc .nm{font-size:16px;font-weight:700;display:flex;align-items:center}
.pc .nm small{font-size:12px;font-weight:500;color:var(--ink-3);margin-left:8px}
.pc .qt{font-size:13px;color:var(--ink-2);line-height:1.65;margin-top:4px;flex:1}
.pc .ft{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;font-size:12px;color:var(--ink-3)}

/* benefits */
.bens{display:grid;grid-auto-flow:column;grid-auto-columns:82%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding:2px 16px 10px;scrollbar-width:none}
.bens::-webkit-scrollbar{display:none}
@media (min-width:700px){.bens{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));overflow:visible;margin:0;padding:0}}
.ben{scroll-snap-align:start;display:flex;background:var(--surface);border-radius:16px;box-shadow:var(--sh-1);overflow:hidden;min-height:150px}
.ben .lft{width:84px;flex:none;background:var(--lc);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:relative;text-align:center;padding:8px}
.ben .lft::after{content:"";position:absolute;right:-1px;top:8px;bottom:8px;border-right:2px dashed var(--surface)}
.ben .lft b{font-size:20px;font-weight:700;line-height:1.1}
.ben .lft small{font-size:12px;opacity:.85;line-height:1.3}
.ben .rt{padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.ben h3{font-size:15px;line-height:1.5}
.ben .ft{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;align-items:center;gap:8px}

/* lists */
.list{background:var(--surface);border-radius:16px;box-shadow:var(--sh-1);overflow:hidden}
.list>*+*{border-top:1px solid var(--line)}
.li{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;width:100%}
button.li:hover{background:var(--surface-2)}
.li .b{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.li h3{font-size:15px;line-height:1.5}
.date{width:48px;flex:none;text-align:center;line-height:1.1;padding-top:2px}
.date small{display:block;font-family:var(--f-en);font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--red)}
.date b{display:block;font-family:var(--f-en);font-size:26px;font-weight:800}
.date span{font-size:12px;color:var(--ink-3)}

/* rail widgets */
.rank{background:linear-gradient(135deg,#2F3238,#9A8B73);color:#fff;border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden}
.rank::after{content:"";position:absolute;right:-50px;top:-50px;width:160px;height:160px;border-radius:50%;border:24px solid rgba(255,255,255,.05)}
.rank .top2{display:flex;align-items:center;gap:12px;position:relative;z-index:1}
.rank .lv{font-family:var(--f-en);font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--gold-2)}
.rank b.rn{font-size:20px;font-weight:700;letter-spacing:.06em;display:block;line-height:1.3}
.rank .xp{margin-left:auto;text-align:right}
.rank .xp b{font-family:var(--f-en);font-size:22px;font-weight:800}
.gbar{height:6px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden;position:relative;z-index:1}
.gbar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-2),#F5D58A);border-radius:99px;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center;font-size:12px;position:relative;z-index:1}
.week span{display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.55}
.week span::before{content:"";width:26px;height:26px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35)}
.week span.on{opacity:1}
.week span.on::before{background:var(--gold-2);border-color:var(--gold-2);box-shadow:inset 0 0 0 6px var(--navy)}
.ms{display:flex;align-items:center;gap:12px;padding:12px 0}
.ms+.ms{border-top:1px solid var(--line)}
.ck{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--line);flex:none;display:grid;place-items:center;color:#fff}
.ms.done .ck{background:var(--ok);box-shadow:none}
.ms .mt{flex:1;min-width:0;font-size:13px;font-weight:500;line-height:1.5}
.ms .mt small{display:block;color:var(--ink-3);font-size:12px;font-weight:400}
.ms .got{font-size:12px;color:var(--ink-3)}
.games{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gm{border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px;min-height:150px;position:relative;overflow:hidden;box-shadow:var(--sh-1)}
.gm .t{font-size:15px;font-weight:700;line-height:1.4;position:relative}
.gm .s{font-size:12px;line-height:1.5;opacity:.75;position:relative}
.gm .go{margin-top:auto;font-size:12px;font-weight:700;display:flex;align-items:center;gap:4px;position:relative}
.gm.qz{background:var(--surface)}
.gm.qz::after{content:"Q";position:absolute;right:8px;top:6px;font-family:var(--f-en);font-weight:800;font-size:44px;line-height:1;color:var(--accent-soft)}
.gm.gc{background:linear-gradient(150deg,#2F3238,#8A7A5E);color:#fff}
.gm.gc .cards{position:absolute;right:-12px;bottom:-8px;width:84px;height:60px}
.gm.gc .cards i{position:absolute;inset:0;border-radius:4px;background:#fff;box-shadow:0 4px 10px rgba(0,0,0,.3)}
.gm.gc .cards i:nth-child(1){transform:rotate(-14deg) translate(-14px,-6px);background:var(--gold-2)}
.gm.gc .cards i:nth-child(2){transform:rotate(-4deg) translate(-4px,-2px);background:#DCE4F5}
.gm.gc .cards i:nth-child(3){transform:rotate(8deg)}
.gm.done{opacity:.6}

/* ---------- timeline ---------- */
.tl{display:grid;grid-template-columns:1fr;gap:24px}
.tl>*,.home>*{min-width:0}
[hidden]{display:none!important}
@media (min-width:1120px){.tl{grid-template-columns:minmax(0,620px) 300px;justify-content:start}}
.feed{background:var(--surface);border-radius:16px;box-shadow:var(--sh-1);overflow:hidden}
@media (max-width:699px){.feed{margin-inline:-16px;border-radius:0;box-shadow:none;border-block:1px solid var(--line)}}
.feed>*+*{border-top:1px solid var(--line)}
.composer{display:flex;gap:12px;padding:16px 18px}
.composer textarea{width:100%;resize:none;border:0;background:transparent;font:inherit;font-size:15px;color:var(--ink);min-height:52px;padding:8px 0;outline:none}
.composer .bar{display:flex;align-items:center;gap:8px;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px}
.kindsel{display:flex;gap:4px}
.kindsel button{height:28px;padding:0 10px;border-radius:99px;font-size:12px;font-weight:700;color:var(--ink-3)}
.kindsel button[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent)}
.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;margin-bottom:0}
.tabs::-webkit-scrollbar{display:none}
.tabs button{height:44px;font-size:14px;font-weight:700;color:var(--ink-3);position:relative;white-space:nowrap}
.tabs button[aria-pressed="true"]{color:var(--ink)}
.tabs button[aria-pressed="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--ink)}
.post{display:flex;gap:12px;padding:16px 18px}
.post .b{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.post .hd{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--ink-3)}
.post .hd b{font-size:14px;color:var(--ink)}
.post .txt{font-size:14.5px;line-height:1.85;white-space:pre-wrap;word-break:break-word}
.attach{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);margin-top:6px;width:100%}
.attach:hover{background:var(--surface-2)}
.acts{display:flex;gap:2px;margin:4px 0 -6px -8px}
.act{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border-radius:99px;font-size:12px;color:var(--ink-3)}
.act:hover{background:var(--surface-2);color:var(--ink-2)}
.act[aria-pressed="true"]{color:var(--red)}
.act.talk{color:var(--accent);font-weight:700}

/* ---------- KOATalk ---------- */
.talk{display:grid;grid-template-columns:1fr;height:calc(100vh - 230px);min-height:480px;background:var(--surface);border-radius:16px;box-shadow:var(--sh-1);overflow:hidden}
@media (min-width:960px){.talk{grid-template-columns:330px 1fr;height:calc(100vh - 190px)}}
@media (max-width:959px){.talk{margin-inline:-16px;border-radius:0;height:calc(100vh - 240px)}.talk.open .rooms{display:none}.talk:not(.open) .chat{display:none}}
.rooms{border-right:1px solid var(--line);overflow-y:auto;min-width:0}
.rooms .rhd{padding:14px 16px 8px;display:flex;gap:6px}
.room{display:flex;gap:12px;align-items:center;padding:12px 16px;width:100%}
.room:hover{background:var(--surface-2)}
.room[aria-current="true"]{background:var(--accent-soft)}
.room .b{flex:1;min-width:0}
.room .n{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;font-weight:700}
.room .n time{font-family:var(--f-en);font-size:12px;font-weight:500;color:var(--ink-3);flex:none}
.room .l{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2)}
.room .l span:not(.unread){flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.unread{flex:none;min-width:20px;height:20px;border-radius:99px;background:var(--red);color:#fff;font-family:var(--f-en);font-size:12px;font-weight:700;display:grid;place-items:center;padding:0 6px}
.gicon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;flex:none;background:var(--lc);color:#fff;font-weight:700}
.chat{display:flex;flex-direction:column;min-width:0;min-height:0}
.chd{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line)}
.chd .b{flex:1;min-width:0;line-height:1.4}
.msgs{flex:1;overflow-y:auto;padding:20px 16px;display:flex;flex-direction:column;gap:14px;background:var(--surface-2)}
.msg{display:flex;gap:8px;align-items:flex-end;max-width:82%}
.msg .bub{background:var(--surface);padding:10px 14px;border-radius:18px 18px 18px 6px;font-size:14px;line-height:1.7;white-space:pre-wrap;word-break:break-word;box-shadow:var(--sh-1)}
.msg time{font-family:var(--f-en);font-size:12px;color:var(--ink-3);flex:none}
.msg .who{font-size:12px;color:var(--ink-3);margin:0 0 3px 4px}
.msg.me{align-self:flex-end;flex-direction:row-reverse}
.msg.me .bub{background:var(--navy);color:var(--on-navy);border-radius:18px 18px 6px 18px}
.sys{align-self:center;font-size:12px;color:var(--ink-3);padding:3px 12px;border-radius:99px;background:var(--surface)}
.typing{font-size:12px;color:var(--ink-3);padding:0 20px 8px;background:var(--surface-2)}
.cin{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line)}
.cin input{flex:1;min-width:0;border:0;border-radius:99px;padding:0 16px;height:42px;font:inherit;color:var(--ink);background:var(--surface-2);outline:none}
.cin .btn{width:42px;padding:0}

/* ---------- discover ---------- */
.seg{display:flex;gap:4px;padding:4px;border-radius:99px;background:var(--surface);box-shadow:var(--sh-1);max-width:100%;overflow-x:auto;width:max-content}
.seg button{height:36px;padding:0 20px;border-radius:99px;font-size:13px;font-weight:700;color:var(--ink-2);white-space:nowrap}
.seg button[aria-pressed="true"]{background:var(--navy);color:var(--on-navy)}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding:0 16px}
.chips::-webkit-scrollbar{display:none}
@media (min-width:960px){.chips{margin:0;padding:0;flex-wrap:wrap}}
.chips button{height:32px;padding:0 14px;border-radius:99px;box-shadow:inset 0 0 0 1px var(--line);background:var(--surface);font-size:12px;font-weight:700;color:var(--ink-2);white-space:nowrap}
.chips button[aria-pressed="true"]{background:var(--accent);color:#fff;box-shadow:none}

/* ---------- me ---------- */
.mehead{border-radius:20px;overflow:hidden;background:var(--surface);box-shadow:var(--sh-1)}
.mehead .cv{height:96px;position:relative;overflow:hidden}
.mehead .cv::after{content:"";position:absolute;right:-40px;top:-60px;width:220px;height:220px;border-radius:50%;border:30px solid rgba(255,255,255,.05)}
.mehead .bd{padding:0 18px 18px;display:flex;flex-direction:column;gap:8px}
.mehead .pt{margin-top:-44px;box-shadow:0 0 0 4px var(--surface)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;border-top:1px solid var(--line);margin-top:6px;padding-top:12px}
.stats b{display:block;font-family:var(--f-en);font-size:18px;font-weight:800}
.stats span{font-size:12px;color:var(--ink-3)}
.me-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:1040px){.me-grid{grid-template-columns:340px minmax(0,1fr);align-items:start}}
.meishis{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.meishi{aspect-ratio:91/55;max-width:100%;border-radius:4px;background:#FDFDFC;color:#1B2230;box-shadow:0 1px 1px rgba(0,0,0,.06),0 6px 18px rgba(17,20,24,.10);padding:14px 16px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.meishi .h{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:#4D5562;letter-spacing:.06em}
.meishi .h i{width:16px;height:16px;border-radius:4px;background:var(--lc);flex:none}
.meishi .ti{margin-top:auto;font-size:12px;color:#8B929C;letter-spacing:.1em}
.meishi .nm{font-size:19px;font-weight:700;letter-spacing:.24em;line-height:1.4}
.meishi .en2{font-family:var(--f-en);font-size:12px;color:#8B929C;letter-spacing:.12em;text-transform:uppercase}
.meishi .st{position:absolute;right:14px;bottom:12px;font-size:12px;letter-spacing:1px;color:#B88A1F}
.meishi .band{position:absolute;right:0;top:0;bottom:0;width:6px;background:var(--lc)}
.meishi.SSR{background:linear-gradient(135deg,#FFFDF7,#F7EFD9)}
.meishi.SSR::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.7) 48%,transparent 60%);pointer-events:none}
.meishi.locked{background:transparent;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink-3);align-items:center;justify-content:center;gap:2px;text-align:center}
.badges{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 8px}
.badge{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;text-align:center;color:var(--ink-3);line-height:1.4}
.badge i{width:52px;height:52px;display:grid;place-items:center;font-style:normal;font-weight:700;font-size:17px;clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);background:var(--surface-2);color:var(--ink-3)}
.badge.got{color:var(--ink)}
.badge.got i{background:linear-gradient(160deg,#F5D58A,var(--gold-2) 60%,#B88A1F);color:#5a3d00}
.kv{display:flex;justify-content:space-between;padding:12px 0;font-size:13px}
.kv+.kv{border-top:1px solid var(--line)}

/* ---------- tab bar ---------- */
.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:30;display:grid;grid-template-columns:repeat(6,1fr);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:6px 0 calc(6px + env(safe-area-inset-bottom,0px))}
.tabbar button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0;font-size:12px;font-weight:700;color:var(--ink-3);position:relative;text-align:center}
.tabbar svg{width:24px;height:24px}
.tabbar .tmatch svg{color:#E8475F}
.tabbar button[aria-current="page"]{color:var(--accent)}
.tabbar .pip{position:absolute;top:0;left:calc(50% + 6px);min-width:17px;height:17px;border-radius:99px;background:var(--red);color:#fff;font-family:var(--f-en);font-size:12px;font-weight:700;display:grid;place-items:center;padding:0 4px;box-shadow:0 0 0 2px var(--surface)}

/* ---------- modal ---------- */
.scrim{position:fixed;inset:0;background:rgba(8,12,22,.5);z-index:50;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s}
@media (min-width:700px){.scrim{align-items:center;padding:24px}}
.sheet{width:100%;max-width:520px;max-height:92vh;overflow-y:auto;background:var(--surface);border-radius:22px 22px 0 0;box-shadow:var(--sh-3);animation:up .28s cubic-bezier(.2,.8,.2,1)}
@media (min-width:700px){.sheet{border-radius:22px}}
.shd{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 14px 20px;position:sticky;top:0;background:var(--surface);z-index:3}
.shd h2{font-size:15px}
.sbd{padding:4px 20px 24px;display:flex;flex-direction:column;gap:16px}
.close{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2);background:var(--surface-2)}
@keyframes fade{from{opacity:0}}
@keyframes up{from{transform:translateY(28px);opacity:0}}
.pf-hero{margin:-4px -20px 0;height:180px;position:relative;overflow:hidden}
.pf-hero .enm{font-size:28px;bottom:auto;top:40px}
.pf-av{margin:-56px 0 -6px;position:relative;z-index:1}.pf-av .pt{box-shadow:0 0 0 4px var(--surface)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);background:var(--surface-2);border-radius:12px}
.facts div{padding:12px 14px}
.facts div+div{border-left:1px solid var(--line)}
.facts small{display:block;font-size:12px;color:var(--ink-3)}
.facts b{font-family:var(--f-en);font-size:18px;font-weight:800}
.facts b small{display:inline;font-family:var(--f-jp);font-size:12px;font-weight:500;margin-left:1px}
.note{background:var(--surface-2);border-radius:12px;padding:12px 14px;font-size:13px}
.note b{display:block;font-size:12px;color:var(--ink-3);letter-spacing:.08em;margin-bottom:2px}
.note.gold{background:var(--gold-soft)}
.qbar{display:flex;gap:4px}
.qbar span{flex:1;height:4px;border-radius:9px;background:var(--line)}
.qbar .ok{background:var(--ok)}.qbar .ng{background:var(--red)}.qbar .now{background:var(--navy)}
.qtext{font-size:18px;font-weight:700;line-height:1.6}
.opts{display:flex;flex-direction:column;gap:8px}
.opt{padding:14px 16px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);font-weight:500;display:flex;gap:12px;align-items:center}
.opt:hover:not([disabled]){box-shadow:inset 0 0 0 1.5px var(--navy)}
.opt .k{font-family:var(--f-en);font-weight:800;color:var(--ink-3);width:22px;height:22px;border-radius:50%;background:var(--surface-2);display:grid;place-items:center;font-size:12px;flex:none}
.opt.right{box-shadow:inset 0 0 0 1.5px var(--ok);background:var(--ok-soft)}
.opt.wrong{box-shadow:inset 0 0 0 1.5px var(--red);background:var(--red-soft)}
.center{text-align:center;align-items:center}
.score{font-family:var(--f-en);font-size:64px;font-weight:800;line-height:1}
.stage{height:260px;display:grid;place-items:center;perspective:1000px;border-radius:16px;background:radial-gradient(circle at 50% 55%,#BBD6FF,#5C9BFA 75%)}
.flipper{width:260px;max-width:80%;aspect-ratio:91/55;position:relative;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.3,1.3,.4,1)}
.flipper.on{transform:rotateY(180deg)}
.flipper.wob{animation:wob .45s ease-in-out 2}
@keyframes wob{25%{transform:translateY(-8px) rotate(-2deg)}75%{transform:translateY(-8px) rotate(2deg)}}
.flipper>*{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.flipper .back{border-radius:4px;background:linear-gradient(135deg,#2F3238,#2F3238);box-shadow:0 0 0 1px rgba(255,255,255,.8),0 10px 30px rgba(20,60,140,.35);display:grid;place-items:center}
.flipper .front{transform:rotateY(180deg)}
.flipper .front .meishi{height:100%}
label{font-size:12px;font-weight:700;color:var(--ink-2);display:flex;flex-direction:column;gap:6px}
input,select,textarea{font:inherit;color:var(--ink);background:var(--surface-2);border:1px solid transparent;border-radius:10px;padding:10px 12px;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;background:var(--surface)}
.toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:70;background:var(--ink);color:var(--surface);padding:12px 20px;border-radius:99px;font-size:13px;font-weight:700;box-shadow:var(--sh-3);max-width:calc(100% - 32px);animation:up .25s;display:flex;align-items:center;gap:8px}
@media (min-width:960px){.toast{bottom:36px}}
.koa-hero{display:grid;grid-template-columns:1fr;gap:18px;background:var(--surface);border-radius:20px;box-shadow:var(--sh-1);padding:14px}
@media (min-width:900px){.koa-hero{grid-template-columns:1.35fr 1fr;padding:18px;align-items:center}}
.koa-hero .info{display:flex;flex-direction:column;gap:10px;padding:4px 6px}
.koa-hero h2{font-size:21px;font-weight:700;line-height:1.5}
.thumb{position:relative;aspect-ratio:16/9;width:100%;max-width:100%;border-radius:12px;overflow:hidden;color:#fff;display:block;isolation:isolate;container-type:inline-size;
  background:radial-gradient(70% 100% at 100% 0%,rgba(255,255,255,.38),transparent 62%),linear-gradient(135deg,var(--tc),color-mix(in srgb,var(--tc) 68%,#001a5c))}
.thumb::after{content:"";position:absolute;inset:0;background:var(--grain);opacity:.25;mix-blend-mode:overlay;pointer-events:none}
.thumb .wm{position:absolute;right:-4cqw;bottom:-11cqw;font-family:var(--f-en);font-weight:800;font-size:36cqw;line-height:1;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.4);z-index:-1}
.thumb .lg{position:absolute;left:6cqw;top:6cqw;display:flex;align-items:center;gap:1.6cqw;font-family:var(--f-en);font-weight:800;font-size:3cqw;letter-spacing:.18em}
.thumb .lg::before{content:"";width:2.4cqw;height:2.4cqw;background:#fff;border-radius:.4cqw}
.thumb .tt{position:absolute;left:6cqw;top:16cqw;width:82cqw;font-weight:700;line-height:1.3;font-size:6.6cqw;letter-spacing:.02em}
.thumb .tt mark{color:#fff;background:linear-gradient(transparent 62%,rgba(255,255,255,.38) 62%)}
.thumb .nm{position:absolute;left:6cqw;right:6cqw;bottom:6cqw;display:flex;align-items:center;gap:2cqw;font-size:3.2cqw;font-weight:700;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thumb .nm::before{content:"";width:5cqw;height:1px;background:currentColor;flex:none}
.thumb .play{position:absolute;right:6cqw;bottom:5cqw;width:11cqw;height:11cqw;border-radius:50%;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);display:grid;place-items:center;transition:background .15s}
.thumb .play svg{width:45%;height:45%;margin-left:6%}
.thumb:hover .play,a:hover .thumb .play,button:hover .thumb .play{background:#E62117;box-shadow:none}
.thumb.sm .tt{font-size:7.2cqw}
.thumb.sm .nm{right:20cqw}
/* Keep the original programme thumbnail intact and hide the fallback lettering once loaded. */
.thumb{background:#101827}
.thumb img.ytp{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.thumb.hasimg .wm,.thumb.hasimg .lg,.thumb.hasimg .tt,.thumb.hasimg .nm{display:none}
.thumb.hasimg::after{display:none}
.eps{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:600px){.eps{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.eps{grid-template-columns:repeat(3,1fr)}}
.ep{display:flex;flex-direction:column;gap:8px;width:100%}
.ep h3{font-size:14px;line-height:1.55;font-weight:700}
.ep .meta{font-size:12px;color:var(--ink-3)}
.eprow{display:grid;grid-auto-flow:column;grid-auto-columns:72%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding:2px 16px 8px;scrollbar-width:none}
.eprow::-webkit-scrollbar{display:none}
.eprow>*{scroll-snap-align:start}
@media (min-width:700px){.eprow{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible;margin:0;padding:0}}
.yt{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:99px;background:#E62117;color:#fff;font-weight:700;font-size:13px;text-decoration:none;align-self:flex-start}
.chap{display:flex;gap:12px;padding:8px 0;font-size:13px}
.chap+.chap{border-top:1px solid var(--line)}
.chap .num{color:var(--accent);font-weight:700;width:44px;flex:none}
.core{display:flex;flex-direction:column;gap:10px;counter-reset:c}
.core li{list-style:none;display:flex;gap:10px;font-size:14px;line-height:1.7;font-weight:500}
.core li::before{counter-increment:c;content:"0" counter(c);font-family:var(--f-en);font-weight:800;color:var(--gold);font-size:13px;padding-top:1px}
.aibtn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:99px;font-size:12px;font-weight:700;color:var(--accent);background:var(--accent-soft)}
.aibtn svg{flex:none}
.ai-out{width:100%;min-height:170px;font-size:14.5px;line-height:1.8;background:var(--surface-2);border-radius:12px;padding:12px 14px;border:1px solid transparent;resize:vertical}
.ai-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--accent)}
.thinking{display:inline-flex;gap:4px}.thinking i{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:blink 1s infinite}.thinking i:nth-child(2){animation-delay:.15s}.thinking i:nth-child(3){animation-delay:.3s}
@keyframes blink{50%{opacity:.2}}
.chipsel{display:flex;flex-wrap:wrap;gap:6px}
.chipsel button{height:32px;padding:0 12px;border-radius:99px;box-shadow:inset 0 0 0 1px var(--line);font-size:12px;font-weight:700;color:var(--ink-2)}
.chipsel button[aria-pressed="true"]{background:var(--navy);color:var(--on-navy);box-shadow:none}
.vid{position:relative;width:min(240px,70%);aspect-ratio:9/16;border-radius:14px;overflow:hidden;margin-top:6px;display:block}
.vid .cov::before{width:220%;right:-120%;top:-30%}
.vid .big{position:absolute;left:12px;right:12px;top:42px;color:#fff;font-weight:700;font-size:22px;line-height:1.35;z-index:1;text-wrap:balance}
.vid::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),transparent 30%,transparent 55%,rgba(0,0,0,.65))}
.vid .cap{position:absolute;left:12px;right:12px;bottom:12px;color:#fff;font-weight:700;font-size:13px;line-height:1.5;z-index:1}
.vid .vt{position:absolute;left:10px;top:10px;z-index:1;font-family:var(--f-en);font-size:12px;font-weight:800;color:#fff;background:rgba(0,0,0,.45);padding:2px 8px;border-radius:99px;letter-spacing:.06em}
.vid .pl{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);z-index:1;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.9);display:grid;place-items:center}
.pinned{font-size:12px;font-weight:700;color:var(--ink-3);display:flex;align-items:center;gap:4px;margin-bottom:2px}
.newjobs{display:grid;grid-template-columns:1fr;gap:14px}
@media (min-width:800px){.newjobs{grid-template-columns:repeat(3,1fr)}}
.nj{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:18px;text-align:left;position:relative;overflow:hidden;min-height:200px;box-shadow:var(--sh-1);background:var(--surface)}
.nj.a{background:var(--navy);color:#fff}
.nj .no{font-family:var(--f-en);font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--gold-2)}
.nj.b .no,.nj.c .no{color:var(--accent)}
.nj h3{font-size:18px;font-weight:700;line-height:1.45}
.nj p{font-size:12.5px;line-height:1.75;opacity:.82}
.nj .go{margin-top:auto;font-size:12px;font-weight:700;display:flex;align-items:center;gap:4px}
.nj .big{display:none}
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;text-align:center}
.flow div{background:var(--surface-2);border-radius:10px;padding:10px 4px;font-size:12px;line-height:1.5}
.flow b{display:block;font-family:var(--f-en);color:var(--accent);font-size:13px}
.quest{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line)}
.letter{border-radius:12px;padding:16px;background:linear-gradient(135deg,#FFFDF7,#F7EFD9);color:#1B2230;box-shadow:var(--sh-1);font-size:13px;line-height:1.8;position:relative}
.letter .seal{position:absolute;right:14px;bottom:12px;width:42px;height:42px;border-radius:50%;border:2px solid #B4372D;color:#B4372D;display:grid;place-items:center;font-weight:700;font-size:13px;transform:rotate(-12deg)}
/* ---------- matching ---------- */
.mgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
@media (min-width:900px){.mgrid{grid-template-columns:minmax(340px,420px) minmax(0,360px);justify-content:center;align-items:start;gap:40px}.mside{position:sticky;top:84px}}
.deckwrap{display:flex;flex-direction:column;gap:14px;align-items:center;min-width:0}
.deck{position:relative;width:100%;max-width:420px;height:clamp(470px,calc(100svh - 300px),580px)}
.mcard{position:absolute;inset:0;border-radius:22px;overflow:hidden;background:var(--surface);box-shadow:0 1px 2px rgba(17,20,24,.06),0 14px 40px rgba(17,20,24,.14);display:flex;flex-direction:column;transform-origin:50% 100%;transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .32s;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab}
.mcard.d1{transform:translateY(14px) scale(.95);opacity:.85;pointer-events:none}
.mcard.d2{transform:translateY(28px) scale(.9);opacity:.5;pointer-events:none}
.mcard.drag{transition:none;cursor:grabbing}
.mcard.out-r{transform:translateX(130%) rotate(16deg)!important;opacity:0}
.mcard.out-l{transform:translateX(-130%) rotate(-16deg)!important;opacity:0}
.mcard.out-u{transform:translateY(-120%) scale(.9)!important;opacity:0}
.mtop{position:relative;height:44%;flex:none}
.mtop .cov .k{top:16px}
.mbadges{position:absolute;right:14px;top:12px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;z-index:1}
.score{font-size:13px;display:flex;align-items:baseline;gap:2px;font-family:var(--f-en);padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.95);color:#2F3238;font-weight:800;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.score b{font-size:20px;line-height:1}.score small{font-size:12px;margin-left:4px;color:#4D5562;font-weight:700}
.likesyou{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px;background:#E8475F;color:#fff}
.likesyou svg{width:12px;height:12px}
.mid{position:absolute;left:18px;right:18px;bottom:-30px;display:flex;align-items:flex-end;gap:12px;z-index:1}
.mid .pt{box-shadow:0 0 0 4px var(--surface)}
.mid div{padding-bottom:34px;color:#fff;min-width:0}
.mid h3{font-size:22px;font-weight:700;letter-spacing:.08em;line-height:1.25;display:flex;align-items:baseline;gap:8px;text-shadow:0 1px 10px rgba(0,0,0,.25)}
.mid h3 small{font-family:var(--f-en);font-size:15px;font-weight:700;letter-spacing:0;opacity:.85}
.mid p{font-size:12px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mbody{flex:1;min-height:0;padding:40px 20px 18px;display:flex;flex-direction:column;gap:12px;overflow:hidden}
.mq{font-size:15px;font-weight:700;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mrow{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--ink-2)}
.mrow span{display:inline-flex;align-items:center;gap:4px}.mrow svg{width:14px;height:14px;color:var(--ink-3)}
.mwant{font-size:13px;line-height:1.65;background:var(--surface-2);border-radius:12px;padding:10px 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mwant small,.moffer small{display:block;font-size:12px;font-weight:700;color:var(--ink-3);letter-spacing:.06em}
.mtags{display:flex;flex-wrap:wrap;gap:6px}
.mtags span{font-size:12px;font-weight:700;line-height:24px;padding:0 10px;border-radius:99px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2)}
.mtags span.hit{background:var(--accent-soft);color:var(--accent);box-shadow:none}
.mtags span.hit::before{content:"共通 ";font-size:12px}
.moffer{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:auto}
.moffer small{width:100%}
.moffer span{font-size:12px;font-weight:700;line-height:24px;padding:0 10px;border-radius:6px;background:var(--gold-soft);color:var(--gold)}
.stamp{position:absolute;top:26px;z-index:3;font-weight:700;font-size:22px;letter-spacing:.12em;padding:4px 14px;border-radius:10px;border:3px solid currentColor;opacity:0;pointer-events:none;background:rgba(255,255,255,.9)}
.stamp.like{left:22px;color:#16A34A;transform:rotate(-12deg)}
.stamp.nope{right:22px;color:#64748B;transform:rotate(12deg)}
.mact{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px}
.mb{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--surface);box-shadow:0 2px 6px rgba(17,20,24,.06),0 10px 24px rgba(17,20,24,.12);transition:transform .15s}
.mb:hover{transform:translateY(-2px)}.mb:active{transform:scale(.92)}
.mb svg{width:26px;height:26px}
.mb.nope{color:#64748B}.mb.like{width:70px;height:70px;background:linear-gradient(140deg,#F0596F,#E23D58);color:#fff}.mb.like svg{width:32px;height:32px}
.mb.super{width:50px;height:50px;color:var(--gold-2)}.mb.super svg{width:22px;height:22px}
.mb.undo{width:42px;height:42px;color:var(--ink-3)}.mb.undo svg{width:18px;height:18px}
.mmeta{font-size:12px;color:var(--ink-3);text-align:center}
.mmeta b{color:var(--ink)}
.mside{display:flex;flex-direction:column;gap:16px;min-width:0}
.mside h2{font-size:15px;display:flex;align-items:center;gap:8px}
.mside h2 .cnt{font-family:var(--f-en);font-size:12px;background:#E8475F;color:#fff;border-radius:99px;padding:0 8px;line-height:20px}
.mrowp{display:flex;align-items:center;gap:12px;padding:10px 0}
.mrowp+.mrowp{border-top:1px solid var(--line)}
.mrowp .b{flex:1;min-width:0;line-height:1.45}
.mrowp .b b{font-size:14px}
.mrowp .b span{display:block;font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mempty{position:absolute;inset:0;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}
.mini{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:var(--surface);box-shadow:var(--sh-1);text-align:left;transition:box-shadow .2s,transform .2s;min-width:0}
.mini:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}
.mini .im{position:relative;height:96px}
.mini .im .score{position:absolute;right:10px;top:10px;padding:3px 9px}.mini .im .score b{font-size:15px}
.mini .b{padding:0 14px 14px;display:flex;flex-direction:column;gap:2px}
.mini .b .pt{margin-top:-26px;margin-bottom:6px;box-shadow:0 0 0 3px var(--surface);position:relative}
.mini .b b{font-size:15px;display:flex;align-items:center}
.mini .b span{font-size:12px;color:var(--ink-3)}
.minis{display:grid;grid-auto-flow:column;grid-auto-columns:62%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding:2px 16px 8px;scrollbar-width:none}
.minis::-webkit-scrollbar{display:none}.minis>*{scroll-snap-align:start}
@media (min-width:700px){.minis{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible;margin:0;padding:0}}
.matchban{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;background:var(--navy);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.matchban .cov{z-index:-1}
.matchban .b{flex:1;min-width:0}
.matchban b{font-size:15px}.matchban p{font-size:12px;opacity:.8}
/* match celebration */
.scrim.mm-s{align-items:center;background:rgba(20,50,120,.5);backdrop-filter:blur(6px)}
.mm{width:min(400px,calc(100% - 32px));border-radius:26px;overflow:hidden;position:relative;isolation:isolate;color:#fff;padding:36px 24px 24px;text-align:center;display:flex;flex-direction:column;gap:14px;animation:pop .45s cubic-bezier(.2,1.3,.4,1)}
.mm>.cov{z-index:-1}
.mm .mmk{font-family:var(--f-en);font-size:12px;font-weight:800;letter-spacing:.3em;color:var(--gold-2)}
.mm h2{font-size:28px;font-weight:700;letter-spacing:.1em}
.mm p{font-size:13px;opacity:.85}
.mmav{display:flex;justify-content:center;margin:6px 0}
.mmav .pt{box-shadow:0 0 0 4px rgba(255,255,255,.9)}
.mmav .pt+.pt{margin-left:-18px}
.ice{display:flex;flex-direction:column;gap:6px;text-align:left}
.ice small{font-size:12px;opacity:.75}
.ice button{padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);font-size:13px;line-height:1.5}
.ice button:hover{background:rgba(255,255,255,.2)}
.btn.glass{background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.linkw{font-size:12px;opacity:.75;text-decoration:underline;align-self:center;padding:4px}
@keyframes pop{from{transform:scale(.85);opacity:0}}

/* ---------- guide / rpg / group ---------- */
.guide{background:var(--surface);border-radius:16px;box-shadow:var(--sh-1);padding:14px 16px 16px}
.guide .gh{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.guide .gh b{font-size:14px}.guide .gh button{font-size:12px;color:var(--ink-3)}
.gs3{display:grid;grid-template-columns:1fr;gap:8px}
@media (min-width:700px){.gs3{grid-template-columns:repeat(3,1fr)}}
.gstep{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:12px;background:var(--surface-2);text-align:left;width:100%}
.gstep i{font-style:normal;flex:none;width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--f-en);font-weight:800;font-size:13px}
.gstep b{display:block;font-size:14px;line-height:1.4}.gstep span{display:block;font-size:12px;color:var(--ink-2);line-height:1.55;margin-top:2px}
.rpg{display:flex;flex-direction:column;gap:14px}
.rpg .rh{display:flex;align-items:baseline;gap:10px}.rpg .rh .lvn{margin-left:auto;font-family:var(--f-en);font-weight:800;font-size:20px}
.cls{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cls button{padding:10px 12px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;gap:2px;text-align:left}
.cls button b{font-size:13px}.cls button small{font-size:12px;color:var(--ink-3);line-height:1.5}
.cls button[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--navy);background:var(--accent-soft)}
.st4{display:flex;flex-direction:column;gap:8px}
.st4 div{display:grid;grid-template-columns:44px 1fr 30px;align-items:center;gap:10px;font-size:12px;font-weight:700}
.st4 i{display:block;height:8px;border-radius:99px;background:var(--surface-2);position:relative;overflow:hidden}
.st4 i::after{content:"";position:absolute;inset:0;width:var(--v);background:linear-gradient(90deg,var(--accent),#7C9CFF);border-radius:inherit}
.st4 .num{text-align:right;color:var(--ink-2)}
.qr{display:flex;gap:6px;padding:8px 12px 0;overflow-x:auto;scrollbar-width:none;background:var(--surface)}
.qr button{flex:none;height:30px;padding:0 12px;border-radius:99px;font-size:12px;font-weight:700;color:var(--accent);background:var(--accent-soft)}
.pts{cursor:pointer}
.flowd{display:grid;grid-template-columns:1fr;gap:8px}
.flowd div{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.6;padding:10px 12px;border-radius:12px;background:var(--surface-2)}
.flowd b.n{flex:none;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--f-en);font-size:12px}

/* ---------- quest (RPG) ---------- */
.qhead{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.qhead .tag{line-height:30px;padding:0 12px;font-size:12px;font-weight:700}
.stages{display:grid;grid-template-columns:1fr;gap:14px}
@media (min-width:760px){.stages{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1180px){.stages{grid-template-columns:repeat(3,1fr)}}
.stg{position:relative;border-radius:18px;overflow:hidden;min-height:176px;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;color:#fff;text-align:left;isolation:isolate;box-shadow:var(--sh-1);transition:transform .2s,box-shadow .2s}
.stg:not([disabled]):hover{transform:translateY(-2px);box-shadow:var(--sh-2)}
.stg[disabled]{cursor:not-allowed}.stg[disabled] .cov{filter:grayscale(.85) brightness(1.1);opacity:.55}.stg[disabled]{color:#46536b}.stg[disabled] .st2 span{background:rgba(255,255,255,.5);box-shadow:none}
.stg .no{z-index:1;position:absolute;left:16px;top:14px;font-family:var(--f-en);font-weight:800;font-size:12px;letter-spacing:.2em;opacity:.9}
.stg .gl{position:absolute;right:10px;top:-6px;font-weight:700;font-size:110px;line-height:1;color:rgba(255,255,255,.14);z-index:0}
.stg>b,.stg>small,.stg>.st2{position:relative;z-index:1}
.stg b{font-size:19px;font-weight:700;letter-spacing:.06em}
.stg small{font-size:12px;opacity:.85;line-height:1.55;margin-top:2px}
.stg .st2{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.stg .st2 span{font-size:12px;font-weight:700;padding:0 9px;line-height:22px;border-radius:99px;background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.stg .clr{position:absolute;right:14px;top:14px;font-size:12px;font-weight:800;padding:0 10px;line-height:24px;border-radius:99px;background:var(--gold-2);color:#3b2a00}
.stg .boss{position:absolute;right:14px;top:14px;font-family:var(--f-en);font-size:12px;font-weight:800;letter-spacing:.14em;padding:0 10px;line-height:24px;border-radius:99px;background:#E8475F;color:#fff}
.arena{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media (min-width:960px){.arena{grid-template-columns:minmax(0,1fr) 340px;align-items:start}}
.field{position:relative;border-radius:22px;overflow:hidden;color:#fff;isolation:isolate;min-height:360px;display:flex;flex-direction:column;justify-content:space-between;padding:18px}
.field .gl{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);font-weight:700;font-size:min(46vw,230px);line-height:1;color:rgba(255,255,255,.16);z-index:0;pointer-events:none}
.field>.bar,.field>.me-row{position:relative;z-index:1}
.field.shk .gl{animation:shk .35s}
@keyframes shk{20%{transform:translate(-46%,-50%) rotate(3deg)}50%{transform:translate(-54%,-50%) rotate(-3deg)}80%{transform:translate(-48%,-50%)}}
.field.hurt{animation:hurt .35s}
@keyframes hurt{25%{box-shadow:inset 0 0 0 4px rgba(232,71,95,.8)}}
.bar{display:flex;flex-direction:column;gap:5px}
.bar .t{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;font-weight:700}
.bar .t b{font-size:15px;letter-spacing:.06em}
.hp{height:10px;border-radius:99px;background:rgba(255,255,255,.22);overflow:hidden}
.hp i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4CC38A,#9BE3B8);transition:width .5s}
.hp.low i{background:linear-gradient(90deg,#E8475F,#FF8A9B)}
.me-row{display:flex;align-items:center;gap:12px}
.me-row .bar{flex:1}
.blog{display:flex;flex-direction:column;gap:6px;min-height:120px;background:var(--surface);border-radius:16px;box-shadow:var(--sh-1);padding:14px 16px;font-size:13.5px;line-height:1.7}
.blog p{color:var(--ink-2)}.blog p:last-child{color:var(--ink);font-weight:700}
.blog .dm{color:var(--red);font-weight:700}.blog .gd{color:var(--ok);font-weight:700}
.cmds{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cmd{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border-radius:14px;background:var(--surface);box-shadow:var(--sh-1),inset 0 0 0 1px var(--line);text-align:left;transition:transform .12s,box-shadow .12s}
.cmd:hover:not([disabled]){box-shadow:var(--sh-2),inset 0 0 0 1.5px var(--navy);transform:translateY(-1px)}
.cmd[disabled]{opacity:.4;cursor:not-allowed}
.cmd b{font-size:15px}.cmd small{font-size:12px;color:var(--ink-3)}
.qbox{background:var(--surface);border-radius:16px;box-shadow:var(--sh-1);padding:16px;display:flex;flex-direction:column;gap:12px}
.endp{text-align:center;background:var(--surface);border-radius:16px;box-shadow:var(--sh-1);padding:22px 18px;display:flex;flex-direction:column;gap:12px;align-items:center}
.endp h2{font-size:24px;font-weight:700;letter-spacing:.1em}
.endp .rw{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.endp .rw span{font-size:12px;font-weight:800;padding:0 12px;line-height:28px;border-radius:99px;background:var(--gold-soft);color:var(--gold)}
.allyl{display:flex;flex-direction:column;gap:8px}
.ally{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);background:var(--surface);text-align:left;width:100%}
.ally:hover:not([disabled]){box-shadow:inset 0 0 0 1.5px var(--navy)}
.ally[disabled]{opacity:.4}.ally .b{flex:1;min-width:0;line-height:1.45}.ally .b span{display:block;font-size:12px;color:var(--ink-3)}
.bigscore{font-family:var(--f-en);font-size:64px;font-weight:800;line-height:1}
.meishi.N,.meishi.R,.meishi.SR,.meishi.SSR{background:#FFFFFF}

/* ---------- game-app systems ---------- */
.dpop{position:absolute;left:50%;top:34%;z-index:3;font-family:var(--f-en);font-weight:800;font-size:44px;color:#fff;text-shadow:0 2px 0 rgba(20,60,140,.5),0 0 18px rgba(255,255,255,.6);animation:dpop .9s ease-out forwards;pointer-events:none;transform:translateX(-50%)}
.dpop.crit{font-size:68px;color:#FFE08A}
@keyframes dpop{0%{transform:translate(-50%,10px) scale(.6);opacity:0}25%{transform:translate(-50%,-6px) scale(1.15);opacity:1}100%{transform:translate(-50%,-46px) scale(1);opacity:0}}
.sp{height:6px;border-radius:99px;background:rgba(255,255,255,.22);overflow:hidden}
.sp i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#FFD36E,#FFF2C2);transition:width .4s}
.cmd.ult{grid-column:1/-1;background:linear-gradient(135deg,#FFB42E,#FFD36E);box-shadow:var(--sh-1)}
.cmd.ult small{color:#6b4a00}.cmd.ult[disabled]{background:var(--surface);opacity:.45}
.stars3{font-size:30px;letter-spacing:.2em;color:var(--gold-2)}
.lb{width:min(380px,calc(100% - 32px));border-radius:24px;overflow:hidden;background:var(--surface);padding:0 0 18px;display:flex;flex-direction:column;gap:14px;animation:pop .45s cubic-bezier(.2,1.3,.4,1);box-shadow:var(--sh-3)}
.lb>*:not(.lbh){margin-left:18px;margin-right:18px}
.lb .btn.full{width:auto}
.lbh{position:relative;isolation:isolate;color:#fff;padding:26px 20px 22px;text-align:center;overflow:hidden}
.lbh>.cov{z-index:-1}
.lbh h2{font-size:24px;font-weight:700;letter-spacing:.06em}.lbh p{font-size:12px;opacity:.9;margin-top:2px}
.k2{font-family:var(--f-en);font-size:12px;font-weight:800;letter-spacing:.3em;opacity:.9;display:block}
.lbgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.lbd{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:10px 0;border-radius:12px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);min-height:70px}
.lbd small{font-size:12px;color:var(--ink-3)}.lbd b{font-size:20px;line-height:1.2}.lbd span{font-size:12px;color:var(--ink-3)}
.lbd.big{grid-column:span 2;background:var(--gold-soft);box-shadow:inset 0 0 0 1.5px var(--gold-2)}
.lbd.today{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}
.lbd.done{opacity:.55}.lbd i{position:absolute;right:5px;top:5px;width:16px;height:16px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center}
.lbmsg{text-align:center;font-weight:700;color:var(--ok);font-size:14px}
.lbdots{display:flex;gap:6px}.lbdots i{flex:1;height:22px;border-radius:7px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);font-style:normal;font-size:12px;display:grid;place-items:center;color:var(--gold)}
.lbdots i.on{background:var(--accent);box-shadow:none}.lbdots i.now{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}
.evcard{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:14px;background:var(--accent-soft);color:var(--ink)}
.evcard b{font-size:16px}
.evhero{position:relative;isolation:isolate;overflow:hidden;color:#fff;border-radius:20px;padding:26px 22px;min-height:170px;display:flex;flex-direction:column;gap:6px;justify-content:flex-end}
.evhero>.cov{z-index:-1}.evhero h2{font-size:26px;font-weight:700;letter-spacing:.05em}.evhero p{font-size:13px;opacity:.92}
.evhero .days{position:absolute;right:20px;top:18px;font-size:12px;font-weight:700;background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);border-radius:99px;padding:6px 14px}.evhero .days b{font-size:20px}
.rkl,.achl{display:flex;flex-direction:column;background:var(--surface);border-radius:16px;box-shadow:var(--sh-1);padding:4px 16px}
.rkr{display:flex;align-items:center;gap:12px;padding:10px 0}.rkr+.rkr,.ach+.ach{border-top:1px solid var(--line)}
.rkr .rn{width:26px;text-align:center;font-weight:800;color:var(--ink-3);font-size:16px}
.rkr.r1 .rn{color:#E0A100}.rkr.r2 .rn{color:#8E9BB0}.rkr.r3 .rn{color:#C27A3A}
.rkr .b{flex:1;min-width:0;line-height:1.45}.rkr .b b{font-size:14px}.rkr .b span{display:block;font-size:12px;color:var(--ink-3)}
.rkr .xp{font-weight:800;font-size:15px}.rkr .xp small{font-size:12px;color:var(--ink-3)}
.rkr.me{background:var(--accent-soft);margin:0 -16px;padding:10px 16px}
.ach{display:flex;align-items:center;gap:12px;padding:12px 0}.ach .b{flex:1;min-width:0}.ach .b b{font-size:14px;line-height:1.5;display:block}
.ach.cl .b b{color:var(--ink-3)}
.pbar{height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden;margin:6px 0 3px}.pbar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#7DB2FF)}

.combo{position:absolute;right:16px;top:50px;z-index:3;font-family:var(--f-en);font-weight:800;font-size:20px;color:#fff;background:linear-gradient(135deg,#FF8A3D,#FF5E7A);padding:4px 14px;border-radius:99px;animation:pop .35s cubic-bezier(.2,1.3,.4,1);box-shadow:var(--sh-2)}
.chests{margin-bottom:10px}.cbar{height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden}.cbar i{display:block;height:100%;background:linear-gradient(90deg,#FFB42E,#FFD36E);border-radius:inherit;transition:width .4s}
.cr{display:flex;justify-content:space-around;margin-top:10px}
.chest{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;border-radius:12px;color:var(--ink-3);font-size:12px}
.chest .bx{width:34px;height:26px;border-radius:7px 7px 6px 6px;background:linear-gradient(180deg,#CBD5E4,#AEBBD0);position:relative;box-shadow:inset 0 -3px 0 rgba(0,0,0,.08)}
.chest .bx::after{content:'';position:absolute;left:50%;top:9px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:#fff;opacity:.9}
.chest.ok .bx{background:linear-gradient(180deg,#FFD36E,#FFB42E);animation:bob 1.2s ease-in-out infinite}.chest.ok{color:var(--ink);background:var(--gold-soft)}
.chest.cl{opacity:.5}
@keyframes bob{50%{transform:translateY(-3px)}}
.ttl{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:12px}
.tchip{padding:6px 12px;border-radius:99px;font-size:12px;font-weight:700;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2)}
.tchip[aria-pressed="true"]{background:var(--gold-soft);box-shadow:inset 0 0 0 1.5px var(--gold-2);color:var(--ink)}
.raidh{position:relative;isolation:isolate;overflow:hidden;color:#fff;border-radius:20px;padding:24px 22px;display:flex;flex-direction:column;gap:6px}
.raidh>.cov{z-index:-1}.raidh h2{font-size:26px;font-weight:700;letter-spacing:.05em}.raidh p{font-size:13px;opacity:.92}
.rbar{height:14px;border-radius:99px;background:rgba(255,255,255,.28);overflow:hidden;margin-top:10px}.rbar i{display:block;height:100%;background:linear-gradient(90deg,#FFE08A,#fff);border-radius:inherit;transition:width .6s}
.rnum{font-size:12px;text-align:right}.rnum b{font-size:18px}
.sech2{font-size:15px;margin:18px 0 8px}
.sweep{margin-top:16px;padding:14px 16px;border-radius:14px;background:var(--surface);box-shadow:var(--sh-1);display:flex;flex-direction:column;gap:6px}.sweep .sw{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}

/* ---------- Dragon-Quest style windows ---------- */
.dqw{--dqb:#2F3238;background:linear-gradient(180deg,#2F3238,#2F3238);color:#fff;border-radius:10px;padding:14px 16px;box-shadow:0 0 0 3px #fff,0 0 0 5px #2F3238,0 8px 22px rgba(20,60,140,.28);margin:5px;font-weight:700;letter-spacing:.08em;line-height:1.9}
.dqm{min-height:150px;position:relative;font-size:14.5px;display:flex;flex-direction:column;gap:0}
.dqm p{color:rgba(255,255,255,.72);font-weight:600}.dqm p.last{color:#fff;font-weight:800}
.dqm p::before{content:'＊';margin-right:.5em;opacity:.8}
.dqm .dm{color:#FFD0D4}.dqm .gd{color:#C9FFE2}
.dqm .nx{position:absolute;right:16px;bottom:10px;font-style:normal;font-size:12px;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.dqc{display:flex;flex-direction:column;gap:0;font-size:15px}
.dqh{font-size:12px;opacity:.85;border-bottom:1px solid rgba(255,255,255,.35);margin-bottom:6px;padding-bottom:3px}
.dqi{display:flex;align-items:baseline;gap:8px;width:100%;text-align:left;color:#fff;font-weight:800;letter-spacing:.1em;padding:5px 4px;border-radius:6px;font-size:15px}
.dqi small{font-size:12px;opacity:.75;margin-left:auto;font-weight:600}
.dqi .cu{visibility:hidden;color:#FFE08A;font-size:12px}
.dqi:hover:not([disabled]) .cu,.dqi:focus-visible .cu{visibility:visible;animation:blink .8s steps(2) infinite}
.dqi:hover:not([disabled]){background:rgba(255,255,255,.14)}
.dqi[disabled]{opacity:.4;cursor:not-allowed}
.dqq{font-size:14px;line-height:1.8;margin:4px 0 10px;padding-bottom:8px;border-bottom:1px dashed rgba(255,255,255,.35)}
.dqe p{padding:1px 0;font-size:14px}.dqe p::before{content:'＊';margin-right:.5em;opacity:.8}.dqe .dqh+p{margin-top:2px}.dqe .lvl{color:#FFE08A}
.dqe .dqh{font-size:18px;letter-spacing:.3em;color:#FFE08A;text-align:center;border:none}
.dqb .btn:not(.white){background:#FFD36E;color:#4a3300}
.dqb{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.dqs{position:absolute;left:10px;top:10px;z-index:3;padding:8px 14px;min-width:132px;margin:0;line-height:1.6;font-size:13px}
.dqs .nm{display:block;font-size:13px;border-bottom:1px solid rgba(255,255,255,.35);margin-bottom:3px}
.dqs div{display:flex;justify-content:space-between;gap:14px}.dqs span{opacity:.8;font-size:12px}.dqs b.low{color:#FFB1B8}
.dqf .ename{position:relative;z-index:2;align-self:center;width:min(300px,80%);text-align:center;background:rgba(255,255,255,.92);color:#2F3238;border-radius:12px;padding:8px 14px 10px;box-shadow:0 4px 14px rgba(20,40,100,.2)}
.dqf .ename b{font-size:15px;letter-spacing:.1em;display:block;margin-bottom:6px}
.dqf .ename .hp{background:#DDE6F7}
.dqf{justify-content:flex-end!important}
.dqmap{position:relative;height:250px;border-radius:20px;overflow:hidden;margin-bottom:14px;background:linear-gradient(180deg,#BFE3FF 0%,#DDF2FF 48%,#CDEBB4 48.2%,#B5E08F 100%);box-shadow:var(--sh-1)}
.dqmap svg{position:absolute;inset:0;width:100%;height:100%}
.dqmap .rd{fill:none;stroke:#fff;stroke-width:3.4;stroke-dasharray:1.2 2.4;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.95}
.mn{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;width:84px}
.mn .g{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:21px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 0 0 3px #fff,0 4px 10px rgba(20,60,120,.28)}
.mn.boss .g{width:54px;height:54px;border-radius:14px;box-shadow:0 0 0 3px #fff,0 0 0 5px #E8475F,0 4px 10px rgba(20,60,120,.28)}
.mn small{font-size:12px;font-weight:800;color:#2F3238;background:rgba(255,255,255,.85);padding:1px 7px;border-radius:99px;white-space:nowrap;letter-spacing:.04em}
.mn.lock .g{filter:grayscale(1);opacity:.55}.mn.lock small{opacity:.65}.mn.lock{cursor:not-allowed}
.mn i{font-style:normal;font-size:12px;color:#E0A100;text-shadow:0 1px 0 #fff;margin-top:-2px}
.mn:not(.lock):hover .g{transform:scale(1.08)}
.mn .hero{position:absolute;top:-36px;left:50%;margin-left:-15px;animation:bob 1s ease-in-out infinite;filter:drop-shadow(0 3px 3px rgba(0,0,0,.25))}
.dqst{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:baseline;font-size:13px;line-height:1.7;margin:5px}
.dqst .nm{font-size:15px}.dqst>span{opacity:.8;font-size:12px}.dqst .g{display:flex;gap:8px}.dqst .g span{opacity:.8;font-size:12px}
@media(max-width:560px){.mn{width:66px}.mn small{font-size:12px;padding:1px 5px}.mn .g{width:40px;height:40px;font-size:18px}.mn.boss .g{width:46px;height:46px}.dqmap{height:260px}}

/* ---------- monsters ---------- */
.mon{width:100%;height:100%;display:block;overflow:visible}
.msp{display:block;width:100%;aspect-ratio:1}
.foe{position:absolute;left:50%;top:41%;width:min(62%,270px);aspect-ratio:1;transform:translate(-50%,-50%);z-index:1;animation:flt 3.2s ease-in-out infinite;pointer-events:none;filter:drop-shadow(0 8px 10px rgba(20,30,90,.25))}
@keyframes flt{50%{transform:translate(-50%,-53%)}}
.field.shk .foe{animation:foeh .35s}
@keyframes foeh{0%{filter:brightness(2.2)}30%{transform:translate(-46%,-50%)}60%{transform:translate(-54%,-50%)}100%{transform:translate(-50%,-50%)}}
.field .gl{display:none}
.pty{position:absolute;right:10px;top:10px;z-index:3;display:flex;gap:4px}
.pty .msp{width:46px;height:46px;background:rgba(255,255,255,.7);border-radius:12px;padding:3px;box-shadow:0 2px 8px rgba(20,40,100,.2)}
.pty .msp.cd{opacity:.45;filter:grayscale(.7)}
.foe-s{position:absolute;right:8px;top:30px;width:104px;height:104px;z-index:0;filter:drop-shadow(0 6px 8px rgba(20,30,90,.25))}
.stg[disabled] .foe-s{filter:grayscale(1) brightness(1.15);opacity:.45}
.mn{gap:9px!important}.mn small{margin-top:6px;position:relative;z-index:2}.mn .g{width:54px!important;height:54px!important;border-radius:50%!important}.mn.boss .g{width:60px!important;height:60px!important}.mn .g .mon{width:90%;height:90%}.stg>small{max-width:calc(100% - 118px)}
@media(max-width:560px){.mn .g{width:46px!important;height:46px!important}.mn.boss .g{width:52px!important;height:52px!important}.foe-s{width:84px;height:84px}.stg>small{max-width:calc(100% - 96px)}}
.mn .g{background:#fff!important;overflow:visible}
.mn .g .mon{filter:none}
.egghero{position:relative;isolation:isolate;overflow:hidden;color:#fff;border-radius:20px;padding:22px;display:flex;gap:10px;align-items:center;justify-content:space-between;min-height:190px}
.egghero>.cov{z-index:-1}.egghero .eh{display:flex;flex-direction:column;gap:6px;position:relative;z-index:1;max-width:420px}
.egghero h2{font-size:24px;font-weight:700;letter-spacing:.05em}.egghero p{font-size:13px;opacity:.95;line-height:1.7}
.egghero .eb{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0}
.btn.gold{background:#FFD36E;color:#4a3300}
.egghero .eg{width:96px;flex:none;position:relative;z-index:1;animation:wob 2.4s ease-in-out infinite}
@keyframes wob{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
.eggsvg{width:100%;display:block}
.pslots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0 6px}
.ps{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-radius:16px;background:var(--surface);box-shadow:var(--sh-1);min-height:132px;justify-content:center;text-align:center}
.ps .msp{width:64px}.ps b{font-size:12px}.ps small{font-size:12px;color:var(--ink-3)}.ps.on{box-shadow:inset 0 0 0 2px var(--accent),var(--sh-1)}
.ps .emp{color:var(--ink-3);font-size:12px}
.dex{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:8px}
@media(min-width:720px){.dex{grid-template-columns:repeat(4,1fr)}}
.dc{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 10px 12px;border-radius:16px;background:var(--surface);box-shadow:var(--sh-1),inset 0 0 0 1.5px color-mix(in srgb,var(--rc) 40%,transparent);text-align:center}
.dc .msp{width:84px}.dc b{font-size:13px;margin-top:2px}.dc small{font-size:12px;color:var(--ink-3);line-height:1.5}
.dc.in{box-shadow:var(--sh-1),inset 0 0 0 2.5px var(--accent)}
.dc.lk{box-shadow:var(--sh-1);opacity:.75}.msp.sil{filter:brightness(0);opacity:.12}
.rb{font-family:var(--f-en);font-size:12px;font-weight:800;letter-spacing:.1em;padding:0 8px;line-height:18px;border-radius:99px;background:var(--rc,#8C9BB5);color:#fff}
.dc .rb{position:absolute;left:10px;top:10px}
.r-SSR .rb{background:linear-gradient(135deg,#F2B63D,#FF8A3D)}
.dc .tg{position:absolute;right:8px;top:10px;font-style:normal;font-size:12px;font-weight:800;color:var(--accent);background:var(--accent-soft);padding:0 8px;line-height:18px;border-radius:99px}
.eggm{width:min(420px,calc(100% - 32px));max-height:88vh;overflow:auto;border-radius:24px;background:var(--surface);padding:24px 18px;box-shadow:var(--sh-3);text-align:center;animation:pop .4s cubic-bezier(.2,1.3,.4,1)}
.eggst{display:flex;flex-direction:column;align-items:center;gap:14px;padding:20px 0}
.eggst .egg{width:110px;animation:wob .35s ease-in-out infinite}.eggst p{font-weight:700;color:var(--ink-2);letter-spacing:.1em}
.eggr h2{font-size:20px;margin:4px 0 14px}
.rgrid{display:grid;grid-template-columns:1fr;gap:10px;justify-items:center}.rgrid.multi{grid-template-columns:repeat(3,1fr)}
.mres{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border-radius:16px;background:var(--surface-2);box-shadow:inset 0 0 0 2px var(--rc);width:100%;animation:pop .45s cubic-bezier(.2,1.3,.4,1)}
.mres .msp{width:76px}.mres.big .msp{width:150px}.mres b{font-size:13px}.mres.big b{font-size:17px}.mres small{font-size:12px;color:var(--ink-3);line-height:1.6}
.mres .new{position:absolute;left:8px;top:8px;font-size:12px;background:var(--red);color:#fff;padding:0 7px;line-height:18px;border-radius:99px;font-family:var(--f-en);letter-spacing:.08em}
.mres .rb{position:absolute;right:8px;top:8px}
.r-SSR.eggr,.eggr.r-SSR{background:radial-gradient(circle at 50% 12%,#FFF1C2,transparent 60%)}
.mres.r-SSR{box-shadow:inset 0 0 0 2px #F2B63D,0 0 24px rgba(242,182,61,.5)}
.dqb2{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap}

/* ---------- business-card file ---------- */
.bcact{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.bcbig{height:48px;padding:0 22px;font-size:14px}
.bcbar{display:flex;gap:10px;align-items:center}.bcbar .search{flex:1}.bcbar select{width:auto;border-radius:99px;padding:0 16px;height:42px;background:var(--surface);border:1px solid var(--line)}
.bcchips,.bctg{margin-top:10px;display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.bctg{flex-wrap:wrap;margin-top:0}
.chip{flex:none;height:32px;padding:0 14px;border-radius:99px;font-size:12.5px;font-weight:700;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);white-space:nowrap}
.chip[aria-pressed="true"]{background:var(--navy);color:var(--on-navy);box-shadow:none}
.bclist{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:900px){.bclist{grid-template-columns:1fr 1fr}}
.bci{display:flex;gap:14px;text-align:left;padding:12px;border-radius:16px;background:var(--surface);box-shadow:var(--sh-1);width:100%;align-items:flex-start}
.bci:hover{box-shadow:var(--sh-2)}
.bci img{width:116px;aspect-ratio:91/55;object-fit:cover;border-radius:8px;box-shadow:0 0 0 1px var(--line),0 3px 8px rgba(20,40,100,.1);flex:none;background:#fff}
.bci .b{min-width:0;display:flex;flex-direction:column;gap:2px}.bci .b b{font-size:15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bci .b>span{font-size:12.5px;color:var(--ink-2)}.bci .b small{font-size:12px;color:var(--ink-3)}
.bci .b p{font-size:12px;color:var(--ink-2);line-height:1.6;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bci .tg,.bcd .tg{display:flex;gap:4px;flex-wrap:wrap;margin:3px 0}
.bci em,.bcd em{font-style:normal;font-size:12px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:0 8px;line-height:20px;border-radius:99px}
.fu{font-style:normal;font-size:12px;font-weight:800;color:#fff;background:var(--red);padding:0 8px;line-height:18px;border-radius:99px}
mark{background:#FFE9A8;color:inherit;border-radius:3px;padding:0 1px}
.bcempty{grid-column:1/-1;display:flex;flex-direction:column;gap:4px;padding:30px;text-align:center;background:var(--surface);border-radius:16px;color:var(--ink-3);font-size:13px}.bcempty b{color:var(--ink);font-size:15px}
.bcf{display:flex;flex-direction:column;gap:12px}.bcf label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:var(--ink-2)}
.bcf .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bcprev{width:100%;max-height:230px;object-fit:contain;border-radius:12px;background:#EEF3FC;box-shadow:inset 0 0 0 1px var(--line)}
.bcprev.none{height:90px;display:grid;place-items:center;color:var(--ink-3);font-size:13px}
.bcd{display:flex;flex-direction:column;gap:12px}
.bcd .dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.bcd .dl span{display:block;font-size:12px;color:var(--ink-3)}.bcd .dl b{font-size:13.5px}
.bcd .memo{padding:12px 14px;border-radius:12px;background:var(--surface-2);font-size:13px;line-height:1.8}
.fubox{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:var(--red-soft);font-size:13px}
.two2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:560px){.bci img{width:96px}.bcf .two{grid-template-columns:1fr}}

/* ---------- game feel ---------- */
#view.vin{animation:vin .34s cubic-bezier(.2,.8,.2,1)}
@keyframes vin{from{opacity:0;transform:translateY(10px)}}
.hp{position:relative}.hp i{position:relative;z-index:1}
.hp .gh{position:absolute;left:0;top:0;bottom:0;border-radius:inherit;background:#FFD36E;width:var(--t);animation:ghd .9s .35s both;text-decoration:none}
@keyframes ghd{from{width:var(--f)}to{width:var(--t)}}
.field.intro .foe{animation:foein .75s cubic-bezier(.2,1.15,.4,1) both,flt 3.2s .75s ease-in-out infinite}
@keyframes foein{0%{transform:translate(70%,-50%) scale(.4);opacity:0}60%{opacity:1}100%{transform:translate(-50%,-50%) scale(1);opacity:1}}
.field.intro::after{content:'';position:absolute;inset:0;background:#fff;z-index:6;pointer-events:none;animation:flash .7s ease-out forwards}
@keyframes flash{0%{opacity:.95}100%{opacity:0}}
.enc{position:absolute;left:0;right:0;top:36%;z-index:7;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.92) 18%,rgba(255,255,255,.92) 82%,transparent);color:#2F3238;pointer-events:none;animation:enc 1.5s ease-out forwards}
.enc b{font-family:var(--f-en);font-size:30px;font-weight:800;letter-spacing:.16em;color:#E8475F}.enc span{font-size:12px;font-weight:700;letter-spacing:.1em}
@keyframes enc{0%{transform:translateX(-100%);opacity:0}15%{transform:none;opacity:1}75%{opacity:1}100%{transform:translateX(30%);opacity:0}}
.vict{position:absolute;left:0;right:0;top:34%;z-index:7;text-align:center;pointer-events:none;animation:vict 2s ease-out forwards}
.vict b{font-family:var(--f-en);font-size:46px;font-weight:800;letter-spacing:.14em;color:#FFE08A;text-shadow:0 3px 0 #D99A00,0 0 24px rgba(255,255,255,.8)}
@keyframes vict{0%{transform:scale(.3);opacity:0}18%{transform:scale(1.15);opacity:1}30%{transform:scale(1)}80%{opacity:1}100%{opacity:0;transform:translateY(-20px)}}
.field.dead .foe{animation:dead 1s ease-in forwards}
@keyframes dead{0%{filter:brightness(2.4)}25%{transform:translate(-50%,-50%) scale(1.04)}100%{transform:translate(-50%,-70%) scale(.5);opacity:0;filter:blur(6px) brightness(2)}}
.slash{position:absolute;left:50%;top:41%;z-index:5;width:78%;height:7px;border-radius:99px;background:linear-gradient(90deg,transparent,#fff,transparent);box-shadow:0 0 16px #fff;transform:translate(-50%,-50%) rotate(-35deg) scaleX(0);pointer-events:none;animation:sl .38s ease-out forwards}
.slash.crit{height:12px;background:linear-gradient(90deg,transparent,#FFE08A,#fff,#FFE08A,transparent);box-shadow:0 0 26px #FFD36E}
.slash.crit::after{content:'';position:absolute;inset:0;border-radius:inherit;background:inherit;transform:rotate(70deg)}
@keyframes sl{0%{transform:translate(-50%,-50%) rotate(-35deg) scaleX(0);opacity:1}40%{transform:translate(-50%,-50%) rotate(-35deg) scaleX(1);opacity:1}100%{transform:translate(-50%,-50%) rotate(-35deg) scaleX(1);opacity:0}}
.burst{position:absolute;left:50%;top:41%;z-index:5;width:0;height:0;pointer-events:none}
.burst i{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff;animation:bs .55s ease-out forwards}
.burst.crit i{background:#FFD36E;width:11px;height:11px}
@keyframes bs{0%{transform:rotate(var(--a)) translateX(10px) scale(1);opacity:1}100%{transform:rotate(var(--a)) translateX(var(--d)) scale(.2);opacity:0}}
#fx{position:fixed;inset:0;pointer-events:none;z-index:300;overflow:hidden}
#fx i{position:absolute;top:-16px;border-radius:2px;animation:cf linear forwards}
@keyframes cf{to{transform:translate(var(--dx),110vh) rotate(var(--r))}}
.eggr.r-SSR{position:relative;overflow:hidden}
.eggr.r-SSR::before{content:'';position:absolute;left:50%;top:34%;width:640px;height:640px;margin:-320px 0 0 -320px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,224,138,.55) 0 9deg,transparent 9deg 18deg);animation:spin 9s linear infinite;z-index:0;-webkit-mask:radial-gradient(circle,#000 20%,transparent 68%);mask:radial-gradient(circle,#000 20%,transparent 68%)}
.eggr>*{position:relative;z-index:1}
@keyframes spin{to{transform:rotate(360deg)}}
#title{position:fixed;inset:0;z-index:400;display:grid;place-items:center;background:#EAF3FF;overflow:hidden;cursor:pointer;animation:tin .5s ease-out}
#title.out{animation:tout .52s ease-in forwards}
@keyframes tin{from{opacity:0}}@keyframes tout{to{opacity:0;transform:scale(1.06)}}
#title .tbg{position:absolute;inset:0;opacity:.9}#title .tbg .cov{opacity:.95}
#title .tbg::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.96) 0 28%,rgba(255,255,255,0) 62%)}
#title .tc{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:0 24px;color:#2F3238}
#title .tmark svg{width:92px;height:92px;filter:drop-shadow(0 8px 14px rgba(24,51,107,.35));animation:tpop .8s cubic-bezier(.2,1.3,.4,1) both}
#title .tlock{width:min(300px,70vw);color:#2F3238;animation:tpop .8s .12s cubic-bezier(.2,1.3,.4,1) both}#title .tlock svg{width:100%;height:auto;display:block}
@keyframes tpop{from{opacity:0;transform:translateY(16px) scale(.9)}}
#title p{font-weight:700;letter-spacing:.1em;font-size:14px;animation:tpop .8s .25s both}
#title .tchoose{display:flex;flex-direction:column;gap:10px;align-items:center;margin-top:6px}#title .tchoose .tstart{margin-top:0;letter-spacing:.08em;font-family:inherit;font-size:15px;animation:none;min-width:220px}#title .tchoose .tstart.alt{background:#fff;color:#2F3238;box-shadow:0 8px 20px rgba(24,51,107,.25)}#title .tstart{margin-top:10px;height:50px;padding:0 38px;border-radius:99px;background:#2F3238;color:#fff;font-family:var(--f-en);font-weight:800;letter-spacing:.2em;font-size:14px;box-shadow:0 8px 20px rgba(24,51,107,.4);animation:tblink 1.4s ease-in-out infinite}
@keyframes tblink{50%{opacity:.55;transform:scale(.97)}}
#title small{font-size:12px;color:#5a6784;margin-top:8px}
#title .tmons{position:absolute;inset:0;z-index:1;pointer-events:none}
#title .tm{position:absolute;width:clamp(64px,13vw,120px);animation:tfl 3.4s ease-in-out infinite;filter:drop-shadow(0 8px 10px rgba(20,40,100,.2))}
#title .tm svg{width:100%;height:100%}
#title .t0{left:6%;top:16%}#title .t1{right:7%;top:12%;animation-delay:-.6s}#title .t2{left:50%;top:6%;margin-left:-60px;width:clamp(76px,16vw,150px);animation-delay:-1.4s}
#title .t3{left:10%;bottom:12%;animation-delay:-2s}#title .t4{right:12%;bottom:14%;animation-delay:-.9s}#title .t5{left:34%;bottom:5%;animation-delay:-1.8s}#title .t6{right:30%;bottom:4%;animation-delay:-2.6s}
@keyframes tfl{50%{transform:translateY(-12px) rotate(3deg)}}
.dqi:active:not([disabled]){background:rgba(255,255,255,.28);transform:scale(.98)}

/* ---------- 300-monster dex ---------- */
.r-UR .rb,.rtag.r-UR i,.rprog span:first-child i{background:linear-gradient(135deg,#E8475F,#FF9A4D,#F2B63D,#5CC99B,#2F3238);}
.dc{padding:12px 6px 10px}.dc .msp{width:72px}.dc b{font-size:12px;line-height:1.4;min-height:34px;display:flex;align-items:center}
.dc .no{font-family:var(--f-en);font-size:12px;color:var(--ink-3);font-weight:700;letter-spacing:.04em}
.dc .rb{left:6px;top:8px}.dc .tg{right:6px;top:8px}
.dc.r-SSR{box-shadow:var(--sh-1),inset 0 0 0 2px #F2B63D,0 0 12px rgba(242,182,61,.35)}
.dc.r-UR{box-shadow:var(--sh-1),inset 0 0 0 2px #E8475F,0 0 16px rgba(232,71,95,.4)}
.dc.lk{opacity:.9;cursor:pointer}
.dex{grid-template-columns:repeat(3,1fr)}
@media(min-width:720px){.dex{grid-template-columns:repeat(6,1fr)}}
.dmore{grid-column:1/-1;justify-self:center}
.rates{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 2px 6px;font-size:12px;color:var(--ink-2)}
.rtag{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:12px}.rtag i{font-style:normal;font-family:var(--f-en);font-size:12px;font-weight:800;letter-spacing:.08em;padding:0 8px;line-height:18px;border-radius:99px;background:var(--rc);color:#fff}
.dexm{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px}
.dm{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 4px;border-radius:12px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:12px;color:var(--ink-3)}
.dm b{font-size:14px;color:var(--ink)}.dm.ok{background:var(--gold-soft);box-shadow:inset 0 0 0 2px var(--gold-2);animation:bob 1.2s ease-in-out infinite;color:var(--gold)}.dm.cl{opacity:.5}
.rprog{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.rprog span{display:inline-flex;gap:6px;align-items:center;font-size:12px;font-weight:700;color:var(--ink-2);background:var(--surface);padding:3px 10px 3px 4px;border-radius:99px;box-shadow:inset 0 0 0 1px var(--line)}
.rprog i{font-style:normal;font-family:var(--f-en);font-size:12px;font-weight:800;padding:0 7px;line-height:18px;border-radius:99px;background:var(--rc);color:#fff}
.vsep{flex:none;width:1px;height:20px;background:var(--line);margin:6px 4px}
.mdt{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}
.mdt .big{width:190px;max-width:60%}.mdt .big .msp{width:100%}.mdt h3{font-size:20px;margin-top:2px}
.mdt .rw2{display:flex;gap:10px;align-items:center}.mdt .dsc{font-size:13px;line-height:1.8;color:var(--ink-2)}
.mdt .dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;width:100%;text-align:left}.mdt .dl span{display:block;font-size:12px;color:var(--ink-3)}.mdt .dl b{font-size:14px}
.mdt.r-UR .big,.mdt.r-SSR .big{filter:drop-shadow(0 0 18px rgba(255,200,80,.6))}
.eggr.r-UR{position:relative;overflow:hidden}
.eggr.r-UR::before{content:'';position:absolute;left:50%;top:34%;width:640px;height:640px;margin:-320px 0 0 -320px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,154,77,.5) 0 9deg,rgba(255,224,138,.5) 9deg 18deg);animation:spin 7s linear infinite;z-index:0;-webkit-mask:radial-gradient(circle,#000 20%,transparent 68%);mask:radial-gradient(circle,#000 20%,transparent 68%)}
.mres.r-UR{box-shadow:inset 0 0 0 2px #E8475F,0 0 28px rgba(232,71,95,.5)}
.rgrid.multi{max-height:52vh;overflow:auto;padding:2px}
@media(max-width:560px){.dexm{grid-template-columns:repeat(5,1fr)}.dm b{font-size:12px}}

/* ---------- element badges ---------- */
.eltag{display:inline-block;font-style:normal;font-size:12px;font-weight:800;color:#fff;background:var(--ec,#888);padding:0 8px;line-height:17px;border-radius:99px;margin-left:6px;letter-spacing:.04em;vertical-align:middle}
.dc .eltag{margin:2px 0 0}
.edot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:baseline}
.ename .eltag{font-size:12px;margin-left:8px}
.foot{font-size:12px;color:var(--ink-3);text-align:center;padding:36px 0 0;line-height:1.8}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* ===== v18 design pass: flat, neutral, hairline — less "generated" look ===== */
:root{--bg:#F6F7F9;--surface:#fff;--surface-2:#F2F4F7;--ink:#16202E;--ink-2:#4C5767;--ink-3:#8A94A3;--line:#E4E8EE;
 --sh-1:0 0 0 1px rgba(20,32,50,.06);--sh-2:0 4px 14px rgba(20,32,50,.08);--sh-3:0 16px 40px rgba(20,32,50,.16)}
body{letter-spacing:.02em}
.card{border-radius:12px;box-shadow:0 0 0 1px var(--line)}
.cov{background:linear-gradient(180deg,var(--c1),var(--c1))!important;background:var(--c1)!important}
.cov::before{content:"";background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.16) 0 60%,transparent 61%)!important;width:120%!important;right:-48%!important;top:-60%!important;opacity:1!important}
.cov::after{display:none!important}
.cov .k,.slide .lab,.pageh .k,.sech .k{display:none!important}
.hero{border-radius:14px;box-shadow:0 0 0 1px var(--line)}
.slide .shade{display:none}
.slide .cov::before{opacity:1!important}
.btn{box-shadow:none}
.chip{box-shadow:inset 0 0 0 1px var(--line)}
.chip[aria-pressed=true]{box-shadow:none}
.pageh h1,.pageh .t{letter-spacing:.01em}
@media (min-width:700px){.slide .glass{background:#fff!important;color:var(--ink)!important;box-shadow:0 12px 32px rgba(10,20,40,.22)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-radius:14px!important}
 .slide .glass *{color:inherit}.slide .glass .gs{border-top-color:var(--line)!important}.slide .glass .btn{background:var(--accent);color:#fff}.slide .glass .pt{box-shadow:none!important}}
.pc .enm{display:none}
.pc .img{height:104px}
.slide h2{font-weight:800}

/* ===== v19: collectible card look (rarity foil + element glow) ===== */
.dc{background:radial-gradient(120% 70% at 50% 28%,color-mix(in srgb,var(--ec,#9AA6B8) 22%,#fff),#fff 72%);overflow:hidden}
.dc .msp{width:92px;filter:drop-shadow(0 6px 6px rgba(20,32,70,.22));transition:transform .2s}
.dc:hover .msp{transform:translateY(-3px) scale(1.04)}
.dc.r-SR{box-shadow:var(--sh-1),inset 0 0 0 2px #A875F0,0 0 10px rgba(168,117,240,.3)}
.dc.r-SSR,.dc.r-UR{background:radial-gradient(120% 70% at 50% 28%,#FFF3C4,#fff 70%)}
.dc.r-SSR::after,.dc.r-UR::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.75) 50%,transparent 65%);transform:translateX(-120%);animation:foil 3.4s ease-in-out infinite;pointer-events:none}
.dc.r-UR{background:radial-gradient(120% 70% at 50% 28%,#FFE0E6,#FFF8D8 55%,#fff 80%)}
@keyframes foil{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.dc.lk::after{display:none}
@media (prefers-reduced-motion:reduce){.dc::after{animation:none!important}}

/* ===== v20: sharp / powerful (bright base kept) ===== */
:root{--navy:#2A2D33;--accent:#2F3238;--ink:#0E1A2C;--gold-2:#F5B52E}
body{letter-spacing:.015em}
h1,h2,.pageh h1,.sech h2,.slide h2{font-weight:900!important;letter-spacing:.005em!important}
.pageh h1{font-size:30px;position:relative;padding-left:14px}
.pageh h1::before,.sech h2::before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:5px;background:linear-gradient(180deg,var(--accent),#2A2D33)}
.sech h2{position:relative;padding-left:12px}
.card,.pc,.dc,.hero,.slide .glass{border-radius:6px!important}
.card{box-shadow:0 0 0 1px var(--line),0 2px 0 0 #0E1A2C0F}
.btn{border-radius:4px!important;font-weight:800;letter-spacing:.06em;height:42px;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px))}
.btn.line,.btn.sm{clip-path:none}
.chip,.seg,.seg button,.tabs button{border-radius:4px!important}
.seg{background:#fff;box-shadow:0 0 0 1px var(--line)}
.seg button{font-weight:800}
.seg button[aria-pressed=true]{background:var(--accent);box-shadow:0 3px 0 #2A2D33}
.chip[aria-pressed=true]{background:var(--accent);color:#fff;font-weight:800}
.pts{border-radius:4px;background:#2A2D33;color:#FFD66B}
.pts .coin,.pts>*:first-child{filter:none}
.side .nav a,.side button.nv{border-radius:4px}
.hero{background:linear-gradient(120deg,#2A2D33,#2F3238)}
.slide h2{font-size:30px;line-height:1.35;text-shadow:0 2px 0 rgba(0,0,0,.12)}
.slide .cov{background:transparent!important}
.slide .cov::before{background:linear-gradient(115deg,transparent 55%,rgba(255,255,255,.14) 55% 70%,transparent 70%)!important;width:100%!important;right:0!important;top:0!important;height:100%}
.pc .img{border-bottom:4px solid #2A2D33}
.pc .ind{border-radius:3px}
.dc{border-radius:6px}
.dc .rb,.rb{border-radius:3px!important}
.eltag{border-radius:3px}
.tabs button[aria-pressed=true]::after{background:var(--accent);height:4px;border-radius:0}
.tabs button{font-weight:800}
.top{border-bottom:3px solid #2A2D33}

/* ===== v21: trading-card detail ===== */
.tcg{width:min(300px,86%);aspect-ratio:63/88;border-radius:14px;padding:6px;background:linear-gradient(145deg,var(--ec),color-mix(in srgb,var(--ec) 40%,#fff) 45%,var(--ec));box-shadow:0 10px 26px rgba(20,32,70,.28);position:relative;overflow:hidden;text-align:left}
.tcg.r-SR{background:linear-gradient(145deg,#A875F0,#F0E2FF 45%,#A875F0)}
.tcg.r-SSR{background:linear-gradient(145deg,#E6A100,#FFF0B0 45%,#E6A100)}
.tcg.r-UR{background:linear-gradient(145deg,#FF5B7A,#FFE79A 30%,#7FE0FF 55%,#C79BFF 80%,#FF5B7A)}
.tcg::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.55) 50%,transparent 62%);transform:translateX(-130%);animation:foil 3.6s ease-in-out infinite;pointer-events:none}
.tcg.r-N::after,.tcg.r-R::after{display:none}
.tcg-in{height:100%;border-radius:9px;background:#FBF8EE;display:flex;flex-direction:column;padding:6px;gap:5px}
.tc-top{display:flex;align-items:center;gap:6px;background:linear-gradient(90deg,#fff,#F1F4FA);border-radius:6px;padding:3px 6px;box-shadow:inset 0 0 0 1px #D8DEEA}
.tc-orb{font-style:normal;font-size:12px;font-weight:900;color:#fff;background:var(--ec);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--ec);flex:none;margin:-6px 0 -6px -2px}
.tc-name{flex:1;font-size:14px;font-weight:900;line-height:1.2;color:#2F3238}
.tc-hp{font-weight:900;font-size:18px;color:#D23A3A;line-height:1}.tc-hp small{font-size:12px;color:#8A94A3;margin-right:3px}
.tc-art{position:relative;flex:1;min-height:0;border-radius:6px;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,#fff,color-mix(in srgb,var(--ec) 35%,#fff) 60%,color-mix(in srgb,var(--ec) 70%,#1c2a5c));box-shadow:inset 0 0 0 2px #fff,0 0 0 1.5px #8A94A3}
.tc-art .msp{width:78%;max-height:92%;filter:drop-shadow(0 6px 5px rgba(20,32,70,.3))}
.tc-no{position:absolute;left:6px;top:4px;font-size:12px;font-weight:800;color:#2F3238;opacity:.7}
.tc-star{position:absolute;right:6px;bottom:3px;font-size:12px;color:#F5B52E;letter-spacing:1px;text-shadow:0 1px 0 #7a5a00}
.tc-type{font-size:12px;font-weight:800;text-align:center;color:#fff;background:linear-gradient(90deg,#2F3238,#2A3F6B);border-radius:3px;padding:2px 4px}
.tc-eff{background:#fff;border-radius:6px;padding:6px 8px;font-size:12px;line-height:1.5;color:#26344F;box-shadow:inset 0 0 0 1px #D8DEEA;min-height:64px}
.tc-eff b{font-size:12px;color:#2F3238}.tc-eff p{margin-top:2px}
.tc-ft{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:800;color:#8A94A3}
.tc-r{font-size:13px;color:var(--rc);letter-spacing:.1em}
.mdt .tcg{margin:0 auto}

.prof{width:100%;text-align:left;margin-top:6px;padding:12px;background:var(--surface-2);border-radius:6px;font-size:12.5px;line-height:1.7}
.pf-row{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}.pf-k{font-size:12px;font-weight:800;color:var(--ink-3);letter-spacing:.08em}.pf-row b{margin-right:8px}
.pf-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.pf-tags i{font-style:normal;font-size:12px;font-weight:800;background:#fff;box-shadow:inset 0 0 0 1px var(--line);padding:0 8px;line-height:22px;border-radius:3px;color:var(--accent)}
.prof dl{display:grid;grid-template-columns:44px 1fr;gap:4px 8px}.prof dt{font-size:12px;font-weight:800;color:var(--ink-3);padding-top:2px}.prof dd{color:var(--ink-2)}
.pf-say{margin-top:10px;padding:8px 10px;background:#fff;border-left:4px solid var(--accent);font-weight:800;color:var(--ink)}

/* ===== v25: Filmarks-style records / reviews ===== */
.stars{display:inline-block;letter-spacing:1px;font-size:14px;line-height:1;background:linear-gradient(90deg,#F5B52E var(--p),#D7DCE5 var(--p));-webkit-background-clip:text;background-clip:text;color:transparent;vertical-align:middle}
.pw{position:relative;display:block}
.pw .sc{position:absolute;left:8px;bottom:8px;background:rgba(14,26,44,.82);color:#FFD66B;font-size:12px;font-weight:900;padding:0 8px;line-height:22px;border-radius:3px}
.pw .rk{position:absolute;left:0;top:0;min-width:30px;text-align:center;background:#F5B52E;color:#0E1A2C;font-size:17px;font-weight:900;line-height:30px;border-radius:0 0 6px 0;font-family:var(--f-en)}
.pw .wk{position:absolute;right:8px;top:8px;font-size:12px;font-weight:800;color:#fff;background:var(--accent);padding:0 8px;line-height:20px;border-radius:3px}.pw .wk.seen{background:#12875A}
.ep .meta{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--ink-3)}
.rkrow{grid-template-columns:repeat(5,minmax(200px,1fr));overflow-x:auto;scrollbar-width:thin;padding-bottom:6px}
@media(max-width:700px){.rkrow{grid-template-columns:repeat(5,72%)}}
.rate{margin-top:18px;border-top:1px solid var(--line);padding-top:16px;text-align:left}
.rt-top{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.rt-sc{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rt-sc b{font-size:34px;font-weight:900;line-height:1;font-family:var(--f-en)}.rt-sc small{font-size:12px;color:var(--ink-3)}
.rt-mk{display:flex;gap:8px}.mk{display:flex;flex-direction:column;align-items:center;gap:0;min-width:74px;padding:6px 10px;border-radius:6px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line);font-size:12.5px;font-weight:800;color:var(--ink-2)}
.mk span{font-size:15px;line-height:1.2}.mk small{font-size:12px;color:var(--ink-3);font-weight:700}
.mk.on{background:var(--accent);color:#fff;box-shadow:none}.mk.seen.on{background:#12875A}.mk.on small{color:rgba(255,255,255,.8)}
.rt-form{margin-top:14px;padding:14px;background:var(--surface-2);border-radius:8px;display:flex;flex-direction:column;gap:10px}
.rt-h{font-size:13px;font-weight:800}.rt-h2{font-size:14px;font-weight:900;margin:18px 0 8px}
.rt-st{display:flex;align-items:center;gap:2px}.rt-st button{font-size:30px;line-height:1;color:#D7DCE5;padding:0 2px}.rt-st button.on{color:#F5B52E}.rt-st em{margin-left:10px;font-style:normal;font-size:12px;color:var(--ink-3);font-weight:700}
.rt-tags{display:flex;flex-wrap:wrap;gap:6px}.rt-tags .chip{height:28px;font-size:12px;padding:0 10px}.rt-tags .chip.on{background:var(--accent);color:#fff;box-shadow:none}
#rvt{width:100%;border-radius:6px;border:1px solid var(--line);padding:10px;font:inherit;font-size:13px;resize:vertical;background:#fff}
.rvs{display:flex;flex-direction:column;gap:10px}.rv{padding:12px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--line);background:#fff}.rv.me{box-shadow:inset 0 0 0 2px var(--accent)}
.rv-h{display:flex;align-items:center;gap:8px}.rv-h>div{flex:1;line-height:1.3}.rv-h b{font-size:13px;display:block}.rv-h small{font-size:12px;color:var(--ink-3)}.rv-h em{font-style:normal;font-weight:900;font-size:13px;color:#C98900}
.rv-av{width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:900;font-size:13px}
.rv p{margin:8px 0 6px;font-size:13px;line-height:1.75;color:var(--ink-2)}.rv-tg{display:flex;gap:6px;flex-wrap:wrap}.rv-tg i{font-style:normal;font-size:12px;font-weight:800;color:var(--accent);background:var(--accent-soft);padding:0 8px;line-height:20px;border-radius:3px}
.rv-lk{margin-top:8px;font-size:12px;font-weight:800;color:var(--ink-3)}.rv-lk.on{color:#E0434B}
.stats{grid-template-columns:repeat(auto-fit,minmax(56px,1fr))!important}

/* ===== v26: points hub ===== */
.ptsum{display:flex;gap:14px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.ptbig{font-size:38px;font-weight:900;line-height:1.1;font-family:var(--f-en)}.ptbig small{font-size:14px;margin-left:4px;color:var(--ink-3)}
.ptsum2{display:flex;gap:18px}.ptsum2 span{display:flex;flex-direction:column;font-size:18px;font-weight:900;line-height:1.2}.ptsum2 small{font-size:12px;color:var(--ink-3);font-weight:700}
.sech2{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;margin:6px 0 10px}
.camps{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.camp{display:flex;gap:12px;align-items:center;text-align:left;padding:12px;border-radius:6px;background:var(--surface);box-shadow:0 0 0 1px var(--line)}
.camp .cb{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.5}.camp .cb small{font-size:12px;color:var(--ink-3)}.camp .cb b{font-size:13.5px}
.cty{font-style:normal;font-size:12px;font-weight:800;color:var(--accent);background:var(--accent-soft);padding:0 7px;border-radius:3px;margin-left:4px}
.crw{font-weight:900;font-size:13px;color:#fff;background:var(--accent);padding:0 10px;line-height:28px;border-radius:4px;white-space:nowrap}.crw.got{background:var(--ok-soft);color:var(--ok)}.camp.dn{opacity:.7}
.cav{flex:none}
.camphd{display:flex;gap:12px;align-items:center}.camphd>div{display:flex;flex-direction:column}
.xch{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.xc{padding:16px;border-radius:6px;background:var(--surface);box-shadow:0 0 0 1px var(--line);display:flex;flex-direction:column;gap:6px;align-items:flex-start;border-top:4px solid var(--accent)}.xc b{font-size:14px}.xc p{font-size:12.5px;color:var(--ink-2);flex:1}
.lcg,.lcq,.lcres{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.lcc{position:relative;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;min-height:76px;padding:10px 6px;border-radius:6px;background:#fff;box-shadow:inset 0 0 0 1.5px #C9D3E3;text-align:center}
.lcc b{font-size:12.5px;line-height:1.35;color:#2F3238}.lcc span{font-size:12px;color:var(--ink-3);font-weight:700}.lcc i{position:absolute;left:4px;top:4px;font-style:normal;font-size:12px;font-weight:900;color:#fff;background:#8A94A3;padding:0 6px;line-height:15px;border-radius:3px}
.lcc.r-R{box-shadow:inset 0 0 0 2px #2F3238;background:#F1F6FF}.lcc.r-R i{background:#2F3238}
.lcc.r-SR{box-shadow:inset 0 0 0 2px #E6A100;background:linear-gradient(145deg,#FFF8DF,#fff)}.lcc.r-SR i{background:#E6A100}
.lcc.lk{opacity:.6;background:var(--surface-2)}
.lcc.big{min-height:104px;width:118px}.lcres{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));justify-items:center}
.inp{width:100%;border:1px solid var(--line);border-radius:6px;padding:10px;font:inherit;font-size:13.5px;background:var(--surface);color:var(--ink)}
.sheet label{display:block;margin:10px 0 4px}

/* ===== v26: refined — calm, big-tech product feel (overrides v18-v20 "sharp" experiments) ===== */
:root{--bg:#F5F7FA;--line:#E3E8EF;--sh-1:0 1px 2px rgba(16,30,60,.05),0 0 0 1px rgba(16,30,60,.06);--sh-2:0 6px 20px rgba(16,30,60,.10)}
body{letter-spacing:.015em}
h1,h2,.pageh h1,.sech h2,.slide h2{font-weight:800!important;letter-spacing:0!important}
.pageh h1{font-size:28px;padding-left:0}
.pageh h1::before,.sech h2::before{display:none!important}
.sech h2{padding-left:0;font-size:19px}
.top{border-bottom:1px solid var(--line)!important;background:rgba(255,255,255,.88);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px)}
.btn{clip-path:none!important;border-radius:10px!important;font-weight:700;letter-spacing:.02em;height:44px;box-shadow:0 1px 2px rgba(16,30,60,.12);transition:filter .15s,transform .1s}
.btn:hover{filter:brightness(1.06)}.btn:active{transform:scale(.98)}
.btn.sm{height:34px;border-radius:8px!important}
.btn.line,.btn.soft{box-shadow:none}
.seg{border-radius:12px!important;background:#EAEFF6!important;box-shadow:none!important;padding:3px}
.seg button{border-radius:9px!important;font-weight:700;height:36px}
.seg button[aria-pressed=true]{background:#fff!important;color:var(--accent)!important;box-shadow:0 1px 3px rgba(16,30,60,.16)!important}
.chip{border-radius:99px!important;font-weight:600}
.chip[aria-pressed=true]{background:var(--accent)!important;color:#fff;box-shadow:none}
.tabs button{border-radius:0!important;font-weight:700}
.tabs button[aria-pressed="true"]::after{height:3px!important;border-radius:3px 3px 0 0!important}
.card,.pc,.camp,.xc,.rv,.dc{border-radius:14px!important}
.card{box-shadow:var(--sh-1)!important}
.pc,.camp,.xc{box-shadow:var(--sh-1);transition:box-shadow .2s,transform .2s}
.pc:hover,.camp:hover,.xc:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}
.xc{border-top:0!important}
.pc .img{border-bottom:0!important}
.pts{border-radius:99px!important;background:#FFF5D8!important;color:#8A5A00!important;box-shadow:inset 0 0 0 1px #F2DDA0}
.hero{border-radius:20px!important;background:linear-gradient(120deg,#2F3238,#6A6E78)!important}
.slide h2{text-shadow:none!important;font-weight:800}
.tag,.eltag,.rb,.cty,.crw{border-radius:6px!important}
.eltag{border-radius:99px!important}
.crw{border-radius:8px!important}
.pf-say,.rv.me{border-radius:10px}
.sheet{border-radius:20px 20px 0 0}
@media(min-width:700px){.sheet{border-radius:20px}}
.side .nav a,.side button.nv{border-radius:10px}
.btn.line{box-shadow:inset 0 0 0 1.5px #CBD5E3!important;background:#fff;color:var(--ink)}
.btn.line:hover{box-shadow:inset 0 0 0 1.5px var(--accent)!important;color:var(--accent)}
.pc .pt,.mcard .pt{color:#fff!important}

.thumb.ph{background:#e9eef6;box-shadow:0 1px 3px rgba(20,35,62,.12)}.thumb.ph::after{display:none}.thumb.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.thumb.ph .play{background:rgba(0,0,0,.45);box-shadow:none;right:3cqw;bottom:3cqw;width:9cqw;height:9cqw}

/* v29 typography: tighter, heavier headings, soft marker highlights */
body{font-size:15px;line-height:1.75}
h1,h2,h3{font-weight:800;letter-spacing:-.005em;line-height:1.38}
.pageh h1{font-size:30px;font-weight:800;letter-spacing:-.01em;line-height:1.28}
.sech h2{font-size:21px;font-weight:800;letter-spacing:0}
.sech .k,.pageh .k{font-weight:700;letter-spacing:.1em;font-size:12px}
.slide h2,.slide h1{font-weight:900;letter-spacing:-.01em;line-height:1.3}
.slide mark{background:none;color:#FFD21F}
mark{background:linear-gradient(transparent 62%,#FFD21F 62%);color:inherit;padding:0 .08em}
.mm h2,.endp h2{letter-spacing:.02em}
.navlabel{letter-spacing:.1em}
.tag,.chip{letter-spacing:.02em}

.ctag{font-style:normal;font-weight:800;font-size:12px;color:var(--accent)}
.ambc{background:var(--accent-soft)}
.ambcode{font-family:var(--f-en);font-weight:800;font-size:30px;letter-spacing:.08em;color:var(--accent);margin-top:2px}
.ambst{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.ambst div{border-radius:12px;background:var(--surface-2);padding:10px 6px;text-align:center;display:flex;flex-direction:column;gap:2px}
.ambst div.on{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent)}
.ambst b{font-size:15px}.ambst span{font-size:12px;line-height:1.3;color:var(--ink-2)}.ambst small{font-size:12px;color:var(--accent);font-weight:700}
.shcard{border-radius:20px;background:#fff;box-shadow:0 0 0 1px var(--line),var(--sh-2);padding:22px;position:relative;overflow:hidden}
.shcard::before{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:var(--accent-soft)}
.shcard small{font-weight:800;font-size:12px;letter-spacing:.1em;color:var(--accent);position:relative}
.shcard h3{font-size:26px;font-weight:900;line-height:1.3;margin:6px 0 14px;position:relative}
.shr{display:flex;flex-direction:column;gap:1px;position:relative}.shr b{font-size:17px}.shr span{font-size:12px;color:var(--ink-2)}
.shc{margin-top:14px;background:var(--accent);color:#fff;border-radius:12px;padding:10px 14px;font-size:12px;position:relative}.shc b{font-family:var(--f-en);font-size:18px;letter-spacing:.08em;margin-left:6px}
.shcard>i{position:absolute;right:18px;bottom:12px;font-style:normal;font-weight:800;font-size:12px;color:var(--ink-3)}
.inp{display:block;width:100%;margin-top:4px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);font:inherit;background:#fff;color:var(--ink)}

/* v31 clean & light: flat surfaces, quieter chrome, clearer hierarchy */
.hero{background:#F1EFEA!important;color:var(--ink);box-shadow:none;border-radius:20px!important}
.slide .cov{background:transparent!important}
.slide .cov::before{display:none!important}
.slide h2{color:#2F3238;text-shadow:none!important;font-size:32px}
.slide mark{background:linear-gradient(transparent 62%,#FFD21F 62%);color:inherit;padding:0 .06em}
.slide .lab{color:var(--accent)}
.slide .who{color:var(--ink-2);opacity:1}
.slide .st .btn,.slide .st button{background:var(--accent);color:#fff;box-shadow:none}
.slides+.dots i,.hero .dots i{background:#C9D8F2}
.rank{background:var(--accent);box-shadow:none}
.rank::after{display:none}
.rank .lv{color:#FFE9A8}
.card{box-shadow:0 0 0 1px var(--line),0 1px 2px rgba(20,35,62,.04)}
.pageh h1,.view>h1{margin-top:4px}
main>.greet,.greet{margin-top:8px}
.sech{margin-top:8px}
.sech2{margin-top:6px}
.btn{border-radius:12px;font-weight:700;letter-spacing:.01em}
.btn.navy,.btn.pri{background:var(--accent);box-shadow:none}
.tag{border-radius:6px;font-weight:700}
.seg button[aria-pressed=true]{background:var(--accent);color:#fff;box-shadow:none}
body{margin:0;letter-spacing:.015em}

/* v32 photo hero */
.hero{background:#fff!important;box-shadow:0 0 0 1px var(--line)!important;overflow:hidden}
.slide.ph{min-height:0;display:flex;flex-direction:column}
.slide.ph .thumb{border-radius:0;box-shadow:none}
.slide.ph .cap{display:flex;align-items:center;gap:14px;padding:14px 18px 34px}
.slide.ph .cap>div{flex:1;min-width:0}
.slide.ph .cap .cl{display:block;font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--accent);margin-bottom:2px}
.slide.ph .cap b{display:block;font-size:15px;font-weight:800;line-height:1.5;color:var(--ink)}
.hero .dots{position:absolute;left:18px;right:auto;bottom:12px;top:auto}.hero .dots button{background:#D3DDEE}.hero .dots button[aria-current="true"]{background:var(--accent)}
/* v33 depth & type */
.card{box-shadow:0 0 0 1px rgba(15,30,61,.05),0 1px 2px rgba(15,30,61,.05),0 6px 14px rgba(15,30,61,.06),0 18px 36px rgba(15,30,61,.07)!important}
.btn{box-shadow:0 1px 2px rgba(15,30,61,.18),0 6px 14px rgba(15,30,61,.14),inset 0 1px 0 rgba(255,255,255,.16)!important;letter-spacing:.05em}
.btn.line,.btn.soft{box-shadow:none!important}
body{letter-spacing:.04em;line-height:1.75}
h1,h2,h3,.ttl{letter-spacing:.01em}
.thumb{box-shadow:0 1px 2px rgba(15,30,61,.1),0 10px 22px rgba(15,30,61,.14)}
.tabbar,nav.tabs,#tabs{box-shadow:0 -1px 0 rgba(15,30,61,.06),0 -10px 28px rgba(15,30,61,.08)}
/* v35 mono ink */
:root{--bg:#FAF9F7;--surface:#fff;--surface-2:#F3F1ED;--ink:#23262B;--ink-2:#555860;--ink-3:#9296A0;--line:#E8E5DF;--navy:#2F3238;--navy-2:#6A6E78;--accent:#2F3238;--accent-soft:#F1EFEA;--gold:#8C6B3A;--gold-2:#C9A46A;--gold-soft:#F6EFE3}
body{background:var(--bg)}
/* shorts */
.svrow{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x proximity}
.svt{position:relative;flex:none;width:132px;aspect-ratio:9/14;border-radius:18px;overflow:hidden;text-align:left;color:#fff;scroll-snap-align:start;box-shadow:0 1px 2px rgba(15,30,61,.12),0 10px 22px rgba(15,30,61,.16)}
.svt .im{position:absolute;inset:0;background-size:cover;background-position:center}.svt .sh{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(0,0,0,.72))}
.svt .pl{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.92);color:#2F3238;display:grid;place-items:center;font-size:12px;padding-left:2px}
.svt b{position:absolute;left:10px;right:10px;bottom:28px;font-size:13px;line-height:1.35;font-weight:800}.svt small{position:absolute;left:10px;bottom:10px;font-size:12px;opacity:.9;letter-spacing:.05em}.svt.dn{opacity:.7}
.svwrap{position:fixed;inset:0;z-index:90;background:#111}
.svsc{height:100%;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none}.svsc::-webkit-scrollbar{display:none}
.svs{position:relative;height:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;color:#fff}
.svs .bg{position:absolute;inset:0;background-size:cover;background-position:center 20%;transform:scale(1.04)}
.svs .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,0) 30%,rgba(0,0,0,.55) 58%,rgba(0,0,0,.9))}
.svb{position:absolute;left:0;right:0;bottom:0;padding:0 20px 28px;max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:8px}
.svk{font-size:12px;font-weight:800;letter-spacing:.16em;opacity:.85}.svw{font-size:15px;font-weight:800}.svm{font-size:22px;line-height:1.55;font-weight:800;margin:2px 0 0;letter-spacing:.02em;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.svtg{align-self:flex-start;font-size:12px;font-weight:700;padding:2px 9px;border-radius:99px;background:rgba(255,255,255,.2)}
.svq{margin-top:10px;display:flex;flex-direction:column;gap:8px;background:rgba(255,255,255,.96);color:#2F3238;border-radius:20px;padding:16px;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.svq>b{font-size:15px;line-height:1.5}
.svo{display:flex;align-items:center;gap:10px;text-align:left;padding:11px 12px;border-radius:12px;background:#F3F1ED;font-size:14px;font-weight:700}.svo span{width:22px;height:22px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;flex:none}
.svo.right{background:#E1F5EC;box-shadow:inset 0 0 0 1.5px #12875A}.svo.wrong{background:#FFEAEB;box-shadow:inset 0 0 0 1.5px #E0434B}
.svx{font-size:13px;line-height:1.7;color:#4C5767}.svx b{display:block;color:#2F3238;margin-bottom:2px}
.svclose{position:absolute;top:14px;right:14px;z-index:5;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;display:grid;place-items:center}.svclose svg{width:20px;height:20px}
.svhint{position:absolute;top:22px;left:0;right:0;text-align:center;font-size:12px;letter-spacing:.14em;color:rgba(255,255,255,.75);pointer-events:none}
.rank{background:linear-gradient(135deg,#5A5F69,#9A8B73)!important}.matchban{background:#5A5F69!important}
/* news + today */
.nwrow{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 12px}
.nwt{flex:none;width:150px;aspect-ratio:9/13;border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:8px;text-align:left;background:linear-gradient(160deg,#F6F2EA,#E7DFD0);box-shadow:0 1px 2px rgba(27,29,34,.08),0 10px 22px rgba(27,29,34,.12);position:relative}
.nwt .nk{align-self:flex-start;font-size:12px;font-weight:800;padding:2px 9px;border-radius:99px;background:#fff;color:var(--ink)}
.nwt b{font-size:14px;line-height:1.55;font-weight:800;letter-spacing:.02em}.nwt .nm{margin-top:auto;font-size:12px;font-weight:700;color:var(--ink-2);display:flex;align-items:center;gap:6px}.nwt .nm i{width:14px;height:14px;border-radius:50%;background:var(--ink)}
.nwf{display:flex;align-items:center;gap:10px;justify-content:space-between;font-size:12px;color:var(--ink-2);line-height:1.6}
.nvs{background:#EFEAE0;color:var(--ink)}.nvbg{position:absolute;inset:0;background:radial-gradient(120% 60% at 80% 0%,#F7F2E8,transparent 60%),linear-gradient(180deg,#F3EEE4,#E6DECE)}
.nvb{position:absolute;inset:0;padding:70px 22px 28px;max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.nvt{display:flex;gap:8px;align-items:center}.nvh{font-size:12px;font-weight:800;padding:4px 12px;border-radius:99px;background:var(--ink);color:#fff;letter-spacing:.06em}.nvk{font-size:12px;font-weight:800;padding:4px 12px;border-radius:99px;background:#fff}
.nvq{font-size:27px;line-height:1.5;font-weight:900;letter-spacing:.01em;margin:6px 0 4px}
.nvl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.nvl li{display:flex;gap:12px;align-items:flex-start;background:#fff;border-radius:16px;padding:14px;font-size:15px;line-height:1.6;font-weight:700;box-shadow:0 1px 2px rgba(27,29,34,.08),0 10px 22px rgba(27,29,34,.08);opacity:0;transform:translateY(10px);animation:nvin .6s forwards}
.nvl li i{flex:none;width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font-style:normal;font-size:12px;display:grid;place-items:center;font-weight:800}
@keyframes nvin{to{opacity:1;transform:none}}
.nvf{margin-top:auto;display:flex;flex-direction:column;gap:8px}.nvbar{height:4px;border-radius:4px;background:rgba(27,29,34,.12);overflow:hidden}.nvbar i{display:block;height:100%;width:100%;background:var(--ink);transform-origin:left;animation:nvp 15s linear infinite}@keyframes nvp{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.nvf small{font-size:12px;color:var(--ink-2);letter-spacing:.04em}
.tdy{display:grid;gap:10px}.tdc{background:var(--surface);border-radius:18px;padding:14px 16px;box-shadow:0 0 0 1px rgba(27,29,34,.05),0 1px 2px rgba(27,29,34,.05),0 8px 20px rgba(27,29,34,.06)}
.tdc h3{font-size:15px;margin:0 0 8px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.tdc h3 small{font-size:12px;font-weight:600;color:var(--ink-3)}
.tdr{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line);width:100%;text-align:left}.tdr:first-of-type{border-top:0}
.tdp{display:flex;align-items:center;gap:10px;text-align:left;min-width:0}.tdp b,.tdl b{font-size:14px;display:block;line-height:1.4}.tdp small,.tdl small{font-size:12px;color:var(--ink-2);display:block}
.tdl>span:first-child{min-width:0}.tdg{flex:none;font-size:12px;font-weight:800;padding:6px 12px;border-radius:99px;background:var(--accent-soft);color:var(--ink)}
/* video v2 */
.svwrap .svsc{position:absolute;inset:0}
.svseg{position:absolute;top:10px;left:12px;right:64px;z-index:6;display:flex;gap:4px}
.svseg span{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.35);overflow:hidden}.nvw .svseg span{background:rgba(27,29,34,.18)}
.svseg span i{display:block;height:100%;width:0;background:#fff;border-radius:3px}.nvw .svseg span i{background:var(--ink)}
.svseg span.dn i{width:100%}.svseg span.cur i{width:100%}
@keyframes segf{from{width:0}to{width:100%}}
.svwrap.pause *{animation-play-state:paused!important}
.svwrap.pause:after{content:"❚❚";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;display:grid;place-items:center;font-size:22px;z-index:7;pointer-events:none}
.nvw.pause:after{background:rgba(27,29,34,.55)}
.svs .bg{animation:none}.svs.on .bg{animation:kb 16s ease-out forwards}@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.2) translate(-1.5%,-1%)}}
.svtop{position:absolute;top:26px;left:16px;right:70px;z-index:5;display:flex;align-items:center;gap:10px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.svtop b{display:block;font-size:14px;line-height:1.3}.svtop small{font-size:12px;opacity:.85}
.svav{flex:none;width:38px;height:38px;border-radius:50%;background-size:cover;background-position:center;box-shadow:0 0 0 2px #fff,0 4px 12px rgba(0,0,0,.3)}
.svav.lg{background:#fff;display:grid;place-items:center}.svav.lg svg{width:26px;height:26px}
.rail2{position:absolute;right:10px;bottom:40%;z-index:5;display:flex;flex-direction:column;gap:16px;align-items:center;color:#fff}
.nvs .rail2{color:var(--ink)}
.rb{display:flex;flex-direction:column;align-items:center;gap:2px;color:inherit;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}.nvs .rb{filter:none}.rb small{font-size:12px;font-weight:700}.rb.on{color:#E8475F}
.svb{bottom:0;padding-right:64px}
.svm{font-size:23px}
.svm .ch{opacity:.35;display:inline}.svs.on .svm .ch{animation:chi .25s both}.svs.ansd .svm .ch{animation:none;opacity:1}
@keyframes chi{from{opacity:.35}to{opacity:1;text-shadow:0 2px 14px rgba(0,0,0,.6)}}
.svq.pend{opacity:0;transform:translateY(24px);pointer-events:none}.svs.on .svq.pend{animation:svqi .6s 4.6s both;pointer-events:auto}@keyframes svqi{to{opacity:1;transform:none}}
.nvs{background:#EFEAE0}.nvw .svclose{background:rgba(27,29,34,.7)}
.nvbg{position:absolute;inset:0;overflow:hidden;background:linear-gradient(180deg,#F5F0E6,#E8E0D0)}
.nvbg .bl{position:absolute;border-radius:50%;filter:blur(30px);opacity:.7}.nvbg .b1{width:300px;height:300px;background:#E7D5AE;top:-80px;right:-90px}.nvbg .b2{width:260px;height:260px;background:#D9DDE6;bottom:90px;left:-110px}.nvbg .b3{width:200px;height:200px;background:#EFD9C4;bottom:-60px;right:-40px}
.nvs.on .b1{animation:fl 9s ease-in-out infinite alternate}.nvs.on .b2{animation:fl 11s ease-in-out infinite alternate-reverse}@keyframes fl{to{transform:translate(30px,40px) scale(1.15)}}
.nvtop{color:var(--ink);text-shadow:none}.nvtop .nvk{margin-left:auto}
.nvb{position:absolute;inset:0;padding:96px 20px 28px;max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.nvkw{font-size:78px;line-height:1;font-weight:900;letter-spacing:-.02em;color:rgba(27,29,34,.9);opacity:0;transform:translateY(16px) scale(.96)}.nvs.on .nvkw{animation:kwin .7s .1s cubic-bezier(.2,.9,.3,1.1) both}@keyframes kwin{to{opacity:1;transform:none}}
.nvq{font-size:21px;line-height:1.55;font-weight:800;margin:0;padding-right:56px;opacity:0}.nvs.on .nvq{animation:nvin .6s .6s both}
.nvstage{position:relative;flex:1;min-height:170px;margin-top:6px}
.nvp{position:absolute;left:0;right:56px;top:0;display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:22px;padding:20px;box-shadow:0 1px 2px rgba(27,29,34,.08),0 14px 30px rgba(27,29,34,.12);opacity:0}
.nvp i{flex:none;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font-style:normal;font-weight:800;font-size:16px;display:grid;place-items:center}.nvp p{margin:0;font-size:18px;line-height:1.65;font-weight:700}
.nvs.on .nvp{animation:nvst 4.2s both}.nvs.on .nvend{animation:nvend .6s both}.nvend{flex-direction:column;align-items:flex-start;gap:12px;background:var(--ink);color:#fff}.nvend p{font-size:17px}.nvend .btn{background:#fff;color:var(--ink)}
@keyframes nvst{0%{opacity:0;transform:translateY(20px)}12%,84%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-14px)}}
@keyframes nvend{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.nvwave{display:flex;gap:5px;align-items:flex-end;height:30px}.nvwave i{width:5px;border-radius:3px;background:var(--ink);height:8px}.nvs.on .nvwave i{animation:wv .9s ease-in-out infinite alternate}
.nvwave i:nth-child(2){animation-delay:.1s!important}.nvwave i:nth-child(3){animation-delay:.25s!important}.nvwave i:nth-child(4){animation-delay:.05s!important}.nvwave i:nth-child(5){animation-delay:.3s!important}.nvwave i:nth-child(6){animation-delay:.15s!important}.nvwave i:nth-child(7){animation-delay:.2s!important}
@keyframes wv{from{height:6px}to{height:28px}}
.nvsrc{font-size:12px;color:var(--ink-2)}
.rb{background:transparent!important;box-shadow:none!important;padding:0;border-radius:0;height:auto;width:auto;min-width:44px}.nvw .svhint{display:none}.svhint{top:auto;bottom:6px;font-size:12px}
.nvkw{font-size:96px}.nvq{font-size:22px}.nvstage{min-height:260px}.nvp{top:14%;padding:24px}.nvp p{font-size:20px}.nvp i{width:38px;height:38px;font-size:18px}.nvend{top:18%}
.nvwave{margin-top:auto}
.svs .bg{filter:blur(24px) brightness(.62);inset:-30px}.fr{position:absolute;left:14px;right:14px;top:92px;aspect-ratio:16/9;border-radius:18px;background-size:cover;background-position:center;z-index:1;box-shadow:0 2px 6px rgba(0,0,0,.3),0 24px 60px rgba(0,0,0,.55);transform:scale(.98)}.svs.on .fr{animation:frz 16s ease-out forwards}@keyframes frz{to{transform:scale(1.03)}}
/* team */
.tmb{display:flex;flex-direction:column;gap:12px}.tmav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.tmm{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}.tmm b{font-size:12px;line-height:1.3}.tmm small{font-size:12px;color:var(--ink-2)}
.tav{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;background:#6A6E78;font-size:16px;box-shadow:0 0 0 2px #fff,0 3px 8px rgba(27,29,34,.18)}.tav.owner{background:#2F3238}.tav.exec{background:#8A7556}.tav.staff{background:#66756A}.tav.view{background:#9296A0}
.trl{font-style:normal;font-size:12px;font-weight:800;padding:1px 8px;border-radius:99px;background:var(--accent-soft);color:var(--ink)}.trl.owner{background:#2F3238;color:#fff}.trl.exec{background:#F3EBDD}.trl.staff{background:#E6ECE7}
.tmnow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;background:var(--surface-2);border-radius:12px;padding:10px 12px;font-size:12.5px}.tmnow span{color:var(--ink-2)}.tmnow b{flex:1;min-width:0}
.tmact{display:flex;gap:8px;flex-wrap:wrap}.tmact .btn{flex:1}
.tml{display:flex;flex-direction:column}.tmr{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.tmr:first-child{border-top:0}.tmr>div{flex:1;min-width:0}.tmr b{display:block;font-size:14px}.tmr small{font-size:12px;color:var(--ink-2)}
.tpr{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line)}.tpr b{display:block;font-size:13.5px}.tpr small{font-size:12px;color:var(--ink-2)}
.tg{flex:none;width:46px;height:28px;border-radius:99px;background:#D9D6CF;position:relative;transition:background .2s;padding:0}.tg i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}.tg.on{background:var(--ink)}.tg.on i{transform:translateX(18px)}.tg[disabled]{opacity:.5}
.tpc{background:var(--surface-2);border-radius:14px;padding:12px 14px}
.tmnow{flex-direction:column;align-items:flex-start}.tmnow b{flex:none;width:100%}.tmnow .btn{align-self:stretch}#cp-as,#iv-r{display:flex;flex-wrap:wrap;gap:6px}#cp-as button,#iv-r button{flex:1 1 auto}
.gptb{background:var(--surface-2);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}.gk small{display:block;font-size:12px;color:var(--ink-2);margin-bottom:4px}.gk code{display:block;background:#fff;border-radius:10px;padding:10px 12px;font-size:12.5px;word-break:break-all;box-shadow:inset 0 0 0 1px var(--line)}.gl{margin:0;padding-left:18px;font-size:12.5px;line-height:1.8;color:var(--ink-2)}

.fcs{display:grid;gap:12px;background:var(--surface);border-radius:22px;padding:18px;box-shadow:0 0 0 1px rgba(27,29,34,.05),0 2px 4px rgba(27,29,34,.05),0 14px 32px rgba(27,29,34,.08)}
.fch h2{font-size:22px;font-weight:800;margin:2px 0}.fch p{font-size:13px;color:var(--ink-3);margin:0}
.fcr{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.fcr:first-child{border-top:0}
.fcr .tdp{display:flex;gap:12px;align-items:center;text-align:left;min-width:0}.fcr .tdp span{display:flex;flex-direction:column;min-width:0}.fcr .tdp b{font-size:16px}.fcr .tdp small{font-size:12px;color:var(--ink-3)}.fcr .tdp em{font-style:normal;font-size:12px;color:var(--ink-2);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:210px}
.fcr .btn{flex:none;display:flex;flex-direction:column;align-items:center;padding:8px 14px;line-height:1.25;font-weight:800}.fcr .btn small{font-size:12px;font-weight:600;opacity:.8}
.fcn{background:var(--surface-2);border-radius:14px;padding:12px 14px}.fcn b{font-size:13px}.fcn ol{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.fcn li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-3)}.fcn li i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:800;background:var(--line);color:var(--ink-2)}
.fcn li.nw{color:var(--ink);font-weight:800}.fcn li.nw i{background:var(--ink);color:#fff}.fcn li.dn i{background:var(--gold-2);color:#fff}
.ob-s{display:grid;place-items:center;background:#F6F3EE}.ob{width:min(420px,88vw);text-align:left;display:grid;gap:14px}
.ob .obn{font-size:12px;letter-spacing:.14em;color:var(--ink-3)}.ob h2{font-size:34px;line-height:1.35;font-weight:800;margin:0}.ob p{font-size:15px;line-height:1.8;color:var(--ink-2);margin:0}
.ob .obd{display:flex;gap:6px}.ob .obd i{width:22px;height:4px;border-radius:2px;background:var(--line)}.ob .obd i.on{background:var(--ink)}
.ob .btn{width:100%;padding:14px}.ob .obs{font-size:13px;color:var(--ink-3);padding:6px}

/* v43 見やすさ: 文字の大きさ・コントラスト・はみ出し */
:root{--ink-2:#3E4C63;--ink-3:#5E6E88}
body{font-size:15px;line-height:1.75}
.sm{font-size:13px}.xs{font-size:12px}
.sech{align-items:center}.sech>div{flex:1;min-width:0}.sech h2{font-size:21px;line-height:1.4}.more{flex:none}
.colm{gap:44px}
.fch .k{display:none}
.fcs{padding:20px 18px;grid-template-columns:minmax(0,1fr)}.fcl,.fcr,.fcn{min-width:0}
.fch h2{font-size:24px}.fch p{font-size:14px}
.fcr{gap:12px}.fcr .tdp{flex:1;min-width:0}.fcr .tdp>span:last-child{min-width:0;flex:1}
.fcr .tdp b{font-size:17px}.fcr .tdp small{font-size:13px}.fcr .tdp em{font-size:13px;max-width:none}
.fcr .btn{padding:9px 14px;min-width:96px}.fcr .btn small{font-size:12px}
.fcn li{font-size:15px}.fcn b{font-size:14px}
.tdc h3 small{font-size:12px}
.post .txt,.li .tx small,.mini small{font-size:13px}

/* 本番固有（基準にないクラス） */
.pimg{display:block;width:100%;max-height:420px;object-fit:cover;border-radius:12px;margin-top:8px;background:var(--line)}
.pprev{position:relative;width:120px;margin:4px 0 8px}
.pprev img{display:block;width:120px;height:120px;object-fit:cover;border-radius:10px}
.pprev button{position:absolute;top:-8px;right:-8px;width:28px;height:28px;border-radius:50%;border:0;background:#0F1F45;color:#fff;font-size:16px;line-height:1}
body.authing main{padding:0;max-width:none}
.login-wrap{min-height:100dvh;display:grid;place-items:center;background:var(--navy);padding:20px}
.login-card{width:min(400px,100%);background:#fff;border-radius:20px;padding:28px 22px;box-shadow:0 24px 60px rgba(6,20,60,.35)}
.login-card label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:700;color:var(--ink-2)}
.login-card input{border:1.5px solid var(--line);border-radius:12px;height:46px;padding:0 14px;font-size:15px;font-family:inherit}
.login-card input:focus{outline:2px solid var(--accent);outline-offset:-1px}
.bzc{display:flex;gap:14px;align-items:center;justify-content:space-between;background:var(--surface);border-radius:20px;padding:18px;box-shadow:0 0 0 1px rgba(27,29,34,.05),0 2px 4px rgba(27,29,34,.05),0 14px 32px rgba(27,29,34,.08)}
.bzc .bzt{min-width:0}
.bzc h2{font-size:18px;line-height:1.45;font-weight:700;margin:2px 0 4px}
.bzc p{font-size:14px;color:var(--ink-3,#4B5B78)}
.bzk{font-size:13px;font-weight:700;letter-spacing:.16em;color:var(--accent)}
.bzp{height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.bzp i{display:block;height:100%;background:var(--accent)}
.bzq{font-size:20px;font-weight:700;line-height:1.6;margin:6px 0 16px}
.bzo{display:grid;gap:8px}
.bzr h3.bzn{font-size:28px;font-weight:700;line-height:1.3;margin:2px 0}
.bzcode{font-size:56px;font-weight:700;letter-spacing:.1em;color:var(--accent);line-height:1.1}
.bzone{font-size:17px;font-weight:700;color:#4B5B78;margin:4px 0 10px}
.bzwarn{font-size:14px;font-weight:700;color:#8A5A00;background:#FFF6E0;border-radius:10px;padding:10px 12px;margin:8px 0}
.bznear{font-size:14px;color:#4B5B78;margin:6px 0 10px}
.bzbars{display:grid;gap:12px;margin:14px 0 4px}
.bzr h4{font-size:15px;font-weight:700;margin:20px 0 6px}
.bzr p,.bzr li{font-size:16px}
.bzr ul{padding-left:1.2em;display:grid;gap:4px}
.bzg{display:flex;flex-direction:column;gap:2px;background:var(--surface-2);border-radius:14px;padding:12px 14px}
.bzg b{font-size:20px}
.bzpr{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:15px}
.bzpr:first-of-type{border-top:0}
.bzpr b{white-space:nowrap}
.bzpr span{text-align:right;color:#4B5B78;font-weight:700}
.bzst{color:var(--gold-2);letter-spacing:.12em}
.bzsel{width:100%;font:inherit;font-size:16px;padding:12px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink)}
.cfh{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:10px}
.cfh h2{font-size:20px;font-weight:700;margin:2px 0 0}
.cfn b{font-size:28px}
.cfn small{font-size:13px;color:var(--ink-3)}
.cf{background:var(--surface);border-radius:20px;padding:14px;box-shadow:0 0 0 1px rgba(27,29,34,.06),0 2px 4px rgba(27,29,34,.05),0 14px 32px rgba(27,29,34,.08)}
.cfbar{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.cfbar select{flex:none;font:inherit;font-size:14px;padding:11px 10px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink)}
.cfch{margin-bottom:6px}
.cfl{display:grid;gap:8px}
.cfr{position:relative;display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border-radius:14px;padding:12px 12px 12px 18px;box-shadow:0 0 0 1px var(--line);overflow:hidden}
.cfr .cfx{position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--lc,var(--accent))}
.cfr:active{background:var(--surface-2)}
.cft{flex:1;min-width:0;display:flex;flex-direction:column}
.cft b{font-size:17px}
.cft small{font-size:14px;color:var(--ink-2,#3B4660)}
.cft em{font-style:normal;font-size:13px;color:var(--ink-3,#4B5B78)}
.cfe{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:22px 10px;font-size:15px;color:var(--ink-3)}
.cfe b{color:var(--ink);font-size:16px}
.bgl{display:grid;gap:4px}
.bgr{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line)}
.bgr:first-child{border-top:0}
.bgi{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--surface-2);color:#9AA5B8;box-shadow:inset 0 0 0 2px var(--line)}
.bgb{flex:1;min-width:0;display:flex;flex-direction:column}
.bgb b{font-size:16px}
.bgb small{font-size:13px;color:var(--ink-3,#4B5B78)}
.bgm{display:flex;gap:6px}
.bgm span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;background:var(--surface-2);color:#9AA5B8}
.dpg{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.dpg span{font-size:15px;color:var(--ink-3)}
.dpg b{color:var(--ink);font-size:18px}
.bossimg{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;user-select:none;-webkit-user-drag:none}
button,.btn{min-height:44px}.stg{min-height:196px;padding-top:44px}
/* 見た目の基準＝「結心会VC テスト版」（v43）。基準CSSは別ブロック。ここは、写真を大きく見せる追加分と名刺ファイルだけ。 */
body:not([data-tab="game"]) main{padding-left:18px;padding-right:18px}
@media(min-width:960px){body:not([data-tab="game"]) main{padding-left:36px;padding-right:36px}}
.tabbar button{white-space:nowrap;letter-spacing:-.03em;padding-left:0;padding-right:0}
.pc .img{aspect-ratio:3/2}
.pf-hero{height:240px}
@media(min-width:700px){.pf-hero{height:280px}}
/* ホーム：今日、会える経営者（基準のカードに、写真を大きく） */
.fcs{background:var(--surface);border-radius:16px;box-shadow:var(--sh-1);padding:22px 18px 20px}
.fch{padding:0 0 16px}.fch h2{font-size:20px;line-height:1.5}.fch p{font-size:13px;color:var(--ink-2);margin-top:2px}
.fcx{padding-bottom:20px;border-bottom:1px solid var(--line)}
.fcphoto{display:block;width:100%;padding:0;border-radius:12px;overflow:hidden;background:#2F3238;aspect-ratio:16/9;position:relative}
.fcphoto img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}
.fcid{display:flex;align-items:center;gap:12px;margin-top:16px}.fcid>div{min-width:0}
.fcco{font-size:12px;color:var(--ink-2);line-height:1.5}
.fcname{font-size:18px;font-weight:700;line-height:1.6;color:var(--ink)}.fcname span{font-size:12px;color:var(--ink-2);font-weight:500;margin-left:10px}
.fcq{font-size:15px;line-height:1.75;font-weight:500;color:var(--ink);margin:12px 0 10px}
.fcmeta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--ink-2)}
.fcact{display:flex;gap:12px;align-items:center;margin-top:16px}
.fcprof{min-width:110px;min-height:44px;font-size:13px;font-weight:700;color:var(--ink);text-align:left;padding:8px 0}
.fcmeet{flex:1;min-height:48px!important;font-size:15px}
.fcsub{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.fcsubb{display:flex;align-items:center;gap:14px;flex:1;min-width:0;text-align:left;padding:0}
.fcsubb>img{width:72px;height:78px;border-radius:10px;object-fit:cover;flex:none;background:#E8EDF5}
.fcsubb>span{display:flex;flex-direction:column;min-width:0}.fcsubb b{font-size:16px;line-height:1.5}.fcsubb small{font-size:12px;color:var(--ink-2)}
.fcsub .fcmeet{flex:none;min-width:96px;min-height:44px!important;font-size:14px}
@media(max-width:420px){.fcsub{flex-wrap:wrap}.fcsub .fcmeet{width:100%}}
.fcn{margin-top:18px;background:var(--surface-2);border-radius:12px}
.fce{padding:6px 0 4px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.fce b{font-size:15px}.fce span{font-size:13px;color:var(--ink-2);line-height:1.7}
@media(min-width:960px){.fcphoto{aspect-ratio:21/9}}
/* ストーリー帯：背景と文字色を対で指定（写真あり＝暗い幕＋白文字／写真なし・読込失敗＝明るい面＋墨色の文字） */
.slide .cov>span:not(.k):not(.enm){background:linear-gradient(180deg,rgba(20,24,30,.38),rgba(20,24,30,.74))!important}
.slide:has(.cov img) .st,.slide:has(.cov img) h2,.slide:has(.cov img) .who,.slide:has(.cov img) .lab{color:#fff}
.slide:has(.cov img) h2,.slide:has(.cov img) .who{text-shadow:0 1px 3px rgba(0,0,0,.5)}
.slide:not(:has(.cov img)) .st,.slide:not(:has(.cov img)) h2,.slide:not(:has(.cov img)) .who,.slide:not(:has(.cov img)) .lab{color:var(--ink);text-shadow:none}
.slide .who{opacity:1}
.slide .st .btn{min-height:44px;background:#fff;color:var(--ink)}
.slide:not(:has(.cov img)) .st .btn{background:var(--ink);color:#fff}
.slide:has(.cov img) .cov{background:#2F3238!important}
.dots{background:rgba(20,24,30,.55);padding:5px 8px;border-radius:99px}.dots button{background:rgba(255,255,255,.55)!important}.dots button[aria-current="true"]{background:#fff!important}
.btn.line,.bcfilebtn{box-shadow:inset 0 0 0 1px #BFCAD9!important;background:#fff!important;color:var(--ink)}
.btn.line:hover,.bcfilebtn:hover{box-shadow:inset 0 0 0 1.5px var(--ink)!important}
.lbonus .lbx{position:absolute;right:10px;top:10px;z-index:3;background:rgba(255,255,255,.92);color:var(--ink);min-width:44px;min-height:44px;width:44px;height:44px}
.lbonus .lbh h2,.lbonus .lbh p,.lbonus .lbh .k2{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}
/* 名刺ファイル */
.bcscope{display:flex;flex-direction:column;gap:2px;background:var(--surface-2);border-radius:10px;padding:12px 14px;margin:0 0 16px;font-size:12px;color:var(--ink-3);line-height:1.7}.bcscope b{font-size:13px;color:var(--ink)}
.bcwarn{display:flex;flex-direction:column;gap:2px;background:#FFF4F2;border:1px solid #F1C9C2;border-radius:10px;padding:12px 14px;margin:0 0 12px;font-size:13px;color:#7A2E22;line-height:1.7}
.bcact{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.bcact .btn{flex:1;min-width:150px}.bcbig{font-size:15px}
.bcbar{display:flex;gap:8px;align-items:center;margin-bottom:10px}.bcbar .search{flex:1 1 auto;min-width:0;max-width:none;height:44px;padding:0 14px}.bcbar select{flex:none;font:inherit;font-size:14px;padding:0 10px;height:44px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.bcchips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}.bcchips .chip,.bctg .chip{min-height:36px;padding:0 14px;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--ink-2);font-size:13px}
.bcchips .chip[aria-pressed="true"],.bctg .chip[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.bccount{margin:8px 2px 12px}
.bclist{display:grid;gap:10px}
.bci{display:flex;gap:14px;text-align:left;width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;align-items:flex-start}
.bci>img,.bci>.bcnoimg{width:112px;aspect-ratio:91/55;object-fit:cover;border-radius:6px;flex:none;background:var(--surface-2);border:1px solid var(--line)}
.bcnoimg{display:grid;place-items:center;font-size:12px;color:#8A918B}
.bci .b{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.bci .b>b{font-size:16px;line-height:1.5}.bci .b>span{font-size:13px;color:var(--ink-2)}.bci small{font-size:12px;color:var(--ink-3)}.bci p{font-size:13px;color:var(--ink-2);margin:2px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bcun{color:var(--ink-3);font-weight:600}.bci .fu{font-style:normal;font-size:12px;margin-left:8px;padding:1px 8px;border-radius:99px;background:#FFF1D6;color:#7A5200;font-weight:700}
.bci .bctags{display:flex;gap:6px;flex-wrap:wrap}.bci .bctags em,.bcd .bctags em{font-style:normal;font-size:12px;padding:0 8px;line-height:20px;border-radius:4px;background:var(--surface-2);color:var(--ink-2)}
mark{background:#FFF1B8;color:inherit;border-radius:2px}
.bcempty{display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding:28px 18px;border:1px dashed #CDD2CD;border-radius:12px;font-size:14px;color:var(--ink-3)}.bcempty b{color:var(--ink);font-size:16px}
.bclink{font-size:13px;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;text-align:left;min-height:44px;padding:6px 0}
@media(max-width:480px){.bci>img,.bci>.bcnoimg{width:92px}}
.bcpromo{text-align:left;display:flex;flex-direction:column;gap:10px;width:100%}
.bcf{display:flex;flex-direction:column;gap:14px}.bcf .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bcf label,.bcbk label{font-size:13px}
.bcf input,.bcf textarea,.bcf select,.bcbk textarea{min-height:44px;font-size:16px;background:#fff;border:1px solid #D9DDD9;border-radius:10px}
.bcimgs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bcimgbox{display:flex;flex-direction:column;gap:8px;min-width:0}.bcih{display:flex;justify-content:space-between;align-items:center;font-size:13px;min-height:28px}
.bcprev{display:block;width:100%;aspect-ratio:91/55;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:var(--surface-2)}.bcprev.none{display:grid;place-items:center;font-size:12px;color:#8A918B}
.bcib{display:flex;flex-direction:column;gap:6px}.bcib .btn{width:100%;font-size:13px;padding:0 8px}
.bcerr{background:#FFF4F2;border:1px solid #F1C9C2;color:#7A2E22;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.7}
.bcd{display:flex;flex-direction:column;gap:14px}.bcd .dl{display:block;grid-template-columns:none;column-count:1;gap:0}.bcd .dl>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--line);font-size:14px}.bcd .dl>div:first-child{border-top:0}.bcd .dl span{color:var(--ink-3);flex:none;font-size:13px}.bcd .dl b{font-weight:600;text-align:right;overflow-wrap:anywhere}.bcd .dl a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.bczoom{display:flex;flex-direction:column;gap:4px;padding:0;text-align:left}.bczoom small{font-size:12px;color:var(--ink-3)}
.bcjump{display:flex;flex-wrap:wrap;gap:8px}.bcjump .btn{flex:1;min-width:120px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.bcd .memo{white-space:pre-wrap;font-size:14px;background:var(--surface-2);border-radius:10px;padding:12px 14px;margin:0}
.fubox{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#FFF8E6;border-radius:10px;padding:10px 12px;font-size:13px}
.two2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bcdel,.bcdelgo{color:#B42318!important}.bcdelgo{background:#fff!important;box-shadow:inset 0 0 0 1px #E4A8A0}
.bcdups{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.bcbig-img{width:100%;border-radius:8px;border:1px solid var(--line);display:block}
.bcbk{display:flex;flex-direction:column;gap:22px}.bcbk h3{font-size:15px;margin:0 0 6px}.bcbk section{display:flex;flex-direction:column;gap:8px}.bcbk p{margin:0}
.bcfilebtn{position:relative;cursor:pointer;display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:6px;min-height:44px;height:44px;padding:0 18px;border-radius:99px;font-size:13px;font-weight:700;color:var(--ink);background:transparent;box-shadow:inset 0 0 0 1px #BFCAD9;white-space:nowrap}
.bcdet{font-size:13px}.bcdet summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--ink-3)}.bcdet textarea{width:100%;margin:6px 0}
.bcprevsum{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center;background:var(--surface-2);border-radius:10px;padding:12px 6px}.bcprevsum b{display:block;font-size:20px}.bcprevsum span{font-size:12px;color:var(--ink-3)}
.bcmode{display:flex;flex-direction:column;gap:8px;font-size:14px;margin:10px 0}.bcmode label{display:flex;flex-direction:row;gap:8px;align-items:center;font-weight:400;min-height:44px}.bcmode input{width:auto;min-height:0}
.bcfin{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:0}.bcfilebtn:focus-within{outline:2px solid var(--ink);outline-offset:2px}

/* ブランド（2026-10-19 新ロゴ）：ロゴ画像は白地のまま使い、背景には multiply で溶け込ませる */
.brandlogo{display:block;width:auto;max-width:100%;mix-blend-mode:multiply}
.brandmark{display:block;object-fit:contain;border-radius:22%}
.wordmark{gap:0}
.side .wordmark .brandlogo{height:44px}
.top .wordmark .brandlogo{height:36px}
.loginlogo{display:flex;justify-content:center}.loginlogo .brandlogo{height:84px}
#title .tmark{background:#fff;border-radius:22px;padding:14px 26px;box-shadow:0 10px 28px rgba(24,51,107,.28)}
#title .tmark .brandlogo{height:clamp(96px,18vh,132px)}

/* ===== Apple風（HIGに沿った見た目と操作感）。端末の標準フォントを使い、SFフォント・Appleのロゴや商標は同梱しない ===== */
:root{
 --f-jp:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Noto Sans JP",Meiryo,sans-serif;
 --f-en:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,"Noto Sans JP",sans-serif;
 --bg:#F5F5F7;--surface:#FFFFFF;--surface-2:#F2F2F7;--line:#E5E5EA;--ink:#1C1C1E;--ink-2:#48484A;--ink-3:#636366;
 --navy:#0B2C6B;--navy-2:#0B2C6B;--accent:#0B2C6B;--accent-soft:#E8EEF9;--blue:#0A5FCC;--red:#C9302C;
 --sh-1:0 0 0 .5px rgba(60,60,67,.22);--sh-2:0 1px 4px rgba(0,0,0,.10);--sh-3:0 8px 24px rgba(0,0,0,.16);
}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--f-jp);font-size:17px;line-height:1.55;letter-spacing:0;font-feature-settings:normal;background:var(--bg)}
.sm{font-size:13px}.xs{font-size:12px}
.hello h1,.pageh h1{font-size:28px;line-height:1.25;letter-spacing:0;font-weight:700}
.sech h2,.fch h2{font-size:22px;line-height:1.3;letter-spacing:0}
h3,.li h3,.ben h3{font-size:17px;font-weight:600;letter-spacing:0}
.pageh p,.fch p{font-size:15px;color:var(--ink-2)}
.fcq,.post .txt,.pc .qt,.bcd .memo,.note,.sbd p,.fce span{font-size:16px;line-height:1.6}
.nm,.pc .nm{letter-spacing:0}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
a{color:var(--blue)}
/* 面：白と薄いグレー。影は細い輪郭線だけ */
.card,.list,.feed,.mehead,.fcs,.pc,.ben,.strip,.koa-hero{border-radius:14px;box-shadow:var(--sh-1)}
.pc:hover{transform:none;box-shadow:var(--sh-1)}
.list>*+*{border-top:.5px solid var(--line)}
.top{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:.5px solid var(--line);height:56px}
@media(min-width:960px){.top{background:var(--bg);border-bottom-color:transparent;height:64px}}
.side{background:#fff;border-right:.5px solid var(--line)}
.tabbar{display:flex;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border-top:.5px solid var(--line);padding:4px 0 calc(4px + env(safe-area-inset-bottom,0px))}
.tabbar button{flex:1 1 0;min-width:0;min-height:49px;justify-content:center;font-weight:500;letter-spacing:0;font-size:12px;color:var(--ink-3)}
.tabbar button[aria-current="page"]{color:var(--blue)}
.tabmore{display:none!important}.moreb{display:none!important}
@media(max-width:360px){.tabx{display:none!important}.tabmore{display:flex!important}.auxb{display:none!important}.moreb{display:grid!important}}
.mainwrap{padding-bottom:calc(83px + env(safe-area-inset-bottom,0px))}
@media(min-width:960px){.mainwrap{padding-bottom:48px}}
/* ボタン・入力 */
.btn{border-radius:12px;font-size:16px;font-weight:600;min-height:44px}
.btn:hover{filter:none}
.btn.navy{background:var(--navy);color:#fff}
.btn.line,.bcfilebtn{color:var(--blue);box-shadow:inset 0 0 0 1px #C7C7CC!important}
.btn.line:hover,.bcfilebtn:hover{box-shadow:inset 0 0 0 1.5px var(--blue)!important}
.btn.soft{background:var(--accent-soft);color:var(--navy)}
input,select,textarea,.search input{font-size:17px!important}
input,select,textarea{min-height:44px;border-radius:10px;background:var(--surface-2)}
.search{height:44px}
.iconbtn{width:44px;height:44px}
@media(max-width:560px){.iconbtn{width:44px;height:44px}.top{gap:2px;padding:0 6px 0 12px}}
.chips button,.seg button,.tabs button,.kindsel button,.act,.bcchips .chip,.bctg .chip{min-height:44px}
.chips button{height:auto}
.act{height:44px}
.more{color:var(--blue)}.tag.blue{color:var(--navy)}.tag.red{color:var(--red)}
/* 一覧：まとまった行・細い区切り・矢印 */
button.li,.room{align-items:center}
button.li::after,.room::after{content:"";flex:none;width:8px;height:8px;border-top:2px solid #C7C7CC;border-right:2px solid #C7C7CC;transform:rotate(45deg);margin-left:4px}
.li{padding:12px 16px;min-height:52px}
.li .b{justify-content:center}
/* シート：下から開く／不透明な暗幕（ぼかしなし）／明確な閉じる */
.scrim,.scrim.mm-s{background:rgba(0,0,0,.4)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.sheet{border-radius:14px 14px 0 0;max-height:calc(100dvh - 12px);box-shadow:none;position:relative}
.sheet::before{content:"";display:block;width:36px;height:5px;border-radius:3px;background:#C7C7CC;margin:8px auto 0}
@media(min-width:700px){.sheet{border-radius:14px;max-height:calc(100dvh - 48px)}.sheet::before{display:none}}
.shd{padding:2px 6px 2px 20px;min-height:52px;border-bottom:.5px solid var(--line)}
.shd h2{font-size:17px;font-weight:700;letter-spacing:0}
.shd .close{width:auto;min-width:44px;height:44px;padding:0 12px;border-radius:10px;background:none;color:var(--blue);font-size:17px;font-weight:600}
.sbd{padding:16px 20px calc(24px + env(safe-area-inset-bottom,0px))}
.toast{border-radius:14px;font-weight:600}
@media(max-width:420px){.bcbar{flex-wrap:wrap}.bcbar .search,.bcbar select{flex:1 1 100%}}
@supports (font:-apple-system-body){body{font:-apple-system-body;font-family:var(--f-jp);line-height:1.55}}
.li:focus-visible,.room:focus-visible,.bci:focus-visible{outline-offset:-3px}
/* 動きを減らす設定を尊重 */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.slides{scroll-behavior:auto}}

/* ===== Apple風 第3版：全画面の統一 ===== */
/* 長い文言のボタンが枠からはみ出さない */
.btn{max-width:100%;white-space:normal;line-height:1.3}
.bcact .btn{flex:1 1 150px;min-width:0;min-height:44px}
@media(max-width:420px){.bcact .btn{flex:1 1 100%}}
/* マイページのランクカード：茶色のグラデーションをやめ、白地＋紺 */
.rank,.rank[class]{background:#fff!important;color:#1C1C1E;box-shadow:0 0 0 1px rgba(60,60,67,.14)!important}
.rank .lv{color:#0B2C6B}
.rank .xs,.rank .xs *{color:#6C6C70;opacity:1!important}
.rank .xp b,.rank b.rn{color:#1C1C1E}
.rank .gbar{background:#E5E5EA}
.rank .gbar i{background:#0B2C6B}
.rank .week span{color:#6C6C70;opacity:1}
.rank .week span::before{border-color:#C7C7CC}
.rank .week span.on{color:#1C1C1E}
.rank .week span.on::before{background:#0B2C6B;border-color:#0B2C6B;box-shadow:none}
/* ログインボーナス：グラデーションの見出しを紺1色に */
.lbonus .lbh{background:#0B2C6B!important;background-image:none!important}
/* 読み込み中の画面：白紙ではなくロゴと文言 */
body.booting::after{content:"読み込み中です";position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding-top:150px;box-sizing:border-box;font-size:17px;color:#6C6C70;background:#fff url(brand/logo-506.png) no-repeat center calc(50% - 20px)/200px auto}
@media(prefers-reduced-motion:no-preference){body.booting::after{animation:kvcfade 1.4s ease-in-out infinite alternate}@keyframes kvcfade{from{opacity:.75}to{opacity:1}}}
.lbonus .lbh>.cov{display:none}
.lbonus .lbh h2,.lbonus .lbh p,.lbonus .lbh .k2{text-shadow:none}

/* ===== 使い方の動画（マイページ最下部のカードとシート） ===== */
.helprow{display:flex;align-items:center;gap:14px;width:100%;margin-top:4px;padding:12px;border:0;border-radius:12px;background:#F2F2F7;color:#1C1C1E;text-align:left;font:inherit;min-height:44px;cursor:pointer}
.helprow:focus-visible{outline:3px solid #0A5FCC;outline-offset:2px}
.helprow .hthumb{position:relative;flex:none;width:56px;height:100px;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px rgba(60,60,67,.18)}
.helprow .hthumb img{display:block;width:100%;height:100%;object-fit:cover}
.helprow .hthumb i{position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:rgba(11,44,107,.92);display:grid;place-items:center}
.helprow .hthumb i::before{content:"";margin-left:3px;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent #fff}
.helprow .htx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.helprow .htx b{font-size:17px;font-weight:600}
.helprow .htx span{font-size:13px;color:#6C6C70}
.helprow>svg{flex:none;color:#C7C7CC}
.helpv{display:block;margin:0 auto 10px;max-width:100%;height:min(60vh,calc((100vw - 64px)*1.7778));width:auto;aspect-ratio:9/16;background:#000;border-radius:12px}
.helpt{margin-top:14px;padding-top:12px;border-top:1px solid rgba(60,60,67,.18)}
.helpt b{font-size:15px}
.helpt ol{margin:8px 0 0;padding-left:1.4em;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.55;color:#3A3A3C}
.helpt ol li b{display:block;font-size:14px;color:#1C1C1E}

/* Follow the company directly from each timeline post. */
.posthead{display:flex;align-items:flex-start;gap:10px}.posthead .hd{flex:1;min-width:0}.posthead .post-follow{flex:none;min-height:44px;min-width:100px;white-space:nowrap;font-size:13px;padding:8px 12px}.post-follow[aria-busy=true]{opacity:.65}
@media(max-width:420px){.posthead{flex-wrap:wrap}.posthead .hd{flex-basis:calc(100% - 112px)}.posthead .post-follow{min-width:94px}}
