:root{--primary: #0f766e;--primary-dark: #115e59;--border: #d5e3e0;--surface: #ffffff;--shadow-soft: 0 1px 2px rgba(16, 48, 44, 0.06), 0 8px 24px rgba(16, 48, 44, 0.06);--surface-muted: #f2f8f7;--text-main: #10302c;--text-muted: #587470;}
.lns-wrap{--lns-ink: #10302c;--lns-dim: #587470;--lns-line: #d5e3e0;--lns-bg: #f2f8f7;--lns-accent: #0f766e;--lns-accent-dark: #115e59;--lns-runa: #dcf1ec;--lns-runb: #fcefd9;--lns-warn: #9a4a07;--lns-warn-bg: #fdf1e2;--lns-err: #a61b3a;--lns-err-bg: #fce7ec;color: var(--lns-ink);}
.lns-sr{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);white-space: nowrap;border: 0;}
.lns-mono{font-family: ui-monospace, "SFMono-Regular", "Cascadia Mono", Consolas, monospace;}
.lns-panel{margin: 1rem 0 2rem;background: var(--surface);border: 1px solid var(--lns-line);border-radius: 14px;box-shadow: var(--shadow-soft);overflow: hidden;}
.lns-controls{display: grid;grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);gap: 1rem 1.25rem;padding: 1.1rem 1.25rem;background: var(--lns-bg);border-bottom: 1px solid var(--lns-line);}
.lns-field label{display: block;margin-bottom: 0.35rem;font-size: 0.75rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.07em;color: var(--lns-dim);}
.lns-seed{width: 100%;padding: 0.6rem 0.75rem;font-size: 1.125rem;font-weight: 600;letter-spacing: 0.08em;color: var(--lns-ink);background: var(--surface);border: 1px solid var(--lns-line);border-radius: 9px;}
.lns-seed:focus,.lns-terms input:focus,.lns-select:focus{outline: 2px solid var(--lns-accent);outline-offset: 1px;border-color: var(--lns-accent);}
.lns-seed.is-bad{border-color: var(--lns-err);background: var(--lns-err-bg);}
.lns-terms{display: flex;gap: 0.6rem;align-items: center;}
.lns-terms input[type="number"]{width: 4.5rem;padding: 0.55rem 0.5rem;font-size: 1rem;font-weight: 600;color: var(--lns-ink);text-align: center;background: var(--surface);border: 1px solid var(--lns-line);border-radius: 9px;}
.lns-terms input[type="range"]{flex: 1;min-width: 0;accent-color: var(--lns-accent);}
.lns-hint{margin: 0.35rem 0 0;font-size: 0.8125rem;color: var(--lns-dim);}
.lns-hint.is-bad{color: var(--lns-err);font-weight: 600;}
.lns-strip{display: flex;flex-wrap: wrap;gap: 0.45rem 0.6rem;align-items: center;padding: 0.75rem 1.25rem;border-bottom: 1px solid var(--lns-line);}
.lns-strip-label{margin-right: 0.2rem;font-size: 0.75rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.08em;color: var(--lns-dim);}
.lns-chip{padding: 0.3rem 0.75rem;font-size: 0.8125rem;font-weight: 600;color: var(--lns-ink);background: var(--surface);border: 1px solid var(--lns-line);border-radius: 999px;cursor: pointer;}
.lns-chip:hover{border-color: var(--lns-accent);color: var(--lns-accent-dark);}
.lns-chip small{margin-left: 0.3rem;font-weight: 400;color: var(--lns-dim);}
.lns-gap{flex: 1;}
.lns-select{padding: 0.35rem 0.5rem;font-size: 0.8125rem;color: var(--lns-ink);background: var(--surface);border: 1px solid var(--lns-line);border-radius: 8px;}
.lns-switch{display: inline-flex;gap: 0.4rem;align-items: center;font-size: 0.8125rem;color: var(--lns-ink);cursor: pointer;}
.lns-switch input{width: 1rem;height: 1rem;accent-color: var(--lns-accent);}
.lns-btn{display: inline-flex;gap: 0.35rem;align-items: center;padding: 0.45rem 0.95rem;font-size: 0.875rem;font-weight: 600;color: var(--lns-ink);background: var(--surface);border: 1px solid var(--lns-line);border-radius: 9px;cursor: pointer;}
.lns-btn:hover{border-color: var(--lns-accent);color: var(--lns-accent-dark);}
.lns-btn.is-primary{color: #ffffff;background: var(--lns-accent);border-color: var(--lns-accent);}
.lns-btn.is-primary:hover{color: #ffffff;background: var(--lns-accent-dark);border-color: var(--lns-accent-dark);}
.lns-body{display: grid;grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);}
.lns-ladder-wrap{min-height: 14rem;max-height: 34rem;overflow: auto;border-right: 1px solid var(--lns-line);}
.lns-empty{margin: 0;padding: 3rem 1.5rem;font-size: 0.9375rem;text-align: center;color: var(--lns-dim);}
.lns-ladder{margin: 0;padding: 0;list-style: none;}
.lns-row{display: grid;grid-template-columns: 2.75rem minmax(0, 1fr) auto;gap: 0.6rem;align-items: start;width: 100%;padding: 0.55rem 1rem;text-align: left;color: inherit;background: transparent;border: 0;border-bottom: 1px solid var(--lns-line);cursor: pointer;}
.lns-row:hover{background: var(--lns-bg);}
.lns-row.is-sel{background: #e8f4f2;box-shadow: inset 3px 0 0 var(--lns-accent);}
.lns-idx{padding-top: 0.1rem;font-size: 0.75rem;font-weight: 700;color: var(--lns-dim);}
.lns-term{font-size: 0.9375rem;line-height: 1.7;word-break: break-all;}
.lns-term .ra{background: var(--lns-runa);border-radius: 3px;}
.lns-term .rb{background: var(--lns-runb);border-radius: 3px;}
.lns-more{margin-left: 0.35rem;font-size: 0.75rem;font-family: system-ui, sans-serif;font-weight: 600;color: var(--lns-dim);white-space: nowrap;}
.lns-len{padding-top: 0.1rem;font-size: 0.75rem;text-align: right;color: var(--lns-dim);white-space: nowrap;}
.lns-len b{display: block;font-size: 0.8125rem;color: var(--lns-ink);}
.lns-side{display: flex;flex-direction: column;gap: 1rem;padding: 1rem 1.1rem;}
.lns-box h3{margin: 0 0 0.5rem;font-size: 0.75rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.08em;color: var(--lns-dim);}
.lns-reader{font-size: 0.875rem;line-height: 1.6;}
.lns-reader ol{display: flex;flex-wrap: wrap;gap: 0.3rem;margin: 0 0 0.6rem;padding: 0;list-style: none;}
.lns-reader li{padding: 0.15rem 0.5rem;background: var(--lns-runa);border-radius: 6px;}
.lns-reader li:nth-child(even){background: var(--lns-runb);}
.lns-reader p{margin: 0;word-break: break-all;}
.lns-chart svg{display: block;width: 100%;height: auto;}
.lns-chart .bar{fill: var(--lns-accent);opacity: 0.8;}
.lns-chart .bar.is-sel{fill: var(--lns-warn);opacity: 1;}
.lns-chart .axis{stroke: var(--lns-line);stroke-width: 1;}
.lns-chart text{font-size: 10px;fill: var(--lns-dim);}
.lns-stats{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 0.5rem;margin: 0;}
.lns-stats div{padding: 0.5rem 0.6rem;background: var(--lns-bg);border-radius: 8px;}
.lns-stats dt{font-size: 0.6875rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.06em;color: var(--lns-dim);}
.lns-stats dd{margin: 0.1rem 0 0;font-size: 0.9375rem;font-weight: 600;word-break: break-word;}
.lns-notes{display: flex;flex-direction: column;gap: 0.4rem;margin: 0;padding: 0;list-style: none;}
.lns-notes li{padding: 0.5rem 0.65rem;font-size: 0.8125rem;line-height: 1.5;color: var(--lns-warn);background: var(--lns-warn-bg);border-radius: 8px;}
.lns-export{display: flex;flex-wrap: wrap;gap: 0.5rem;align-items: center;padding: 0.8rem 1.25rem;background: var(--lns-bg);border-top: 1px solid var(--lns-line);}
.lns-export label{font-size: 0.8125rem;font-weight: 600;color: var(--lns-dim);}
.lns-toast{font-size: 0.8125rem;font-weight: 600;color: var(--lns-accent-dark);}
.lns-head{display: flex;flex-wrap: wrap;gap: 0.5rem 1rem;align-items: baseline;justify-content: space-between;padding-bottom: 0.75rem;border-bottom: 2px solid var(--lns-accent);}
.lns-rule{font-size: 0.9375rem;font-weight: 600;color: var(--lns-accent-dark);}
.lns-byline{display: flex;flex-wrap: wrap;gap: 0.25rem 0.75rem;font-size: 0.8125rem;color: var(--lns-dim);}
.lns-byline-author a{color: var(--lns-accent);text-decoration: none;border-bottom: 1px solid var(--lns-line);}
.lns-byline-author a:hover{color: var(--lns-accent-dark);border-bottom-color: var(--lns-accent-dark);}
.lns-article{margin: 1.75rem 0 2.5rem;font-size: 1.0625rem;line-height: 1.75;}
.lns-article h2{margin: 0 0 0.75rem;font-size: clamp(1.5rem, 3vw, 1.9rem);font-weight: 800;line-height: 1.25;}
.lns-article h3{margin: 2.25rem 0 0.6rem;font-size: 1.3rem;font-weight: 700;line-height: 1.35;}
.lns-article p{margin: 0 0 1rem;}
.lns-article code{padding: 0.05rem 0.35rem;font-size: 0.9em;color: var(--lns-accent-dark);background: var(--lns-bg);border-radius: 4px;}
.lns-lead{font-size: 1.125rem;color: var(--lns-ink);}
.lns-scroll{margin: 0 0 1.25rem;overflow-x: auto;}
.lns-table{width: 100%;min-width: 30rem;font-size: 0.9375rem;border-collapse: collapse;}
.lns-table th{padding: 0.5rem 0.75rem;font-size: 0.75rem;font-weight: 700;text-align: left;text-transform: uppercase;letter-spacing: 0.06em;color: var(--lns-dim);border-bottom: 2px solid var(--lns-line);}
.lns-table td{padding: 0.5rem 0.75rem;vertical-align: top;border-bottom: 1px solid var(--lns-line);}
.lns-table td.num{font-variant-numeric: tabular-nums;text-align: right;}
.lns-code{margin: 0 0 1.25rem;padding: 0.9rem 1rem;overflow-x: auto;font-size: 0.875rem;line-height: 1.6;color: #e6f2f0;background: #12302c;border-radius: 10px;}
.lns-code code{padding: 0;color: inherit;background: none;}
.lns-note{margin: 0 0 1.25rem;padding: 0.85rem 1rem;font-size: 0.975rem;background: var(--lns-bg);border-left: 3px solid var(--lns-accent);border-radius: 0 8px 8px 0;}
.lns-list{margin: 0 0 1.25rem;padding-left: 1.2rem;}
.lns-list li{margin-bottom: 0.6rem;}
@media (max-width: 860px){.lns-controls{grid-template-columns: 1fr;}.lns-body{grid-template-columns: 1fr;}.lns-ladder-wrap{max-height: 26rem;border-right: 0;border-bottom: 1px solid var(--lns-line);}}
@media (max-width: 520px){.lns-row{grid-template-columns: 2.2rem minmax(0, 1fr);padding: 0.5rem 0.75rem;}.lns-len{grid-column: 2;text-align: left;}.lns-len b{display: inline;margin-right: 0.35rem;}.lns-strip,.lns-export{padding: 0.7rem 0.9rem;}.lns-controls{padding: 0.9rem;}}