.v265-kanji-shell{background:linear-gradient(135deg,#f0faf8,#eef3fc);border:1px solid #d6e7ec;padding:24px;border-radius:24px}.v265-kanji-top h2{font-size:28px}.jfr-studio-search{display:flex;gap:10px;margin:20px 0 8px}.jfr-studio-search input{flex:1;min-width:0;border:1px solid #c4dce3;background:white;border-radius:12px;padding:12px 16px;font-size:15px}.jfr-study-note{font-size:11px;color:#567180}.jfr-card-stage{border-radius:24px;box-shadow:0 18px 45px #133c5712}.jfr-visual-card{min-height:340px;background:linear-gradient(145deg,#fff,#f3fcfb);border:1px solid #d8e9ef;border-radius:22px;box-shadow:inset 0 1px 0 white;animation:jfrCardEnter .35s ease-out}.jfr-visual-card b{font-size:112px!important;color:#144d66}.jfr-kanji-picture{width:200px;height:188px;filter:drop-shadow(0 12px 15px #144d6615)}svg.jfr-kanji-picture g{animation:jfrPictureFloat 3.4s ease-in-out infinite}.jfr-glyph-picture{background:white;border-radius:18px;padding:18px}.jfr-kanji-toolbar{gap:9px;flex-wrap:wrap}.jfr-kanji-toolbar button{border-radius:999px;padding:10px 15px}.jfr-step-board{animation:jfrCardEnter .3s ease-out}.jfr-notice-reader iframe{width:100%;height:70vh;border:0}.jfr-official-text{white-space:pre-wrap;font-size:16px;line-height:2;overflow-wrap:anywhere;max-width:900px}.jfr-notice-reader{padding:28px}
@keyframes jfrCardEnter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@keyframes jfrPictureFloat{50%{transform:translateY(-5px)}}@media(prefers-reduced-motion:reduce){svg.jfr-kanji-picture g,.jfr-visual-card,.jfr-step-board{animation:none}}@media(max-width:650px){.v265-kanji-shell{padding:12px}.jfr-visual-card{min-height:280px}.jfr-visual-card b{font-size:80px!important}.jfr-kanji-picture{width:145px;height:145px}.jfr-studio-search{flex-wrap:wrap}.jfr-notice-reader{padding:15px}}

/* V2.8.20 — Enhanced Kanji Studio visuals */
.jfr-card-stage{position:relative;overflow:hidden}.jfr-card-stage::before{content:"";position:absolute;inset:auto -20% -45% auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,#4cc6d81c,transparent 65%);pointer-events:none}.jfr-visual-card{position:relative;overflow:hidden;display:grid!important;grid-template-columns:220px minmax(0,1fr)!important;align-items:center;gap:26px;padding:28px 30px!important;min-height:380px!important;background:linear-gradient(145deg,#fbfffe,#fff9ea)!important;border:1px solid #cfe8ee!important;box-shadow:0 20px 50px rgba(20,72,92,.10),inset 0 1px 0 rgba(255,255,255,.85)!important;transition:transform .28s ease,box-shadow .28s ease,background .28s ease}.jfr-visual-card:hover{transform:translateY(-2px) scale(1.005);box-shadow:0 28px 54px rgba(20,72,92,.14),inset 0 1px 0 rgba(255,255,255,.95)!important}.jfr-visual-card::after{content:"";position:absolute;inset:-120% 55% 30% -20%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.62),transparent);transform:rotate(12deg);animation:jfrSheen 5.2s ease-in-out infinite;pointer-events:none}.jfr-visual-card.is-flipped{background:linear-gradient(145deg,#eefaf0,#edf7ff)!important}.jfr-card-art{display:flex;flex-direction:column;align-items:center;gap:10px}.jfr-card-copy{text-align:left}.jfr-card-copy small{display:block;font-size:11px;letter-spacing:.12em;color:#1e8094;font-weight:900;margin-bottom:6px}.jfr-card-copy b{display:block;font-size:112px;line-height:1.05;color:#154d66}.jfr-card-copy h3{margin:8px 0 4px;font-size:28px;color:#184b61}.jfr-card-copy p{margin:0;color:#55707d;font-size:17px;line-height:1.7}.jfr-card-hint{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#ffffffc7;border:1px solid #d7ecef;font-size:12px;color:#5d7c88;box-shadow:0 8px 22px rgba(18,120,145,.08)}.jfr-card-chiprow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.jfr-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:linear-gradient(135deg,#e8f7fa,#f3fbf6);border:1px solid #d0e9ee;color:#15738a;font-size:11px;font-weight:800;letter-spacing:.06em}.jfr-example-box{margin-top:14px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.75);border:1px solid #dcebef;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.jfr-example-box strong{display:block;font-size:24px;color:#164d62}.jfr-example-box span{display:block;margin-top:4px;font-size:14px;color:#63808c}.jfr-kanji-picture{width:190px!important;height:190px!important;max-width:100%;filter:drop-shadow(0 16px 20px rgba(20,77,102,.12))}.jfr-kanji-badge{animation:jfrBadgeFloat 3.6s ease-in-out infinite}.jfr-glyph-picture{background:linear-gradient(145deg,#fff,#f2fbfd);border:1px solid #d6e9ee;border-radius:22px;padding:16px}.jfr-step-hero{display:flex;justify-content:center;margin:6px 0 12px}.jfr-step-board{padding:24px!important;border-radius:22px!important;background:linear-gradient(145deg,#ffffff,#f6fbfe)!important}.jfr-step-board h2{margin-top:6px}.jfr-stroke-stage{position:relative;overflow:hidden;border:1px solid #d8eaee!important;background:linear-gradient(90deg,transparent 49.5%,#dcecef 50%,transparent 50.5%),linear-gradient(transparent 49.5%,#dcecef 50%,transparent 50.5%),radial-gradient(circle at top right,#e8f7fb,transparent 35%),#f8fcfd!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.95)}.jfr-stroke-stage::before{content:"";position:absolute;inset:14px;border-radius:20px;border:1px dashed rgba(23,95,119,.1);pointer-events:none}.jfr-stroke-stage svg{max-width:360px!important}.jfr-stroke-stage text{font-size:8px;fill:#8ea1ab}.jfr-stroke-stage path{transition:opacity .24s ease,stroke .24s ease}.jfr-study-note{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#f5fbfd;border:1px solid #d7ebf0;color:#58717d;font-size:11px}.jfr-course-kanji-page .jfr-stroke-stage svg{max-width:360px}.jfr-course-kanji-main,.jfr-course-stroke{animation:jfrCardEnter .38s ease-out}.jfr-course-glyph{filter:drop-shadow(0 16px 28px rgba(22,77,101,.08))}.jfr-kanji-toolbar button{transition:transform .2s ease,box-shadow .2s ease}.jfr-kanji-toolbar button:hover{transform:translateY(-1px)}@keyframes jfrSheen{0%,100%{transform:translateX(0) rotate(12deg);opacity:0}10%{opacity:0}35%{opacity:1}55%{transform:translateX(90px) rotate(12deg);opacity:0}}@keyframes jfrBadgeFloat{50%{transform:translateY(-6px) scale(1.01)}}@media(max-width:760px){.jfr-visual-card{grid-template-columns:1fr!important;justify-items:center;gap:12px;padding:20px!important;min-height:0!important}.jfr-card-copy{text-align:center}.jfr-card-copy b{font-size:88px}.jfr-card-chiprow{justify-content:center}.jfr-example-box strong{font-size:21px}}
