:root{font-family:system-ui,sans-serif;color:#1c1c1e;background:#f6f6f4}body{margin:0}.shell{display:flex;align-items:flex-start;min-height:100vh}.load-rail{position:sticky;top:0;display:flex;flex-direction:column;gap:8px;width:240px;flex:none;max-height:100vh;overflow:auto;padding:16px 12px;box-sizing:border-box}.load-rail button{text-align:left}.load-rail .rail-divider{width:100%;border:0;border-top:1px solid #c9c9cf;margin:8px 0}.load-rail .rail-pair{display:flex;gap:8px}.load-rail .rail-pair button{flex:1;text-align:center}.advanced-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.advanced-toggle input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:20px;margin:0;border:1px solid #c9c9cf;border-radius:999px;background:#e3e3e6;position:relative;cursor:pointer;flex:none}.advanced-toggle input:after{content:"";position:absolute;top:1px;left:1px;width:16px;height:16px;border-radius:50%;background:#fff}.advanced-toggle input:checked{background:#1c1c1e;border-color:#1c1c1e}.advanced-toggle input:checked:after{transform:translate(16px)}main{flex:1;min-width:0;margin:0;padding:16px 16px 48px}h2{font-size:1rem;margin:0 0 8px}.icon-bar{display:flex;align-items:center;gap:4px;width:fit-content;max-width:100%;margin:0 auto 8px;padding:4px 6px;background:#fff;border:1px solid #e3e3e6;border-radius:8px;box-sizing:border-box}.icon-slot{position:relative;flex:0 1 48px;width:48px;height:48px;min-width:0}.icon-bar img{width:100%;height:100%;object-fit:contain;display:block}.icon-slot.selected img{opacity:.4}.icon-count{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:.72rem;font-weight:700;line-height:1;color:#1c1c1e;pointer-events:none}.stage{position:relative;width:100%;max-height:70vh;aspect-ratio:var(--aspect, 1.333);margin-bottom:8px;background:#9ed1f2;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;cursor:default}.canvas-status{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;margin:0;color:#173044}.canvas-background{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.canvas-item{position:absolute;height:auto;transform:translate(-50%,-50%);pointer-events:none}.canvas-item img{display:block;width:100%;height:auto}.canvas-item.focused img{outline:2px solid rgba(255,255,255,.9);outline-offset:4px;border-radius:12px}details.group{margin-top:16px}details.group summary{cursor:pointer;font-size:1rem;font-weight:700;margin:0 0 8px}details.group summary .count{font-weight:400}.count{font-weight:400;color:#6b6b70;margin-left:6px}.buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}button{padding:8px 14px;border:1px solid #c9c9cf;border-radius:8px;background:#fff;cursor:pointer;font:inherit}button:hover:not(:disabled){background:#eee}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:#1c1c1e;color:#fff;border-color:#1c1c1e}button.primary:hover:not(:disabled){background:#333}.group{margin-top:24px}.sentence{width:fit-content;max-width:100%;margin:0 auto;padding:12px 14px;background:#fff;border:1px solid #1c1c1e;border-radius:8px}.sentence p{margin:0}.sentence-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}.sentence-row+.sentence-row{margin-top:14px;padding-top:12px;border-top:1px solid #e3e3e6}.word-slot{display:flex;align-items:center;gap:10px}.word{position:relative;display:flex;flex-direction:column;gap:2px;min-width:88px;padding:8px 28px 8px 10px;border:1px solid #c9c9cf;border-radius:6px;background:#f6f6f4}.word.selected{border:2px solid #1c1c1e;background:#fff}.word .flag{text-align:left}.plus{font-size:1.1rem;font-weight:600;color:#6b6b70}.sentence .example{margin-top:8px;color:#3a3a3e}ul{list-style:none;margin:0;padding:0}li{display:grid;grid-template-columns:70px 1fr 1fr 50px;gap:8px;align-items:center;padding:6px 10px;border-radius:6px;margin-bottom:4px;background:#fff;border:1px solid #e3e3e6}li.off{opacity:.5}li.on{border-color:#2f9e5b;background:#eefaf2}.queue-row{grid-template-columns:70px 1fr 1fr auto auto}.reps{font-size:.8rem;color:#6b6b70}button.clear-one{padding:4px 10px}button.regen{position:absolute;top:4px;right:4px;padding:2px 6px;font-size:.95rem;line-height:1.2}.ru{font-weight:600}.flag{text-align:right;font-size:.8rem;color:#6b6b70}code{font-size:.8rem;color:#6b6b70}@media (max-width: 520px){li{grid-template-columns:1fr 1fr}code,.flag{display:none}.queue-row{grid-template-columns:1fr auto auto}}
