body[data-app-id=poetry]{--poetry-green:#286856;--poetry-soft:#eaf3ed;--poetry-paper:#fffdf8;--poetry-line:#e5e7df;--poetry-muted:#6f7b71;--poetry-ink:#25392e}
html[data-theme=dark] body[data-app-id=poetry]{--poetry-green:#a4d6b9;--poetry-soft:#233a30;--poetry-paper:#1a2722;--poetry-line:#34483d;--poetry-muted:#a2b6a8;--poetry-ink:#e8f2ea}
body[data-app-id=poetry] .tool-main{max-width:1280px;padding-top:30px}body[data-app-id=poetry] .tool-topbar{max-width:1320px}body[data-app-id=poetry] .tool-heading{margin-bottom:24px}body[data-app-id=poetry] .tool-heading h1{letter-spacing:-.5px}body[data-app-id=poetry] .primary-button{background:var(--poetry-green);border-color:var(--poetry-green);color:var(--poetry-paper)}
.poetry-workspace{min-width:0}.poetry-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.poetry-toolbar .actions{margin:0}.poetry-tag{font-size:12px;letter-spacing:.08em;color:var(--poetry-green);font-weight:650}.poetry-toolbar p{font-size:13px;color:var(--muted);margin:4px 0 0}.poetry-layout{display:grid;grid-template-columns:286px minmax(0,1fr);gap:22px;align-items:start}.poetry-library,.poetry-reader,.poetry-transfer{border:1px solid var(--poetry-line);background:var(--paper);border-radius:18px;min-width:0}
.poetry-library{padding:22px}.poetry-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.poetry-section-heading h2{font-size:17px;margin:0}.poetry-badge{padding:3px 9px;border-radius:20px;background:var(--poetry-soft);color:var(--poetry-green);font-size:11px;white-space:nowrap}.poetry-library>.field{margin-top:16px}.poetry-library label{font-size:12px}.poetry-library .field-hint{margin:12px 0 10px;font-size:11px}.poetry-list{padding:0;margin:0;list-style:none;max-height:480px;overflow:auto;scrollbar-width:thin}.poetry-list li+li{margin-top:5px}.poetry-item{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;border:1px solid transparent;border-radius:10px;padding:10px 12px;background:transparent;color:var(--ink);min-height:62px;font:inherit;cursor:pointer}.poetry-item strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}.poetry-item span{font-size:11px;color:var(--muted)}.poetry-item:hover{background:var(--bg)}.poetry-item[aria-current=true]{background:var(--poetry-soft);border-color:var(--poetry-line);color:var(--poetry-green)}.poetry-library-note{font-size:11px;line-height:1.8;color:var(--muted);margin:18px 0 0;padding-top:15px;border-top:1px solid var(--line)}
.poetry-reader{padding:26px 32px;background:var(--poetry-paper);color:var(--poetry-ink);overflow:hidden}.poetry-reader-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.poetry-position{font-size:12px;color:var(--poetry-muted);font-variant-numeric:tabular-nums}.poetry-poem{text-align:center;min-height:320px;padding:34px 0 24px}.poetry-poem h2{font:600 clamp(26px,3vw,36px)/1.5 "Noto Serif CJK SC","Songti SC",SimSun,serif;letter-spacing:.1em;margin:0;overflow-wrap:anywhere}.poetry-author{color:var(--poetry-muted);font-size:13px;margin:10px 0 27px;letter-spacing:.08em}.poetry-lines{--poem-size:28px;display:grid;justify-items:center;gap:3px}.poetry-line{display:block;max-width:100%;border:0;border-radius:8px;color:var(--poetry-ink);background:none;padding:7px 12px;font:400 var(--poem-size)/1.7 "Noto Serif CJK SC","Songti SC",SimSun,serif;letter-spacing:.09em;overflow-wrap:anywhere;cursor:pointer;min-height:44px}.poetry-line:hover{background:var(--poetry-soft)}.poetry-line.is-hidden{color:var(--poetry-muted);background:var(--poetry-soft);min-width:65%;font-size:calc(var(--poem-size) * .68);letter-spacing:.05em;margin-block:5px}.poetry-reader-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:25px}.poetry-reader-actions button{min-width:112px}.poetry-settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-top:20px;border-top:1px solid var(--poetry-line)}.poetry-settings label{font-size:11px;color:var(--poetry-muted)}.poetry-settings select{padding:8px;font-size:12px;background:var(--poetry-paper);border-color:var(--poetry-line);min-height:40px}.poetry-settings input[type=range]{padding:9px 0;accent-color:var(--poetry-green);height:40px;background:none;border:0}.poetry-bottom{display:flex;align-items:center;gap:12px;margin-top:18px;font-size:11px;color:var(--poetry-muted);flex-wrap:wrap}.poetry-bottom .check-label{font-size:12px;align-items:center}.poetry-bottom .check-label input{margin:0;accent-color:var(--poetry-green)}.poetry-edit-actions{margin-left:auto;display:flex;gap:6px}.poetry-edit-actions .quiet-button{font-size:11px;min-height:38px;padding:7px 9px}.poetry-keyboard-hint{text-align:center;color:var(--poetry-muted);font-size:10px;margin:16px 0 0}
.poetry-transfer{padding:24px;margin-top:22px}.poetry-transfer .panel-description{margin:5px 0 0;font-size:12px}.poetry-transfer-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;margin-top:18px}.poetry-transfer-controls .actions{margin:0;gap:8px}.poetry-transfer-controls button{font-size:12px;padding-inline:11px}.poetry-transfer-controls label{font-size:12px}.poetry-import-preview{padding:18px;border-radius:12px;background:var(--poetry-soft);margin-top:18px}.poetry-import-preview h3{font-size:14px;margin:0 0 6px}.poetry-import-preview p{font-size:13px;overflow-wrap:anywhere}.poetry-import-preview .check-label{font-size:12px;margin-top:12px}.poetry-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);padding:28px;box-shadow:0 24px 90px #0003}.poetry-dialog::backdrop{background:#172b245e;backdrop-filter:blur(4px)}.poetry-dialog .form-grid{margin-top:20px}.poetry-dialog .field textarea{font-family:inherit;min-height:200px}.poetry-dialog .field-hint{margin-top:14px;font-size:11px}.poetry-confirm-dialog{max-width:420px}.poetry-confirm-dialog p{margin:16px 0;overflow-wrap:anywhere}.poetry-workspace :focus-visible,.poetry-dialog :focus-visible{outline:2px solid var(--poetry-green);outline-offset:3px}
body.poetry-focused .tool-heading,body.poetry-focused .tool-topbar,body.poetry-focused .tool-footer,body.poetry-focused .poetry-library,body.poetry-focused .poetry-transfer,body.poetry-focused .offline-panel{display:none}body.poetry-focused .tool-main{max-width:1040px;padding-top:20px}body.poetry-focused .poetry-layout{grid-template-columns:minmax(0,1fr)}body.poetry-focused .poetry-poem{min-height:50dvh}
@media(max-width:1040px){.poetry-layout{grid-template-columns:240px minmax(0,1fr);gap:16px}.poetry-reader{padding:24px}.poetry-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.poetry-transfer-controls{grid-template-columns:1fr}.poetry-transfer-controls .actions{justify-content:flex-start}}
@media(max-width:760px){.poetry-layout{display:flex;flex-direction:column}.poetry-reader{order:0;width:100%;padding:22px 16px}.poetry-library{order:1;width:100%;padding:20px}.poetry-list{max-height:280px}.poetry-toolbar{align-items:flex-start;gap:10px}.poetry-toolbar .actions{gap:7px;flex-shrink:0}.poetry-toolbar button{font-size:12px;padding-inline:10px;min-height:42px}.poetry-toolbar p{font-size:11px;max-width:200px}.poetry-tag{font-size:11px}.poetry-poem{min-height:280px;padding:27px 0 24px}.poetry-line{letter-spacing:.035em;padding-inline:5px}.poetry-reader-actions{gap:7px}.poetry-reader-actions button{min-width:0;flex:1;font-size:12px;padding-inline:6px}.poetry-transfer{padding:20px}.poetry-transfer .poetry-section-heading{align-items:flex-start;flex-wrap:wrap}.poetry-keyboard-hint{display:none}.poetry-dialog{padding:22px}.poetry-edit-actions{gap:0}.poetry-toolbar .actions>button{flex-grow:0}}
@media(prefers-reduced-motion:no-preference){.poetry-item,.poetry-line{transition:background-color .15s ease}}
.poetry-save-note{font-size:11px;color:var(--muted);margin:10px 4px 0}.poetry-offline{font-size:11px;color:var(--muted);margin-top:16px}.poetry-offline>summary{cursor:pointer}.poetry-offline .offline-panel{margin-top:10px}#poetry-status:empty{display:none}body.poetry-focused .poetry-save-note,body.poetry-focused .poetry-offline{display:none}
/* Compact the introduction while keeping the reading controls easy to reach. */
body[data-app-id=poetry] .tool-main{padding-top:18px}
body[data-app-id=poetry] .tool-heading{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin-bottom:10px}
body[data-app-id=poetry] .tool-heading .eyebrow{display:none}
body[data-app-id=poetry] .tool-heading h1{font-size:26px;line-height:1.3;flex-shrink:0}
body[data-app-id=poetry] .tool-heading>p:not(.eyebrow){font-size:12px;line-height:1.6;margin:0;flex:1 1 360px}
body[data-app-id=poetry] .tool-heading .privacy-note{font-size:10px;padding:3px 7px;white-space:nowrap}
.poetry-toolbar{margin-bottom:14px;gap:12px}.poetry-toolbar p{margin:0;font-size:12px}.poetry-toolbar button{min-height:40px;padding:8px 12px;font-size:12px}
@media(max-width:760px){body[data-app-id=poetry] .tool-heading{gap:5px 10px;margin-bottom:12px}body[data-app-id=poetry] .tool-heading h1{font-size:25px}body[data-app-id=poetry] .tool-heading>p:not(.eyebrow){flex-basis:100%;font-size:11px}.poetry-toolbar{align-items:center;margin-bottom:12px}.poetry-toolbar p{max-width:none;white-space:nowrap}.poetry-toolbar .actions{gap:7px}}
body[data-app-id=poetry].poetry-focused .tool-heading{display:none}body[data-app-id=poetry].poetry-focused .tool-main{padding-top:20px}
/* Keep the original controls in view for long poems, including focus mode.
   overflow:hidden on the reader would make it the sticky scroll container. */
.poetry-reader{overflow:visible;scroll-margin-top:8px}
.poetry-reader-actions{position:sticky;top:calc(8px + env(safe-area-inset-top,0px));z-index:5;flex-wrap:nowrap;margin:16px 0 0;padding:8px;background:var(--poetry-paper);border:1px solid var(--poetry-line);border-radius:12px;box-shadow:0 4px 14px #0000000d}
.poetry-reader-actions button{min-height:44px}
.poetry-line{scroll-margin-top:90px}
@media(max-width:760px){.poetry-reader-actions{gap:6px;padding:7px;margin-top:12px}.poetry-reader-actions button{white-space:nowrap}}
