:root{--bg:#fffaf5;--fg:#2b2220;--red:#b4232a;--card:#fff;--line:#eadfd6;--ok:#1f8a4c;--bad:#c0392b;--mut:#7a6a63}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font:16px/1.5 system-ui,-apple-system,sans-serif}a{color:var(--red);text-decoration:none}h1{margin:.3em 0}h2{margin-top:1.6em}.bar{border-bottom:1px solid var(--line);z-index:5;background:#fff;justify-content:space-between;align-items:center;padding:10px 16px;display:flex;position:sticky;top:0}.brand{color:var(--red);font-weight:700}.stats{align-items:center;gap:14px;font-weight:600;display:flex}.goal{background:#f1e7df;border-radius:10px;width:90px;height:20px;display:inline-block;position:relative;overflow:hidden}.goal i{background:#f4a261;position:absolute;inset:0 auto 0 0}.goal em{text-align:center;font-size:12px;font-style:normal;line-height:20px;display:block;position:relative}.wrap{max-width:760px;margin:0 auto;padding:16px}.center{text-align:center}.big{font-size:1.2em}.btn{background:var(--red);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:12px;margin:4px 0;padding:10px 18px;font-weight:600;display:inline-block}.btn:disabled{opacity:.4}.btn.ghost{color:var(--red);border:1px solid var(--red);background:#fff}.btn.sm{padding:5px 12px;font-size:14px}.btn.off{opacity:.5;cursor:not-allowed}.link{color:var(--mut);cursor:pointer;font:inherit;background:0 0;border:0;margin-left:10px;text-decoration:underline}.levels{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.lvcard{background:var(--card);border:1px solid var(--line);color:var(--fg);border-radius:16px;padding:14px;display:block}.lvcard.off{opacity:.5}.lvcard .lv{color:var(--red);font-size:1.3em;font-weight:800}.nm{color:var(--mut);font-size:14px}.meter{background:#f1e7df;border-radius:4px;height:8px;margin:8px 0 4px;display:flex;position:relative;overflow:hidden}.meter i{height:100%;display:block}.meter .m{background:var(--ok)}.meter .s{background:#f4a261}small{color:var(--mut)}.ach{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.a{border:1px dashed var(--line);opacity:.55;background:#fff;border-radius:12px;flex-direction:column;padding:8px;display:flex}.a.on{opacity:1;border-style:solid;border-color:#f4a261}.a span{font-size:22px}.map{margin-top:16px}.node{align-items:flex-start;gap:14px;margin:14px 0;display:flex}.node.r{margin-left:28px}.circle{background:var(--red);color:#fff;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;font-size:20px;font-weight:800;display:grid}.info{border:1px solid var(--line);background:#fff;border-radius:14px;flex:1;padding:10px 12px}.actions{gap:6px;justify-content:inherit;flex-wrap:wrap;margin-top:6px;display:flex}.topline{color:var(--mut);justify-content:space-between;font-size:14px;display:flex}.progress{background:#f1e7df;border-radius:3px;height:6px;margin:8px 0 14px;overflow:hidden}.progress i{background:var(--ok);height:100%;transition:width .3s;display:block}.card{border:1px solid var(--line);background:#fff;border-radius:20px;padding:20px;box-shadow:0 4px 14px #5028140f}.tag{text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin-bottom:6px;font-size:12px}.prompt{text-align:center;margin:12px 0 18px;font-size:2.2em;font-weight:800}.prompt.small{font-size:1.4em}.opts{gap:8px;display:grid}.opt{border:2px solid var(--line);font:inherit;cursor:pointer;text-align:left;background:#fff;border-radius:12px;padding:12px;font-size:1.05em}.opt:hover:not(:disabled){border-color:var(--red)}.opt.right{border-color:var(--ok);background:#e9f7ef}.opt.wrong{border-color:var(--bad);background:#fdecea}.type{width:100%;font:inherit;border:2px solid var(--line);border-radius:12px;margin-bottom:8px;padding:10px 12px;font-size:1.3em}.feedback{border-radius:12px;margin-top:14px;padding:12px}.feedback.ok{background:#e9f7ef}.feedback.bad{background:#fdecea}.icon{cursor:pointer;background:0 0;border:0;margin-left:6px;font-size:.6em}.detail .hw{font-size:1.6em;font-weight:800}.meaning{margin:4px 0}.pos{color:var(--mut);background:#f1e7df;border-radius:6px;padding:0 6px;font-size:12px;display:inline-block}.forms{border-collapse:collapse;margin:8px 0;font-size:15px}.forms td{padding:2px 10px 2px 0}.forms .f{font-weight:700}.forms .b{color:var(--mut);font-family:ui-monospace,monospace;font-size:13px}.ex{background:#fff7ee;border-left:3px solid #f4a261;border-radius:6px;margin:8px 0;padding:8px 10px}.note{color:#5a4a43;font-size:14px}.garden{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.plant{border:1px solid var(--line);text-align:center;background:#fff;border-radius:14px;padding:10px}.pi{font-size:34px}.leaves{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:6px;display:flex}.leaf{color:#555;background:#eee;border-radius:10px;padding:1px 7px;font-size:12px}.leaf.learning{background:#ffe3c2}.leaf.known{background:#cdeccf}.leaf.mastered{color:#0b3d1a;background:#7fcf8e}.toast{color:#fff;z-index:20;background:#2b2220;border-radius:12px;padding:10px 16px;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}
