.oshi-section{margin-bottom:var(--space-5);animation:fade-up .55s .08s ease both}.oshi-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.oshi-head h2{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:16px;font-weight:700;line-height:1.3}.oshi-head h2:before{content:"";width:12px;height:12px;flex:none;background:var(--accent);transform:skew(-24deg)}.oshi-head .oshi-edit{display:inline-flex;align-items:center;gap:2px;white-space:nowrap;font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--accent);text-decoration:none}.oshi-head .oshi-edit:hover{text-decoration:underline}.oshi-empty{background:var(--surface);border:1px solid var(--line);border-top:4px solid transparent;border-image:linear-gradient(90deg,#e4007f,#00b0ec) 1;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--space-5) var(--space-4);text-align:center}.oshi-empty p{margin:0 0 var(--space-4);color:var(--text-weak);font-size:13px;line-height:1.8}.oshi-empty .oshi-cta{display:inline-flex;align-items:center;gap:6px;padding:11px 22px;border-radius:var(--radius);background:linear-gradient(90deg,#e4007f,#00b0ec);color:#fff;font-weight:700;font-size:14px;text-decoration:none;transition:transform .15s ease}.oshi-empty .oshi-cta:hover{transform:translateY(-2px)}.oshi-empty .oshi-cta svg{fill:#fff}.oshi-cards{display:grid;gap:var(--space-3)}.oshi-cards[data-count="2"]{grid-template-columns:repeat(2,1fr)}.oshi-cards[data-count="3"]{grid-template-columns:repeat(3,1fr)}@media(max-width:600px){.oshi-cards[data-count="2"],.oshi-cards[data-count="3"]{grid-template-columns:1fr}}.oshi-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--oshi-accent, #e4007f);border-radius:var(--radius);padding:var(--space-4);transition:transform .15s ease;animation:fade-up .5s ease both;animation-delay:calc(.15s + var(--i, 0) * .08s)}.oshi-card:hover{transform:translateY(-2px)}.oshi-card .o-label{display:flex;align-items:center;gap:5px;margin:0 0 var(--space-1);font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-weak)}.oshi-card .o-label svg{fill:var(--oshi-accent, #e4007f)}.oshi-card .o-name{margin:0 0 var(--space-1);font-size:19px;font-weight:700;line-height:1.35}.oshi-card .o-cv-chars{margin:0 0 var(--space-1);font-size:12px;color:var(--text-weak)}.oshi-card .o-date{margin:0 0 var(--space-2);font-size:12px;color:var(--text-weak);font-family:var(--font-display);font-variant-numeric:tabular-nums}.oshi-card .o-count{display:flex;align-items:baseline;gap:5px;margin:0;font-family:var(--font-display)}.oshi-card .o-count .pre{font-size:12px;color:var(--text-weak)}.oshi-card .o-count .num{font-size:42px;font-weight:600;line-height:1;color:var(--text);font-variant-numeric:tabular-nums}.oshi-card .o-count .unit{font-size:14px;font-weight:600;color:var(--text-weak)}.oshi-card .o-today{margin:0;font-family:var(--font-display);font-weight:700;font-size:30px;line-height:1.1;background:linear-gradient(90deg,#e4007f,#00b0ec);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.oshi-card .o-congrats{margin:2px 0 0;font-size:13px;font-weight:700}.oshi-card .o-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.oshi-cards[data-count="1"] .o-actions{justify-content:center}.oshi-card .seitan-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font-size:12px;font-weight:700;text-decoration:none;transition:background .15s ease,border-color .15s ease}.oshi-card .seitan-btn svg{color:var(--oshi-accent, #e4007f)}.oshi-card .seitan-btn:hover{border-color:var(--oshi-accent, #e4007f);background:color-mix(in srgb,var(--oshi-accent, #e4007f) 10%,var(--surface))}.oshi-cards[data-count="1"] .oshi-card{border-top-width:6px;padding:var(--space-6) var(--space-4);text-align:center}.oshi-cards[data-count="1"] .o-label{justify-content:center;letter-spacing:.22em}.oshi-cards[data-count="1"] .o-name{font-size:24px}.oshi-cards[data-count="1"] .o-count{justify-content:center}.oshi-cards[data-count="1"] .o-count .num{font-size:66px}.oshi-cards[data-count="1"] .o-today{font-size:52px}
