:root{color:#f3ecd9;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;--cream:#eee7d3;background:#103e38;font-family:Microsoft YaHei,PingFang SC,sans-serif}:lang(en) .interface{letter-spacing:normal}:lang(en) h1{letter-spacing:2px}:lang(en) .poem{writing-mode:horizontal-tb;max-width:150px;display:block;top:35%}:lang(en) .poem p{writing-mode:horizontal-tb;letter-spacing:1px;font-size:12px;line-height:1.7}:lang(en) .poem p:last-child{padding-top:10px}:lang(en) .view-panel button{letter-spacing:0}:lang(en) .release-button{letter-spacing:1px}:lang(en) #release-status{letter-spacing:0}#pond[data-selecting=true]{cursor:crosshair}#release-guide{z-index:3;pointer-events:none;letter-spacing:1px;white-space:nowrap;color:#ede4c8;background:#163e38c9;border:1px solid #c9d8bc66;border-radius:20px;padding:7px 12px;font-size:10px;position:fixed;transform:translate(-50%,-100%)}#release-guide[data-valid=false]{opacity:.65}.view-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;background:#123e3a66;border:1px solid #ddd9b32c;border-radius:18px;width:176px;padding:9px;position:absolute;top:112px;right:44px}.view-presets,.nature-controls{gap:5px;display:flex}.view-panel button{letter-spacing:2px;opacity:.6;background:0 0;border:0;border-radius:12px;flex:1;padding:9px;font-size:11px}.view-panel button[aria-pressed=true]{opacity:1;background:#e0dcc52a}.nature-controls{margin-top:4px}.nature-controls button{padding:7px;font-size:10px}.view-panel label{letter-spacing:1px;color:#ece7d3cc;padding:11px 5px 2px;font-size:10px;display:block}.view-panel output{float:right}.view-panel input{accent-color:#d8cda6;cursor:pointer;width:100%;margin:12px 0 4px;display:block}.view-panel input:focus-visible{outline-offset:4px;outline:2px solid #eee5c4}.immersed .view-panel input{pointer-events:none}body[data-view=shore] .poem{opacity:.35}@media (width<=600px){.view-panel{width:142px;padding:6px;top:112px;right:18px}.view-panel button{padding:7px}body[data-view=shore] .poem{display:none}.poem{top:35%}}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline-offset:5px;outline:2px solid #f3e8c4}button:disabled{opacity:.35;cursor:default}[hidden]{display:none!important}#pond{touch-action:none;position:fixed;inset:0}canvas{width:100%;height:100%;display:block}.masthead{pointer-events:none;background:linear-gradient(#092c3266,#0000);justify-content:space-between;align-items:center;padding:36px 44px;display:flex;position:absolute;top:0;left:0;right:0}.brand{align-items:center;gap:17px;display:flex}.seal{color:#eadbbe;border:1px solid #e4ddbf88;place-items:center;width:32px;height:39px;font-family:serif;font-size:21px;display:grid;transform:rotate(-3deg)}.eyebrow{letter-spacing:5px;color:#e4d9beb0;margin:0 0 8px;font-size:9px}h1{letter-spacing:9px;text-shadow:0 2px 16px #102d31;margin:0;font-family:STKaiti,KaiTi,Songti SC,serif;font-size:31px;font-weight:400}.top-actions{pointer-events:auto;align-items:center;gap:22px;display:flex}.preview-label{letter-spacing:3px;opacity:.65;font-size:10px}.icon-button{background:0 0;border:0;border-radius:50%;place-items:center;width:38px;height:38px;transition:background .2s;display:inline-grid}.icon-button:hover{background:#ffffff14}.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.poem{pointer-events:none;opacity:.7;gap:12px;display:flex;position:absolute;top:29%;right:49px}.poem p{writing-mode:vertical-rl;letter-spacing:8px;text-shadow:0 2px 8px #123632;margin:0;font-family:STKaiti,KaiTi,serif;font-size:17px}.poem p:last-child{padding-top:35px}footer{pointer-events:none;background:linear-gradient(#0000,#072b3266);flex-direction:column;align-items:center;padding:35px 36px 22px;display:flex;position:absolute;bottom:0;left:0;right:0}.pool-note{letter-spacing:2px;opacity:.8;align-items:center;gap:10px;margin-bottom:16px;font-size:10px;display:flex}.status-dot{background:#e1dcb5;border-radius:50%;width:4px;height:4px;box-shadow:0 0 10px #ffebae66}.note-divider{opacity:.4;margin:0 4px}.toolbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;background:#0c303758;border:1px solid #d3dfc126;border-radius:40px;align-items:center;gap:4px;padding:6px 12px;display:flex;box-shadow:0 8px 30px #021d2122}.time-controls{gap:3px;display:flex}.time-controls button{letter-spacing:2px;opacity:.65;background:0 0;border:0;border-radius:25px;padding:9px 16px;font-size:11px;transition:background .4s,opacity .4s}.time-controls button[aria-pressed=true]{opacity:1;background:#ddd9b31f}.time-controls button:hover{opacity:1}.toolbar-divider{background:#f1ebcb25;width:1px;height:18px;margin:0 7px}.touch-hint{letter-spacing:2px;opacity:.55;margin:14px 0 0;font-size:10px}.interface{transition:opacity .5s,transform .5s}.immersed .interface{opacity:0;pointer-events:none!important}.immersed .interface button{pointer-events:none!important}.immersed .masthead{transform:translateY(-15px)}.immersed footer{transform:translateY(15px)}#restore{opacity:.5;background:#163c3544;position:absolute;bottom:24px;right:24px}#restore:hover{opacity:1}#loading{z-index:5;letter-spacing:4px;background:#153f39;flex-direction:column;justify-content:center;align-items:center;transition:opacity .8s;display:flex;position:fixed;inset:0}#loading.ready{opacity:0;pointer-events:none}.loading-mark{color:#ddd2b0;margin-bottom:20px;font-family:serif;font-size:44px;animation:2.8s ease-in-out infinite breathe}#loading p{font-size:13px}#loading small{opacity:.5;letter-spacing:2px;font-size:10px}#error{text-align:center;z-index:6;background:#163b35;place-content:center;padding:30px;display:grid;position:fixed;inset:0}#error h1{letter-spacing:3px;font-size:23px}#error p{max-width:440px;font-size:13px;line-height:1.8}#retry{background:0 0;border:1px solid #ddd6b044;border-radius:30px;margin:12px auto;padding:10px 20px}#sound[aria-pressed=true] .muted-line{display:none}@keyframes breathe{50%{opacity:.4;transform:translateY(-3px)}}@media (width<=600px){.masthead{padding:26px 23px}.brand{gap:12px}h1{letter-spacing:6px;font-size:26px}.seal{width:26px;height:33px;font-size:18px}.eyebrow{letter-spacing:3px;font-size:8px}.preview-label{display:none}.poem{gap:8px;top:23%;right:24px}.poem p{letter-spacing:7px;font-size:14px}footer{padding:24px 12px max(20px,env(safe-area-inset-bottom))}.toolbar{gap:0;padding:5px 8px}.time-controls button{letter-spacing:1px;padding:9px 11px;font-size:10px}.toolbar-divider{margin:0 5px}.icon-button{width:33px;height:33px}.icon-button svg{width:17px}.touch-hint,.pool-note{letter-spacing:1px;font-size:9px}.touch-hint span{display:none}}@media (prefers-reduced-motion:reduce){.interface,#loading{transition:none}.loading-mark{animation:none}}.release-action{pointer-events:auto;flex-direction:column;align-items:center;gap:9px;margin-bottom:15px;display:flex}.release-button{color:#21473d;letter-spacing:3px;background:#d9cb9fdd;border:1px solid #e9deba75;border-radius:30px;justify-content:center;align-items:center;gap:11px;min-height:44px;padding:11px 24px;font-size:12px;transition:background .25s,box-shadow .25s;display:flex;box-shadow:0 4px 24px #042d3333}.release-button:hover:enabled{background:#efe2b7;box-shadow:0 5px 28px #092d3344}.release-button:disabled{opacity:.75}.release-button svg{fill:none;stroke:currentColor;stroke-width:1.15px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}#release-status{letter-spacing:2px;text-align:center;color:#e8e1c7cc;text-shadow:0 1px 8px #082d33;max-width:calc(100vw - 40px);min-height:15px;margin:0;font-size:10px;line-height:1.5}.release-action.releasing .release-button svg{animation:1.5s ease-in-out infinite release-swim}@keyframes release-swim{50%{transform:translate(3px)rotate(-8deg)}}@media (width<=600px){.release-action{gap:7px;margin-bottom:12px}.release-button{padding:10px 21px;font-size:11px}.release-button svg{width:19px;height:19px}#release-status{letter-spacing:1px;font-size:9px}}@media (prefers-reduced-motion:reduce){.release-action.releasing .release-button svg{animation:none}.release-button{transition:none}}
