.rg{--bg:#0a4f65;--bg2:#073a4b;--ink:#ffffff;--soft:#cfeaf2;--yellow:#ffd60a;--navy:#0e1630;--good:#5bd68a;--bad:#ff6b5a;box-sizing:border-box;position:relative;overflow:hidden;max-width:900px;margin:24px auto;padding:clamp(20px,4vw,40px);border-radius:28px;background:linear-gradient(135deg,var(--bg),var(--bg2));color:var(--ink);font-family:'Lexend',system-ui,'Segoe UI',Arial,sans-serif;line-height:1.5;text-align:left}.rg *,.rg *::before,.rg *::after{box-sizing:border-box}.rg::before{content:"";position:absolute;width:300px;height:300px;right:-110px;top:-140px;border-radius:50%;background:rgb(255 214 10 / .14);pointer-events:none}.rg>*{position:relative;z-index:1}.rg button{font:inherit;cursor:pointer}.rg button:focus-visible,.rg select:focus-visible,.rg .rg-w:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.rg .rg-loading{margin:0;padding:24px 0;text-align:center;color:var(--soft)}.rg .rg-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;margin:0 0 6px}.rg h2.rg-title{margin:0 0 6px;padding:0;font-size:clamp(1.5rem,3.6vw,2.2rem);line-height:1.15;font-weight:800;letter-spacing:-.01em;text-transform:none;color:#fff}.rg .rg-head h2.rg-title{margin:0}.rg .rg-so{margin:0 0 14px;font-weight:600;color:var(--yellow);font-size:1.05rem}.rg .rg-so--hidden{display:none}.rg .rg-hint{margin:0 0 16px;font-size:.92rem;color:var(--soft)}.rg .rg-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}.rg .rg-stat{padding:12px 10px;border-radius:16px;background:rgb(255 255 255 / .1);text-align:center}.rg .rg-stat b{display:block;font-size:1.5rem;line-height:1.1;font-weight:800;color:var(--yellow)}.rg .rg-stat span{display:block;margin-top:2px;font-size:.78rem;color:var(--soft)}.rg .rg-stat em{display:block;font-style:normal;font-size:.7rem;color:var(--soft);opacity:.8}.rg .rg-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 18px}.rg button.rg-tab{display:flex;flex-direction:column;align-items:center;gap:0;padding:10px 6px;border:2px solid rgb(255 255 255 / .3);border-radius:14px;background:rgb(255 255 255 / .08);color:#fff;transition:background-color .15s}.rg button.rg-tab:hover{background:rgb(255 255 255 / .16)}.rg button.rg-tab b{font-size:1rem;font-weight:800}.rg button.rg-tab span{font-size:.78rem;font-weight:600;color:var(--soft)}.rg button.rg-tab.is-locked{opacity:.75}.rg button.rg-tab.is-on{background:var(--yellow);border-color:var(--yellow);color:var(--navy);opacity:1}.rg button.rg-tab.is-on span{color:var(--navy)}.rg .rg-level{margin:0 0 26px}.rg .rg-lvhead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;margin:0 0 12px}.rg h3.rg-lvtitle{margin:0;padding:0;font-size:1.2rem;font-weight:800;color:#fff;text-transform:none}.rg .rg-lvtitle small{font-size:.85rem;font-weight:600;color:var(--yellow)}.rg .rg-lvcount{font-size:.9rem;font-weight:600;color:var(--soft)}.rg .rg-lock{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:18px;background:rgb(255 255 255 / .08);border:2px dashed rgb(255 255 255 / .3);color:var(--soft)}.rg .rg-lock b{color:var(--yellow)}.rg .rg-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rg button.rg-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 18px;border:0;border-radius:18px;background:#fff;color:var(--navy);text-align:left;box-shadow:0 14px 26px -18px rgb(0 0 0 / .7);transition:transform .15s}.rg button.rg-card:hover{transform:translateY(-3px)}.rg button.rg-card.is-done{background:#e6f9ee}.rg .rg-card-topic{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#0a6a87}.rg .rg-card-title{font-size:1.1rem;font-weight:800;line-height:1.25}.rg .rg-card-meta{font-size:.82rem;opacity:.7}.rg .rg-card-go{margin-top:4px;font-size:.88rem;font-weight:700;color:#0a6a87}.rg .rg-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.rg button.rg-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 22px;border:2px solid var(--yellow);border-radius:999px;background:var(--yellow);color:var(--navy);font-weight:800;font-size:1rem;transition:transform .15s}.rg button.rg-btn:hover{transform:translateY(-2px);background:#ffe44d}.rg button.rg-btn--ghost{background:#fff0;color:#fff;border-color:rgb(255 255 255 / .55)}.rg button.rg-btn--ghost:hover{background:rgb(255 255 255 / .08);border-color:#fff}.rg button.rg-btn--small{min-height:38px;padding:6px 16px;font-size:.92rem}.rg button.rg-btn[disabled]{opacity:.5;cursor:default;transform:none}.rg .rg-count{font-weight:600;color:var(--soft);font-variant-numeric:tabular-nums}.rg button.rg-link{padding:4px 0;border:0;background:none;color:var(--yellow);font-weight:700;font-size:.9rem;text-decoration:underline;text-underline-offset:3px}.rg button.rg-link:hover{color:#ffe44d}.rg .rg-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0 12px}.rg .rg-tools select{min-height:38px;padding:4px 12px;border:2px solid rgb(255 255 255 / .35);border-radius:12px;background:#073a4b;color:#fff;font:inherit;font-size:.92rem}.rg .rg-text{display:flex;flex-direction:column;gap:14px;margin:0 0 22px}.rg .rg-para{padding:clamp(16px,3vw,24px);border-radius:20px;background:#fff;color:var(--navy);box-shadow:0 18px 30px -22px rgb(0 0 0 / .7);transition:box-shadow .2s}.rg .rg-para.is-speaking{box-shadow:0 0 0 4px var(--yellow)}.rg .rg-line{margin:0;font-size:clamp(1.08rem,2.4vw,1.28rem);line-height:1.85}.rg .rg-w{cursor:pointer;border-radius:5px;border-bottom:2px dotted rgb(10 106 135 / .45);padding:0 1px;transition:background-color .12s}.rg .rg-w:hover{background:#fff3b0}.rg .rg-w.is-sel{background:var(--yellow);border-bottom-color:#fff0}.rg .rg-prow{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0 0}.rg .rg-para button.rg-link{color:#0a6a87}.rg .rg-para button.rg-link:hover{color:#073a4b}.rg .rg-trans{margin:10px 0 0;padding:12px 14px;border-radius:12px;background:#e8f6fa;color:var(--navy);font-size:1.05rem;line-height:1.7}.rg .rg-wordpanel{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:10px 0 0;padding:10px 14px;border-radius:12px;background:#fff3b0;color:var(--navy);font-size:1.05rem}.rg .rg-wordpanel b{font-weight:800}.rg .rg-wm{font-weight:700;color:#0a4f65}.rg .rg-wbtns{display:flex;gap:14px;margin-left:auto}.rg .rg-keys{margin:0 0 22px}.rg .rg-h3{margin:0 0 8px;font-size:1.05rem;font-weight:700;color:#fff}.rg .rg-chips{display:flex;flex-wrap:wrap;gap:8px}.rg button.rg-chip{padding:8px 14px;border:2px solid rgb(255 255 255 / .35);border-radius:999px;background:rgb(255 255 255 / .1);color:#fff;font-weight:600;font-size:.95rem}.rg button.rg-chip:hover{background:rgb(255 255 255 / .2)}.rg button.rg-chip.is-on{background:var(--yellow);border-color:var(--yellow);color:var(--navy)}.rg .rg-nextrow{display:flex;justify-content:center;margin:14px 0 0}.rg .rg-prog{height:8px;border-radius:99px;background:rgb(255 255 255 / .15);overflow:hidden;margin:0 0 16px}.rg .rg-prog i{display:block;height:100%;background:var(--yellow);border-radius:99px;transition:width .25s}.rg .rg-quiztitle{margin:0 0 10px;font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}.rg .rg-q{padding:clamp(18px,3vw,28px);border-radius:22px;background:#fff;color:var(--navy);text-align:center;box-shadow:0 20px 34px -22px rgb(0 0 0 / .7);margin:0 0 16px}.rg .rg-big{display:block;font-size:clamp(1.25rem,3.4vw,1.7rem);font-weight:800;line-height:1.3}.rg .rg-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rg button.rg-choice{min-height:60px;padding:12px 16px;border:2px solid #fff0;border-radius:16px;background:rgb(255 255 255 / .14);color:#fff;font-weight:700;font-size:1.02rem;text-align:center;overflow-wrap:anywhere;transition:background-color .15s,transform .15s}.rg button.rg-choice:hover:not([disabled]){background:rgb(255 255 255 / .26);transform:translateY(-2px)}.rg button.rg-choice.is-good{background:var(--good);color:var(--navy);border-color:#fff}.rg button.rg-choice.is-bad{background:var(--bad);color:var(--navy);border-color:#fff}.rg button.rg-choice[disabled]{cursor:default}.rg .rg-fb{min-height:1.6em;margin:14px 0 0;font-weight:700;font-size:1.05rem;text-align:center}.rg .rg-fb.is-good{color:var(--good)}.rg .rg-fb.is-bad{color:#ffb4aa}.rg .rg-score{margin:0 0 6px;text-align:center;font-size:clamp(2.4rem,8vw,4rem);font-weight:800;color:var(--yellow);line-height:1.1}.rg .rg-msg{margin:0 0 14px;text-align:center;font-size:1.1rem;color:var(--soft)}.rg .rg-unlock{margin:0 0 18px;padding:12px 16px;border-radius:14px;background:rgb(91 214 138 / .18);border:2px solid var(--good);text-align:center;font-weight:700;color:#fff}.rg .rg-missed{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:8px}.rg .rg-missed li{padding:10px 14px;border-radius:12px;background:rgb(255 255 255 / .1)}.rg .rg-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}@media (max-width:620px){.rg{border-radius:20px}.rg .rg-cards{grid-template-columns:1fr}.rg .rg-choices{grid-template-columns:1fr}.rg .rg-stat b{font-size:1.25rem}.rg .rg-stat span{font-size:.72rem}.rg .rg-stat em{display:none}.rg .rg-wbtns{margin-left:0;width:100%}}@media (prefers-reduced-motion:reduce){.rg button.rg-card,.rg button.rg-btn,.rg button.rg-choice,.rg .rg-prog i,.rg .rg-para{transition:none}}.rg .rg-count{margin:0 0 8px;font-size:.9rem;font-weight:600;color:var(--soft)}.rg .rg-note{margin:6px 0 10px;font-size:.95rem;color:var(--soft)}.rg div.rg-card,.rg .rg-panel{padding:clamp(16px,3vw,26px);border-radius:22px;background:rgb(255 255 255 / .1);margin:0 0 16px}.rg div.rg-card{background:#fff;color:var(--navy);box-shadow:0 20px 34px -22px rgb(0 0 0 / .7)}.rg div.rg-card .rg-count,.rg div.rg-card .rg-note{color:#3b5b6a}.rg .rg-topic{margin:0 0 10px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#0a6a87}.rg .rg-big{margin:0 0 10px;font-size:clamp(1.25rem,3.4vw,1.7rem);font-weight:800;line-height:1.35}.rg .rg-big--small{font-size:clamp(1.1rem,2.8vw,1.4rem)}.rg .rg-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px}.rg .rg-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:10px 0 0}.rg .rg-row--center{justify-content:center}.rg div.rg-card .rg-link,.rg .rg-panel .rg-link{color:#0a6a87}.rg .rg-input{display:block;width:100%;min-height:52px;margin:6px 0 4px;padding:12px 16px;border:2px solid #b9d3dc;border-radius:14px;background:#fff;color:var(--navy);font:inherit;font-size:1.1rem}.rg .rg-input:focus{outline:3px solid var(--yellow);outline-offset:1px;border-color:#0a6a87}.rg .rg-result{margin:14px 0 0}.rg .rg-verdict{margin:0 0 8px;font-size:1.15rem;font-weight:800}.rg .rg-verdict.is-good{color:#0b7a3b}.rg .rg-verdict.is-bad{color:#b3261e}.rg .rg-diff{margin:4px 0;font-size:1.05rem;line-height:1.9;color:var(--navy)}.rg .rg-ok{display:inline-block;padding:0 6px;border-radius:6px;background:#d6f5e1;color:#0b5a2b}.rg .rg-bad{display:inline-block;padding:0 6px;border-radius:6px;background:#ffd9d4;color:#8a1c14;text-decoration:line-through}.rg .rg-miss{display:inline-block;padding:0 6px;border-radius:6px;background:#ffe9a8;color:#6b4a00;font-weight:700}.rg .rg-trans{margin:10px 0 0;padding:12px 14px;border-radius:12px;background:#e8f6fa;color:var(--navy);font-size:1.05rem;line-height:1.7}.rg .rg-trans--prompt{margin:0 0 14px;background:#fff3b0}.rg .rg-tip{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:#fff3b0;color:var(--navy);font-size:.98rem;line-height:1.65}.rg button.rg-mic{min-height:64px;padding:14px 30px;font-size:1.1rem}.rg button.rg-mic.is-live{background:#ff6b5a;border-color:#ff6b5a;color:#fff;animation:rgpulse 1.2s infinite}@keyframes rgpulse{0%{box-shadow:0 0 0 0 rgb(255 107 90 / .6)}100%{box-shadow:0 0 0 18px #fff0}}.rg .rg-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.rg .rg-answer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:64px;margin:0 0 14px;padding:12px;border:2px dashed #9cc5d3;border-radius:16px;background:#f2fafc}.rg .rg-placeholder{color:#6b8793;font-size:.95rem}.rg .rg-bank{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}.rg button.rg-tile{min-height:46px;padding:8px 16px;border:2px solid #0a6a87;border-radius:12px;background:#fff;color:var(--navy);font-weight:700;font-size:1.05rem;transition:transform .12s}.rg button.rg-tile:hover:not([disabled]){transform:translateY(-2px);background:#fff3b0}.rg button.rg-tile.is-used{visibility:hidden}.rg button.rg-tile.is-placed{background:#0a6a87;color:#fff}.rg button.rg-tile[disabled]{cursor:default}.rg .rg-gap{display:inline-block;min-width:3.2em;margin:0 4px;border-bottom:4px solid #0a6a87;text-align:center;color:#fff0}.rg div.rg-card .rg-choices{margin:10px 0 0}.rg div.rg-card button.rg-choice{border-color:#0a6a87;background:#f2fafc;color:var(--navy)}.rg div.rg-card button.rg-choice:hover:not([disabled]){background:#fff3b0}.rg div.rg-card button.rg-choice.is-good,.rg .rg-panel button.rg-choice.is-good{background:var(--good);color:var(--navy);border-color:#fff}.rg div.rg-card button.rg-choice.is-bad,.rg .rg-panel button.rg-choice.is-bad{background:var(--bad);color:var(--navy);border-color:#fff}.rg .rg-panel button.rg-choice{border-color:rgb(255 255 255 / .35)}.rg .rg-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.rg .rg-modes{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px}.rg .rg-dialog{display:flex;flex-direction:column;gap:12px;margin:0 0 16px}.rg .rg-bubble{max-width:92%;padding:14px 18px;border-radius:20px;background:#fff;color:var(--navy);box-shadow:0 14px 26px -20px rgb(0 0 0 / .7);transition:box-shadow .2s}.rg .rg-bubble.is-a{align-self:flex-start;border-bottom-left-radius:6px}.rg .rg-bubble.is-b{align-self:flex-end;background:#e8f6fa;border-bottom-right-radius:6px}.rg .rg-bubble.is-me{box-shadow:0 0 0 3px var(--yellow)}.rg .rg-bubble.is-speaking{box-shadow:0 0 0 4px var(--yellow)}.rg .rg-who{display:block;margin:0 0 2px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#0a6a87}.rg .rg-line{margin:0;font-size:1.12rem;line-height:1.6}.rg .rg-bubble .rg-prow{margin:6px 0 0}.rg .rg-bubble .rg-trans{background:#fff3b0}.rg .rg-check{display:block;margin:0 0 14px;color:var(--soft);font-size:.95rem}.rg .rg-words{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:0 0 14px}.rg .rg-wordcard{padding:18px;border-radius:20px;background:#fff;color:var(--navy);box-shadow:0 18px 30px -22px rgb(0 0 0 / .7)}.rg .rg-wtype{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#0a6a87}.rg .rg-bigword{margin:2px 0 6px;font-size:1.7rem;font-weight:800;line-height:1.2}.rg .rg-example{margin:0 0 6px;font-style:italic;color:#34505d}.rg .rg-wordcard .rg-link{color:#0a6a87}.rg .rg-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0 0 14px}.rg .rg-day{padding:8px 0;border-radius:12px;background:rgb(255 255 255 / .1);text-align:center;font-size:.78rem;color:var(--soft)}.rg .rg-day b{display:block;min-height:1.4em;font-size:1.1rem;color:var(--navy)}.rg .rg-day.is-on{background:var(--good);color:var(--navy)}.rg .rg-day.is-today{outline:2px solid var(--yellow)}.rg .rg-qblock{margin:0 0 18px}.rg .rg-qtext{margin:0 0 8px;font-size:1.05rem}.rg .rg-tab.is-empty{opacity:.55}@media (max-width:620px){.rg .rg-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.rg .rg-bubble{max-width:100%}.rg button.rg-mic{width:100%}}.rg .rg-bubble .rg-link{color:#0a6a87}.rg .rg-bubble .rg-link:hover{color:#073a4b}.rg div.rg-card button.rg-btn--ghost{background:#fff0;color:#0a6a87;border-color:#0a6a87}.rg div.rg-card button.rg-btn--ghost:hover{background:#e8f6fa;border-color:#073a4b}.rg .rg-bar{margin-top:10px}.rg .rg-tools select{max-width:100%;min-width:0}@media (max-width:620px){.rg .rg-tools select{width:100%}}