:root{font-family:PingFang SC,Helvetica Neue,sans-serif;color:#dce6e5;background:#030a10;font-synthesis:none;--muted:#65838e;--pink:#d5a0b8;--line:#8bafb41f}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;cursor:pointer;border:0;background:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #d5a0b8;outline-offset:5px}header{height:82px;margin:0 42px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:13px;align-items:center;font-size:8px;line-height:1.9;letter-spacing:2.7px}.brand svg{stroke:#d3a5bd;stroke-width:.8;width:26px;height:37px}.series{font-size:9px;letter-spacing:2px;color:#718b95}.series b{font-weight:400;margin:0 15px;color:#355964}.version-link{font-size:10px;letter-spacing:1px;border:1px solid #78a3ae2b;padding:11px 15px;color:#8ea3a9}main{display:grid;grid-template-columns:305px minmax(0,1fr);margin:0 42px;min-height:790px;height:calc(100svh - 140px)}aside{padding:39px 25px 25px 2px;align-self:center}.eyebrow{display:flex;align-items:center;gap:7px;font-size:8px;letter-spacing:2.3px;color:#9db2b5}.eyebrow i,.art-top i{display:inline-block;width:4px;height:4px;background:#85c7c3;border-radius:50%;box-shadow:0 0 10px #71bfbd55}h1{font-family:Songti SC,"Noto Serif SC",serif;font-weight:400;font-size:48px;letter-spacing:2px;margin:26px 0 0;white-space:nowrap}h1 span{color:#c98aa9;font-size:38px}.latin{font:italic 16px Georgia,serif;color:#bca0b7;letter-spacing:.3px;margin:12px 0 0}.short-line{width:30px;height:1px;background:#96aab535;margin:29px 0}.poem{font-family:Songti SC,serif;font-size:15px;line-height:2;letter-spacing:1.4px;color:#c2d6d4;margin:0}.description{font-size:10px;line-height:2;letter-spacing:.6px;color:#658995;margin:17px 0 28px}.presets{display:flex;border:1px solid #a6bec726;border-radius:3px;padding:3px;gap:3px}.presets button{width:50%;text-align:left;font-size:11px;padding:11px 13px;letter-spacing:1px;color:#5f8190;border-radius:2px}.presets small{display:block;font-size:8px;letter-spacing:.3px;margin-top:5px;color:#4d7782}.presets button.selected{color:#e6c5d5;background:#928aa915}.presets button.selected small{color:#b095ac}.controls{margin-top:25px}.controls>label{display:flex;justify-content:space-between;font-size:10px;color:#8aa5ad;letter-spacing:.6px}.controls output{font-size:9px;letter-spacing:0;color:#8ba5b2}input[type=range]{width:100%;height:16px;margin:9px 0 18px;accent-color:#bd99b0;cursor:pointer;-webkit-appearance:none;background:transparent}input[type=range]::-webkit-slider-runnable-track{height:2px;background:#264c5a}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:8px;height:8px;border-radius:50%;background:#c1a1bb;margin-top:-3px;box-shadow:0 0 9px #c18fb03b}.switches{display:flex;gap:27px;margin-top:0;font-size:10px;color:#86a2ab}.switches label{display:flex;align-items:center;gap:8px;cursor:pointer}.switches input{margin:0;accent-color:#aabcb7;width:12px;height:12px}.actions{display:flex;gap:10px;margin-top:26px}.actions button{min-height:39px;border:1px solid #b1baca29;padding:10px 16px;font-size:10px;letter-spacing:.5px;border-radius:3px}.actions .primary{flex:1;color:#d9b9cd;background:#b88aa812;border-color:#cc9bbb3d}.primary span{margin-right:8px;font-size:14px}#pause{color:#829da6}.actions button:hover,.art-bottom button:hover{background:#9acac218}.material-note{font-size:9px;color:#527783;line-height:1.9;letter-spacing:.3px;margin:17px 0 0}.count{margin-top:25px;display:flex;align-items:baseline;gap:12px}.count strong{font:300 23px Georgia,serif;letter-spacing:1px;color:#b5cdcf}.count span{font-size:8px;letter-spacing:1px;color:#638590}.art{position:relative;overflow:hidden;border-left:1px solid #b2d7da09;margin-left:20px}#canvas-host{position:absolute;inset:35px 0 39px}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}canvas:active{cursor:grabbing}.art-top,.art-bottom{position:absolute;left:22px;right:0;z-index:3;display:flex;justify-content:space-between;align-items:center;font-size:7px;letter-spacing:1.6px;color:#618996}.art-top{top:21px}.art-top>span:first-child{display:flex;align-items:center;gap:7px}#live-status{font-size:8px;letter-spacing:.7px;color:#7792a1}.art-bottom{bottom:15px;font-size:8px;letter-spacing:.4px}.art-bottom b{font-weight:400;margin:0 9px;color:#466a78}.art-bottom>div{display:flex;gap:9px}.art-bottom button{border:1px solid #8eabb524;padding:7px 10px;font-size:9px;color:#86a1ad;border-radius:2px}#loading{position:absolute;inset:36px 0 40px;z-index:4;background:#030a10;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .6s;pointer-events:none}#loading.done{opacity:0}.loading-flower{font-size:32px;font-weight:200;color:#ba92b1;animation:spin 6s linear infinite}#loading p{font-family:Songti SC,serif;font-size:13px;letter-spacing:2px;color:#83a8b5;margin-top:24px}@keyframes spin{to{transform:rotate(360deg)}}footer{margin:0 42px;height:58px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:7px;letter-spacing:1.6px;color:#426976}footer p{font-size:10px;letter-spacing:4px;color:#829c9d}footer b{font-weight:400;margin:0 9px;color:#476c77}footer>span:last-child{font-size:8px;letter-spacing:1px}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,10px);opacity:0;padding:11px 18px;background:#112830f2;border:1px solid #9db8c03d;border-radius:3px;font-size:11px;color:#c4d7dc;transition:.2s;pointer-events:none;z-index:9;white-space:nowrap}#toast.visible{opacity:1;transform:translate(-50%)}@media(max-width:1050px){header,footer{margin:0 25px}main{margin:0 25px;grid-template-columns:265px minmax(0,1fr)}aside{padding-right:17px}h1{font-size:42px}.poem{font-size:13px;letter-spacing:.8px}.art{margin-left:10px}.series{display:none}.art-top,.art-bottom{left:12px}.art-bottom>span{font-size:7px}.art-bottom b{margin:0 4px}.art-bottom>div{gap:5px}.art-bottom button{padding:7px;font-size:8px}}@media(max-width:700px){header{height:68px;margin:0 22px}.version-link{font-size:9px;padding:9px 11px}main{margin:0;display:flex;flex-direction:column;height:auto;min-height:0}aside{padding:24px 24px 0;display:grid;width:100%;grid-template-columns:1fr 1fr;column-gap:20px}.eyebrow{grid-column:1/-1;font-size:7px;margin:0 0 7px}h1{font-size:34px;margin:9px 0 0;letter-spacing:1px}.latin{grid-column:1;grid-row:3;font-size:11px;margin:7px 0}.poem{grid-column:2;grid-row:2/4;font-size:10px;letter-spacing:.3px;line-height:2;align-self:center}.short-line,.description,.material-note,.count{display:none}.presets{grid-column:1;margin-top:16px}.presets button{font-size:10px;padding:8px}.presets small{font-size:7px;margin-top:3px}.actions{grid-column:2;grid-row:4;margin-top:16px;gap:6px}.actions button{padding:9px 7px;font-size:9px;letter-spacing:0;min-height:50px}.primary span{display:block;margin:0;font-size:13px}.controls{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:24px;margin-top:17px}.controls>label{font-size:9px}.controls>label[for=glow]{grid-column:2;grid-row:1}.controls>input{grid-row:2;margin:6px 0 10px}.switches{grid-column:1/-1;font-size:9px;gap:24px;margin-bottom:8px}.art{margin:0 20px;height:630px;border:0;flex:none}#canvas-host{inset:35px 0 47px}.art-top,.art-bottom{left:0}.art-top{font-size:6px;letter-spacing:1px;top:16px}#live-status{font-size:7px}.art-bottom{bottom:13px;flex-wrap:wrap;gap:8px}.art-bottom>span{font-size:7px}.art-bottom button{padding:7px 8px}footer{margin:0 22px;height:55px}footer>span:last-child{display:none}footer p{font-size:9px;letter-spacing:2px}}@media(prefers-reduced-motion:reduce){.loading-flower{animation:none}*{transition:none!important}}
