.llv{width:100%;display:grid;gap:12px;justify-items:center;text-align:center}
.llv-layout{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:center;width:100%}
.llv-head{display:grid;grid-template-columns:32px repeat(2,44px);font-weight:900;color:var(--muted)}
.llv-head b:first-child{grid-column:2}
.llv-written{display:grid;grid-template-columns:32px repeat(2,44px);align-items:center;justify-items:center;font-size:clamp(30px,8vw,40px);font-weight:1000;color:var(--navy);font-variant-numeric:tabular-nums;padding:10px 16px;border-radius:18px;background:#f3f8ff}
.llv-written .llv-op{color:var(--blue)}
.llv-carry{font-size:20px;color:#e07a00;min-height:24px}
.llv-line{grid-column:1/-1;width:100%;height:4px;border-radius:4px;background:var(--navy);margin:4px 0}
#llvResT,#llvResU{color:#0d8a5f}
.llv-board{display:grid;gap:6px;padding:10px;border-radius:18px;background:#fff;border:2px solid var(--line);min-width:min(100%,300px)}
.llv-row{display:grid;grid-template-columns:56px 1fr 1.4fr;gap:8px;align-items:center}
.llv-titles b{font-size:13px;color:var(--muted)}
.llv-label{font-weight:1000;color:var(--navy);text-align:right;font-size:15px}
.llv-cell{min-height:52px;display:flex;flex-wrap:wrap;gap:3px;align-content:center;justify-content:center;padding:6px;border-radius:12px;background:#f7fafd;transition:opacity .4s ease}
#llvUnits,#llvTens,#llvCarryRod{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;align-items:center}
.llv-cell.tens{background:#f0edff}
.llv-cell.units{background:#fff6ec}
.llv-cell.used{opacity:.35}
.llv-carryrow .llv-label{color:#e07a00}
.llv-result .llv-cell{background:#e9fbf3;border:2px dashed #9fdcc5}
.llv-rod{display:block;width:10px;height:44px;border-radius:3px;background:repeating-linear-gradient(#7457ef 0 3.6px,#9b86f7 3.6px 4.4px);box-shadow:0 2px 0 #5a3fd1}
.llv-rod.new{background:repeating-linear-gradient(#ff9d42 0 3.6px,#ffc283 3.6px 4.4px);box-shadow:0 2px 0 #e07a00;animation:llvIn .5s ease}
.llv-cube{display:block;width:12px;height:12px;border-radius:3px;background:#ff9d42;box-shadow:0 2px 0 #e07a00}
.llv-msg{margin:0;max-width:560px;font-size:clamp(15px,4vw,18px);line-height:1.5;color:var(--ink)}
.llv-actions button{min-height:52px;padding:10px 20px;border:0;border-radius:16px;background:var(--purple);color:#fff;font-size:17px;font-weight:900;cursor:pointer}
.llv-actions button:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.llv-cell>span{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;align-items:center}
.llv-label{overflow-wrap:anywhere}
.llv-rod.ghost{background:none;border:2px dashed #9b86f7;box-shadow:none}
.llv-cube.ghost{background:none;border:2px dashed #ffb067;box-shadow:none}
.llv-cube.new{background:#ffc94d;box-shadow:0 2px 0 #d99a00;animation:llvIn .5s ease}
.llv-rod.taken,.llv-cube.taken{opacity:.18;transform:scale(.8);transition:opacity .4s ease,transform .4s ease}
.llv-cell.short{outline:3px solid var(--pink);outline-offset:-3px;animation:llvShake .4s ease}
.br-crossed{text-decoration:line-through;text-decoration-color:var(--pink);text-decoration-thickness:4px;color:#9fb0c2}
@keyframes llvShake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@keyframes llvIn{from{transform:translateY(-12px);opacity:0}}
@media(prefers-reduced-motion:reduce){.llv-rod.new{animation:none}.llv-cell{transition:none}}
