:root {
  --lsl-tanka-bg: #030812;
  --lsl-tanka-bg-mid: #06111f;
  --lsl-tanka-bg-end: #10294a;
  --lsl-tanka-surface: #071421;
  --lsl-tanka-raised: #0a1928;
  --lsl-tanka-hover: #122b45;
  --lsl-tanka-text: #f6f8fb;
  --lsl-tanka-body: #dce3ec;
  --lsl-tanka-muted: #8493a6;
  --lsl-tanka-line: rgb(255 255 255 / 22%);
  --lsl-tanka-line-soft: rgb(255 255 255 / 12%);
  --lsl-tanka-accent: #6f9fd8;
  --lsl-tanka-accent-light: #8eb8eb;
  --lsl-tanka-purple: #776d9b;
  --lsl-tanka-red: #c96b7a;
  --lsl-tanka-content: 1180px;
  --lsl-tanka-section-gap: clamp(2rem, 4vw, 3.5rem);
  --lsl-tanka-sans: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  --lsl-tanka-serif: "Yu Mincho", "Hiragino Mincho ProN", serif;
}

.lsl-tanka-app,
.lsl-tanka-app * { box-sizing: border-box; }
.lsl-tanka-app {
  width: 100%;
  min-height: 80vh;
  overflow: hidden;
  color: var(--lsl-tanka-body);
  background:
    radial-gradient(ellipse at 100% 14%, rgb(54 108 176 / 16%), transparent 42%),
    linear-gradient(102deg, var(--lsl-tanka-bg) 0%, var(--lsl-tanka-bg-mid) 52%, var(--lsl-tanka-bg-end) 100%);
  font-family: var(--lsl-tanka-sans);
  line-height: 1.75;
}
.lsl-tanka-app a { color: inherit; text-underline-offset: .2em; }
.lsl-tanka-app button,
.lsl-tanka-app input,
.lsl-tanka-app textarea { font: inherit; }
.lsl-tanka-app button { cursor: pointer; }
.lsl-tanka-app :focus-visible { outline: 3px solid var(--lsl-tanka-accent-light); outline-offset: 3px; }
.lsl-tanka-app [hidden] { display: none !important; }

.lsl-tanka-hero {
  position: relative;
  border-bottom: 1px solid var(--lsl-tanka-line);
  background: linear-gradient(100deg, rgb(3 8 18 / 96%), rgb(7 20 33 / 94%) 64%, rgb(18 54 91 / 86%));
}
.lsl-tanka-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .025;
  background: repeating-linear-gradient(0deg, transparent 0 3px, #fff 4px), repeating-linear-gradient(90deg, transparent 0 9px, var(--lsl-tanka-accent) 10px);
}
.lsl-tanka-hero__index {
  width: min(100% - 32px, var(--lsl-tanka-content));
  margin: auto;
  padding: 1.15rem 0 .55rem;
  color: var(--lsl-tanka-muted);
  border-bottom: 1px solid var(--lsl-tanka-line-soft);
  font: 700 .67rem/1.2 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: .18em;
}
.lsl-tanka-hero__grid {
  position: relative;
  z-index: 1;
  width: min(100% - 32px, var(--lsl-tanka-content));
  margin: auto;
  padding: clamp(2rem, 5vw, 4.5rem) 0;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(260px, .65fr);
  gap: clamp(2rem, 5vw, 5.5rem);
  align-items: end;
}
.lsl-tanka-kicker,
.lsl-tanka-section-head > p {
  margin: 0 0 .45rem;
  color: var(--lsl-tanka-accent-light);
  font: 800 .7rem/1.3 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: .18em;
}
.lsl-tanka-hero h1 {
  margin: 0;
  color: var(--lsl-tanka-text);
  font-size: clamp(2.25rem, 7vw, 5.4rem);
  line-height: .95;
  letter-spacing: .055em;
  font-weight: 900;
}
.lsl-tanka-hero h1 span {
  display: block;
  margin-top: .72rem;
  color: var(--lsl-tanka-body);
  font: 800 clamp(1.15rem, 2.8vw, 2rem)/1.25 var(--lsl-tanka-serif);
  letter-spacing: .15em;
}
.lsl-tanka-hero__lead { max-width: 44rem; margin: 1.45rem 0 0; color: #b8c7d8; font-family: var(--lsl-tanka-serif); font-size: clamp(.9rem, 1.6vw, 1.08rem); }
.lsl-tanka-status-card { position: relative; padding: 1.2rem 1.25rem 1.15rem 2.35rem; border: 1px solid var(--lsl-tanka-line); border-left: 3px solid var(--lsl-tanka-accent); background: rgb(3 8 18 / 48%); }
.lsl-tanka-status-card__dot { position: absolute; top: 1.55rem; left: 1rem; width: .55rem; height: .55rem; border-radius: 50%; background: var(--lsl-tanka-accent); box-shadow: 0 0 0 4px rgb(111 159 216 / 13%); }
.lsl-tanka-status-card[data-state="submission_open"] .lsl-tanka-status-card__dot { background: #7dc69d; }
.lsl-tanka-status-card[data-state="voting_open"] .lsl-tanka-status-card__dot { background: var(--lsl-tanka-purple); }
.lsl-tanka-status-card[data-state="revealed"] .lsl-tanka-status-card__dot { background: #e5c670; }
.lsl-tanka-status-card__date { display: block; margin-bottom: .35rem; color: var(--lsl-tanka-muted); font: 800 .68rem/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .08em; }
.lsl-tanka-status-card strong { display: block; color: var(--lsl-tanka-text); font-size: .9rem; }
.lsl-tanka-status-card time { display: block; margin-top: .4rem; color: var(--lsl-tanka-accent-light); font: 800 .72rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .05em; }

.lsl-tanka-round-nav { border-bottom: 1px solid var(--lsl-tanka-line); background: linear-gradient(100deg, #050d18, #081727 70%, #102944); }
.lsl-tanka-round-nav__grid { width: min(100% - 32px, var(--lsl-tanka-content)); margin: auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-right: 1px solid var(--lsl-tanka-line-soft); }
.lsl-tanka-round-nav__item { position: relative; min-width: 0; min-height: 92px; padding: .85rem 1rem .8rem; display: flex; flex-direction: column; justify-content: center; color: var(--lsl-tanka-body); border-left: 1px solid var(--lsl-tanka-line-soft); text-decoration: none; overflow-wrap: anywhere; }
.lsl-tanka-round-nav__item strong { color: var(--lsl-tanka-text); font-size: .84rem; line-height: 1.35; }
.lsl-tanka-round-nav__item > span { margin-top: .15rem; color: var(--lsl-tanka-accent-light); font-size: .72rem; line-height: 1.45; }
.lsl-tanka-round-nav__item small { margin-top: .25rem; color: var(--lsl-tanka-muted); font-size: .65rem; line-height: 1.45; }
.lsl-tanka-round-nav__item:hover { background: var(--lsl-tanka-hover); }
.lsl-tanka-round-nav__item[aria-current="page"] { background: rgb(111 159 216 / 14%); box-shadow: inset 0 -3px var(--lsl-tanka-accent); }
.lsl-tanka-round-nav__item[aria-current="page"]::before { content: ""; position: absolute; top: .8rem; left: .55rem; width: 3px; height: calc(100% - 1.6rem); background: var(--lsl-tanka-accent); }
.lsl-tanka-round-nav__item[aria-current="page"] small { color: #c9def6; }
.lsl-tanka-round-nav__item.is-disabled { color: #96a2b1; background: rgb(3 8 18 / 54%); cursor: not-allowed; }
.lsl-tanka-round-nav__item.is-disabled strong { color: #aeb9c7; }
.lsl-tanka-round-nav__item.is-disabled > span,
.lsl-tanka-round-nav__item.is-disabled small { color: #8997a8; }

.lsl-tanka-local-nav {
  position: sticky;
  top: var(--lsl-header-height, 0px);
  z-index: 8000;
  width: 100%;
  overflow-x: auto;
  display: flex;
  justify-content: center;
  border-bottom: 1px solid var(--lsl-tanka-line);
  background: rgb(3 8 18 / 96%);
  scrollbar-width: thin;
}
.lsl-tanka-local-nav a,
.lsl-tanka-local-nav span { min-width: 150px; padding: .88rem 1.2rem; color: #aebed0; border-right: 1px solid var(--lsl-tanka-line-soft); text-align: center; text-decoration: none; font-size: .76rem; font-weight: 800; white-space: nowrap; }
.lsl-tanka-local-nav a:first-child { border-left: 1px solid var(--lsl-tanka-line-soft); }
.lsl-tanka-local-nav a:hover { color: var(--lsl-tanka-text); background: var(--lsl-tanka-hover); }
.lsl-tanka-local-nav a[aria-current="page"] { color: #071421; background: var(--lsl-tanka-accent); }
.lsl-tanka-local-nav small { color: var(--lsl-tanka-muted); font-size: .58rem; }

.lsl-tanka-main { width: min(100% - 32px, var(--lsl-tanka-content)); margin: auto; padding: clamp(2rem, 5vw, 4.5rem) 0 5rem; }
.lsl-tanka-main > section,
.lsl-tanka-main > div { scroll-margin-top: calc(var(--lsl-header-height, 0px) + 5rem); }
.lsl-tanka-section-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin-bottom: 1.35rem; padding: .72rem .85rem .78rem 1rem; border-left: 2px solid var(--lsl-tanka-accent); border-bottom: 1px solid var(--lsl-tanka-line); background: linear-gradient(90deg, rgb(111 159 216 / 10%), transparent 68%); }
.lsl-tanka-section-head > p { order: 2; margin: 0; }
.lsl-tanka-section-head h2 { min-width: 0; margin: 0; color: var(--lsl-tanka-text); font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.25; letter-spacing: .02em; overflow-wrap: break-word; }

.lsl-tanka-prompt-section { --lsl-tanka-panel-pad: clamp(1.2rem, 3vw, 2rem); padding: var(--lsl-tanka-panel-pad); border: 1px solid var(--lsl-tanka-line); background: linear-gradient(112deg, rgb(10 25 40 / 98%), rgb(7 20 33 / 95%) 64%, rgb(17 43 70 / 78%)); }
.lsl-tanka-round-summary { margin: 0 0 1rem; padding: .85rem 1rem; display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: .35rem 1rem; align-items: center; border-left: 2px solid var(--lsl-tanka-accent); background: rgb(3 8 18 / 36%); }
.lsl-tanka-round-summary time { color: var(--lsl-tanka-accent-light); font: 800 .75rem/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; }
.lsl-tanka-round-summary strong { color: var(--lsl-tanka-text); font-size: .82rem; }
.lsl-tanka-round-summary p { min-width: 0; margin: 0; color: var(--lsl-tanka-body); font-size: .78rem; line-height: 1.65; }
.lsl-tanka-prompts { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; border: 1px solid var(--lsl-tanka-line); background: var(--lsl-tanka-line); }
.lsl-tanka-prompt { min-height: 170px; padding: clamp(1rem, 3vw, 2rem); display: grid; align-content: space-between; background: var(--lsl-tanka-raised); }
.lsl-tanka-prompt--kanji { background: linear-gradient(135deg, #0b1726, #151b30); }
.lsl-tanka-prompt span { color: var(--lsl-tanka-muted); font: 800 .66rem/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .14em; }
.lsl-tanka-prompt strong { color: var(--lsl-tanka-text); font: 700 clamp(2.3rem, 7vw, 4.9rem)/1 var(--lsl-tanka-serif); letter-spacing: .12em; }
.lsl-tanka-prompt--kanji strong { color: #dcd7ef; }
.lsl-tanka-prompt-note { max-width: 48rem; margin: 1rem 0 0; color: var(--lsl-tanka-muted); font-size: .9rem; line-height: 1.8; }

.lsl-tanka-content-grid { margin-top: var(--lsl-tanka-section-gap); display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .7fr); gap: 1px; border: 1px solid var(--lsl-tanka-line); background: var(--lsl-tanka-line); }
.lsl-tanka-panel { --lsl-tanka-panel-pad: clamp(1.2rem, 3vw, 2.2rem); min-width: 0; padding: var(--lsl-tanka-panel-pad); background: var(--lsl-tanka-surface); }
.lsl-tanka-prompt-section > .lsl-tanka-section-head,
.lsl-tanka-panel > .lsl-tanka-section-head,
.lsl-tanka-profile > .lsl-tanka-section-head { margin-top: calc(0px - var(--lsl-tanka-panel-pad)); margin-right: calc(0px - var(--lsl-tanka-panel-pad)); margin-left: calc(0px - var(--lsl-tanka-panel-pad)); }
.lsl-tanka-panel.is-closed { background: rgb(7 20 33 / 72%); }
.lsl-tanka-form label,
.lsl-tanka-profile label,
.lsl-tanka-comment-form label { display: block; color: var(--lsl-tanka-text); font-size: .82rem; font-weight: 800; }
.lsl-tanka-form input[type="text"],
.lsl-tanka-form textarea,
.lsl-tanka-profile input,
.lsl-tanka-comment-form textarea { width: 100%; margin-top: .4rem; padding: .8rem .9rem; color: var(--lsl-tanka-text); background: #030b15; border: 1px solid var(--lsl-tanka-line); border-radius: 0; }
.lsl-tanka-form textarea { min-height: 155px; resize: vertical; font: 500 1.08rem/2 var(--lsl-tanka-serif); }
.lsl-tanka-form label + label { margin-top: 1rem; }
.lsl-tanka-form > p { margin: .6rem 0; color: var(--lsl-tanka-muted); font-size: .72rem; }
.lsl-tanka-form .lsl-tanka-check { margin: 1rem 0; display: flex; gap: .65rem; align-items: flex-start; color: #b8c7d8; font-size: .75rem; font-weight: 500; }
.lsl-tanka-form .lsl-tanka-check input { margin-top: .35rem; }
.lsl-tanka-button,
.lsl-tanka-action { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: .65rem 1rem; color: var(--lsl-tanka-accent-light); background: transparent; border: 1px solid var(--lsl-tanka-accent); border-radius: 0; text-decoration: none; font-weight: 800; }
.lsl-tanka-button:hover,
.lsl-tanka-action:hover { color: var(--lsl-tanka-text); background: var(--lsl-tanka-hover); }
.lsl-tanka-button--primary { min-width: min(100%, 260px); color: #071421; background: var(--lsl-tanka-accent); }
.lsl-tanka-button--small { min-height: 44px; padding: .55rem .8rem; font-size: .75rem; }
.lsl-tanka-button:disabled,
.lsl-tanka-action:disabled { opacity: .5; cursor: wait; }
.lsl-tanka-message { padding: 1rem; color: #b8c7d8; border: 1px dashed var(--lsl-tanka-line); background: rgb(3 8 18 / 35%); }
.lsl-tanka-own-entry { margin-top: 1rem; padding: 1rem; border: 1px solid var(--lsl-tanka-line); border-left: 3px solid var(--lsl-tanka-accent); background: rgb(3 8 18 / 48%); }
.lsl-tanka-own-entry strong { color: var(--lsl-tanka-accent-light); font-size: .8rem; }
.lsl-tanka-own-entry p { margin: .65rem 0; color: var(--lsl-tanka-text); white-space: pre-wrap; overflow-wrap: anywhere; font: 500 1rem/1.9 var(--lsl-tanka-serif); }
.lsl-tanka-own-entry small { color: var(--lsl-tanka-muted); font-size: .72rem; }

.lsl-tanka-timeline ol { margin: 0; padding: 0; list-style: none; counter-reset: timeline; }
.lsl-tanka-timeline li { position: relative; padding: 0 0 1.25rem 1.2rem; border-left: 1px solid var(--lsl-tanka-line); }
.lsl-tanka-timeline li::before { content: ""; position: absolute; top: .45rem; left: -4px; width: 7px; height: 7px; background: var(--lsl-tanka-accent); }
.lsl-tanka-timeline b { display: block; color: var(--lsl-tanka-accent-light); font: 800 .67rem/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; }
.lsl-tanka-timeline span { color: var(--lsl-tanka-text); font-size: .82rem; }
.lsl-tanka-timeline > p { color: var(--lsl-tanka-muted); font-size: .7rem; }

.lsl-tanka-works,
.lsl-tanka-profile,
.lsl-tanka-history,
.lsl-tanka-guide { margin-top: var(--lsl-tanka-section-gap); }
.lsl-tanka-work-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--lsl-tanka-line); background: var(--lsl-tanka-line); }
.lsl-tanka-work { min-width: 0; padding: clamp(1.1rem, 3vw, 2rem); background: var(--lsl-tanka-raised); }
.lsl-tanka-work:hover { background: var(--lsl-tanka-hover); }
.lsl-tanka-work.is-own { box-shadow: inset 3px 0 var(--lsl-tanka-accent); }
.lsl-tanka-work__head { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .75rem; border-bottom: 1px solid var(--lsl-tanka-line-soft); color: var(--lsl-tanka-muted); font: 800 .65rem/1.3 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .09em; }
.lsl-tanka-work__state { color: var(--lsl-tanka-accent-light); }
.lsl-tanka-work__poem { min-height: 9rem; margin: clamp(1.2rem, 3vw, 2rem) 0; color: var(--lsl-tanka-text); white-space: pre-wrap; overflow-wrap: anywhere; font: 500 clamp(1rem, 2vw, 1.18rem)/2.1 var(--lsl-tanka-serif); letter-spacing: .04em; }
.lsl-tanka-work__actions,
.lsl-tanka-share { display: flex; flex-wrap: wrap; gap: .55rem; padding-top: .9rem; border-top: 1px solid var(--lsl-tanka-line-soft); }
.lsl-tanka-self-notice { width: 100%; margin: 0; color: #c6d5e6; font-size: .78rem; }
.lsl-tanka-voting-note { margin: 0 0 .8rem; padding: .8rem 1rem; color: #cbd9e9; border-left: 2px solid var(--lsl-tanka-purple); background: rgb(119 109 155 / 11%); font-size: .8rem; }
.lsl-tanka-voting-note:empty { display: none; }
.lsl-tanka-action[aria-pressed="true"].is-butterfly { color: #071421; background: var(--lsl-tanka-purple); border-color: #a399c7; }
.lsl-tanka-action[aria-pressed="true"].is-sparkle { color: #071421; background: #d2b85f; border-color: #e5ce7d; }
.lsl-tanka-comment-form { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--lsl-tanka-line-soft); }
.lsl-tanka-comment-form textarea { min-height: 86px; resize: vertical; }
.lsl-tanka-comment-form button { margin-top: .6rem; }
.lsl-tanka-work__result { display: flex; align-items: baseline; flex-wrap: wrap; gap: .5rem 1rem; padding: .9rem 0; border-top: 1px solid var(--lsl-tanka-line-soft); }
.lsl-tanka-work__result strong { color: var(--lsl-tanka-text); font-size: 1.25rem; }
.lsl-tanka-work__result span { color: var(--lsl-tanka-accent-light); font: 700 .75rem ui-monospace, SFMono-Regular, Consolas, monospace; }
.lsl-tanka-work__result small { color: #d7cfe9; }
.lsl-tanka-work__x { color: var(--lsl-tanka-accent-light); font-size: .72rem; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.lsl-tanka-comments { margin-top: 1.25rem; }
.lsl-tanka-comments h3 { color: var(--lsl-tanka-text); font-size: .85rem; }
.lsl-tanka-comments blockquote { margin: .65rem 0; padding: .8rem 1rem; border: 0; border-left: 2px solid var(--lsl-tanka-purple); background: rgb(3 8 18 / 35%); }
.lsl-tanka-comments p { margin: 0; color: var(--lsl-tanka-body); font-size: .8rem; }
.lsl-tanka-comments cite { color: var(--lsl-tanka-muted); font-size: .68rem; }
.lsl-tanka-empty,
.lsl-tanka-result-note { grid-column: 1 / -1; margin: 0; padding: 2rem; color: var(--lsl-tanka-muted); background: var(--lsl-tanka-surface); border: 1px dashed var(--lsl-tanka-line); }
.lsl-tanka-result-note { color: #d7cfe9; border-style: solid; border-left: 3px solid var(--lsl-tanka-purple); }
.lsl-tanka-empty.is-error { color: #efb0bb; border-color: var(--lsl-tanka-red); }

.lsl-tanka-profile { --lsl-tanka-panel-pad: clamp(1.2rem, 3vw, 2rem); padding: var(--lsl-tanka-panel-pad); border: 1px solid var(--lsl-tanka-line); background: var(--lsl-tanka-surface); }
.lsl-tanka-profile form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: end; }
.lsl-tanka-profile > p { color: var(--lsl-tanka-accent-light); }
.lsl-tanka-account__guest,
.lsl-tanka-account__member { max-width: 860px; }
.lsl-tanka-auth-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 1.25rem; border: 1px solid var(--lsl-tanka-line); }
.lsl-tanka-auth-tabs button { min-width: 0; min-height: 44px; padding: .65rem .5rem; color: var(--lsl-tanka-muted); background: #030b15; border: 0; border-right: 1px solid var(--lsl-tanka-line); font-weight: 800; }
.lsl-tanka-auth-tabs button:last-child { border-right: 0; }
.lsl-tanka-auth-tabs button[aria-selected="true"] { color: #071421; background: var(--lsl-tanka-accent); }
.lsl-tanka-account .lsl-tanka-auth-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: end; }
.lsl-tanka-account .lsl-tanka-auth-form[hidden] { display: none; }
.lsl-tanka-auth-form > p,
.lsl-tanka-auth-form > .lsl-tanka-check,
.lsl-tanka-auth-form > button { grid-column: 1 / -1; }
.lsl-tanka-auth-form label small { display: block; margin-top: .35rem; color: var(--lsl-tanka-muted); font-size: .68rem; font-weight: 500; line-height: 1.55; }
.lsl-tanka-password { display: grid; grid-template-columns: minmax(0, 1fr) auto; margin-top: .4rem; }
.lsl-tanka-profile .lsl-tanka-password input { min-width: 0; margin-top: 0; border-right: 0; }
.lsl-tanka-password button { min-width: 56px; min-height: 44px; padding: .55rem; color: var(--lsl-tanka-accent-light); background: var(--lsl-tanka-hover); border: 1px solid var(--lsl-tanka-line); font-weight: 800; }
.lsl-tanka-account .lsl-tanka-check { display: flex; gap: .65rem; align-items: flex-start; color: #b8c7d8; font-weight: 500; line-height: 1.6; }
.lsl-tanka-account .lsl-tanka-check input { flex: 0 0 auto; width: auto; min-height: 0; margin: .25rem 0 0; }
.lsl-tanka-auth-divider { display: flex; align-items: center; gap: .75rem; margin: 1.25rem 0; color: var(--lsl-tanka-muted); font-size: .68rem; }
.lsl-tanka-auth-divider::before,
.lsl-tanka-auth-divider::after { content: ""; flex: 1; height: 1px; background: var(--lsl-tanka-line-soft); }
.lsl-tanka-button--x { color: var(--lsl-tanka-text); border-color: #8497ad; background: #050b14; }
.lsl-tanka-auth-note { max-width: 44rem; margin: .75rem 0 0; color: var(--lsl-tanka-muted); font-size: .72rem; line-height: 1.7; }
.lsl-tanka-account__summary { display: grid; gap: .35rem; margin-bottom: 1.25rem; padding: 1rem; border-left: 2px solid var(--lsl-tanka-accent); background: rgb(3 8 18 / 45%); }
.lsl-tanka-account__summary strong { color: var(--lsl-tanka-text); font-size: 1.1rem; }
.lsl-tanka-account__summary > span { color: var(--lsl-tanka-muted); overflow-wrap: anywhere; }
.lsl-tanka-account__badges { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .4rem; }
.lsl-tanka-account__badges span { padding: .28rem .5rem; color: var(--lsl-tanka-muted); border: 1px solid var(--lsl-tanka-line); font: 800 .64rem/1.3 ui-monospace, SFMono-Regular, Consolas, monospace; }
.lsl-tanka-account__badges .is-ready { color: #bce3cc; border-color: #477b61; }
.lsl-tanka-account__badges .is-pending { color: #f2c0c9; border-color: var(--lsl-tanka-red); }
.lsl-tanka-account__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--lsl-tanka-line-soft); }
.lsl-tanka-account__actions .lsl-tanka-check { width: 100%; }
.lsl-tanka-account > .lsl-tanka-message:empty { display: none; }
.lsl-tanka-history__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--lsl-tanka-line); background: var(--lsl-tanka-line); }
.lsl-tanka-history-card { min-width: 0; padding: 1.25rem; background: var(--lsl-tanka-surface); }
.lsl-tanka-history-card > header { display: flex; justify-content: space-between; gap: 1rem; color: var(--lsl-tanka-accent-light); font: 800 .66rem/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; }
.lsl-tanka-history-card__prompt { margin: 1rem 0 .35rem; color: var(--lsl-tanka-text); font: 600 .95rem/1.8 var(--lsl-tanka-serif); overflow-wrap: anywhere; }
.lsl-tanka-history-card__count { margin: 0 0 1rem; color: var(--lsl-tanka-muted); font-size: .75rem; }
.lsl-tanka-history__more { margin-top: 1rem; }
.lsl-tanka-history-card ol { margin: 1rem 0 0; padding: 0; list-style: none; }
.lsl-tanka-history-card li { display: grid; grid-template-columns: auto 1fr; gap: .15rem .8rem; padding: .8rem 0; border-top: 1px solid var(--lsl-tanka-line-soft); }
.lsl-tanka-history-card li strong { grid-row: 1 / 3; color: var(--lsl-tanka-text); }
.lsl-tanka-history-card li p { margin: 0; color: var(--lsl-tanka-body); white-space: pre-wrap; font: .82rem/1.8 var(--lsl-tanka-serif); }
.lsl-tanka-history-card li span,
.lsl-tanka-history-card__empty { color: var(--lsl-tanka-muted); font-size: .68rem; }
.lsl-tanka-guide__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--lsl-tanka-line); background: var(--lsl-tanka-line); }
.lsl-tanka-guide article { padding: clamp(1.1rem, 3vw, 2rem); background: var(--lsl-tanka-surface); }
.lsl-tanka-guide article > span { color: var(--lsl-tanka-accent); font: 800 .72rem ui-monospace, SFMono-Regular, Consolas, monospace; }
.lsl-tanka-guide h3 { margin: 1.2rem 0 .55rem; color: var(--lsl-tanka-text); font-size: 1rem; }
.lsl-tanka-guide article p { margin: 0; color: var(--lsl-tanka-muted); font-size: .78rem; }

.lsl-tanka-toast { position: fixed; right: 1rem; bottom: 1rem; z-index: 99999; max-width: min(420px, calc(100vw - 2rem)); padding: .9rem 1rem; color: var(--lsl-tanka-text); background: var(--lsl-tanka-hover); border: 1px solid var(--lsl-tanka-accent); box-shadow: 0 16px 50px rgb(0 0 0 / 38%); }
.lsl-tanka-toast.is-error { border-color: var(--lsl-tanka-red); }
.lsl-tanka-noscript { margin: 0; padding: 1rem; color: #fff; background: #742c3b; text-align: center; }

@media (max-width: 900px) {
  .lsl-tanka-hero__grid { grid-template-columns: 1fr; }
  .lsl-tanka-status-card { max-width: 520px; }
  .lsl-tanka-content-grid { grid-template-columns: 1fr; }
  .lsl-tanka-work-list { grid-template-columns: 1fr; }
  .lsl-tanka-guide__grid { grid-template-columns: 1fr; }
  .lsl-tanka-history__list { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .lsl-tanka-main,
  .lsl-tanka-hero__grid,
  .lsl-tanka-hero__index { width: min(100% - 32px, var(--lsl-tanka-content)); padding-right: env(safe-area-inset-right, 0); padding-left: env(safe-area-inset-left, 0); }
  .lsl-tanka-app { font-size: .95rem; line-height: 1.8; }
  .lsl-tanka-hero__grid { padding-top: clamp(1.75rem, 8vw, 2.5rem); padding-bottom: clamp(1.75rem, 8vw, 2.5rem); }
  .lsl-tanka-hero h1 { font-size: clamp(2rem, 14vw, 3.35rem); line-height: 1.02; overflow-wrap: anywhere; }
  .lsl-tanka-hero__lead { max-width: 32rem; font-size: .95rem; line-height: 1.8; }
  .lsl-tanka-prompts { grid-template-columns: 1fr; }
	.lsl-tanka-round-nav__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.lsl-tanka-round-nav__item { min-height: 104px; padding: .75rem .6rem; }
	.lsl-tanka-round-nav__item[data-nav-item="history"] { grid-column: 1 / -1; min-height: 68px; display: grid; grid-template-columns: auto 1fr auto; gap: .25rem .75rem; align-items: center; }
	.lsl-tanka-round-nav__item[data-nav-item="history"] > span,
	.lsl-tanka-round-nav__item[data-nav-item="history"] small { margin: 0; }
	.lsl-tanka-round-summary { grid-template-columns: 1fr; gap: .25rem; }
  .lsl-tanka-prompt { min-height: 125px; }
  .lsl-tanka-section-head { display: block; margin-bottom: 1rem; padding: .68rem .75rem .72rem .9rem; }
  .lsl-tanka-section-head > p { margin-bottom: .32rem; }
  .lsl-tanka-section-head h2 { font-size: clamp(1.5rem, 6vw, 1.85rem); line-height: 1.25; }
  .lsl-tanka-local-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow-x: visible; justify-content: stretch; }
  .lsl-tanka-local-nav a,
  .lsl-tanka-local-nav span { min-width: 0; min-height: 48px; padding: .65rem .3rem; display: flex; align-items: center; justify-content: center; white-space: normal; line-height: 1.35; }
  .lsl-tanka-profile form,
  .lsl-tanka-account .lsl-tanka-auth-form { grid-template-columns: 1fr; }
  .lsl-tanka-button--primary { width: 100%; }
  .lsl-tanka-prompt-note,
  .lsl-tanka-timeline > p,
  .lsl-tanka-guide article p { font-size: .95rem; line-height: 1.8; }
  .lsl-tanka-form input[type="text"],
  .lsl-tanka-profile input { min-height: 44px; }
  .lsl-tanka-form textarea { min-height: 148px; font-size: 1rem; line-height: 1.9; }
  .lsl-tanka-account__actions { display: grid; grid-template-columns: 1fr; }
  .lsl-tanka-account__actions .lsl-tanka-button { width: 100%; }
  .lsl-tanka-toast { right: max(1rem, env(safe-area-inset-right, 0px)); bottom: max(1rem, env(safe-area-inset-bottom, 0px)); left: max(1rem, env(safe-area-inset-left, 0px)); max-width: none; }
}
@media (max-width: 360px) {
  .lsl-tanka-panel,
  .lsl-tanka-prompt-section,
  .lsl-tanka-profile { --lsl-tanka-panel-pad: 1rem; }
  .lsl-tanka-work { padding: 1rem; }
  .lsl-tanka-work__actions,
  .lsl-tanka-share { display: grid; grid-template-columns: 1fr; }
	.lsl-tanka-round-nav__item { padding-right: .4rem; padding-left: .4rem; }
	.lsl-tanka-round-nav__item strong { font-size: .76rem; }
	.lsl-tanka-round-nav__item > span,
	.lsl-tanka-round-nav__item small { font-size: .61rem; }
}
body.admin-bar .lsl-tanka-local-nav { top: calc(var(--lsl-header-height, 0px) + 32px); }
@media (max-width: 782px) {
  body.admin-bar .lsl-tanka-local-nav { top: calc(var(--lsl-header-height, 0px) + 46px); }
}
@media (prefers-reduced-motion: reduce) {
  .lsl-tanka-app *, .lsl-tanka-app *::before, .lsl-tanka-app *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
