@charset "UTF-8";
:root{--bg:#000000;--panel:#0f141b;--gold:#d4b77c;--ink:#eee6d6;--muted:#8d9196;--line:#ffffff14;color-scheme:dark;font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,#stage:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button{background:none;border:0}header{height:99px;max-width:1460px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);letter-spacing:4px;font-size:16px}.brand small{display:block;font:8px Georgia,serif;letter-spacing:3px;margin-top:7px;color:var(--muted)}.seal{border:1px solid #b69a61;display:grid;place-items:center;width:38px;height:42px;font:27px "KaiTi","STKaiti",serif;color:var(--gold);border-radius:3px;transform:rotate(-5deg)}.edition{font:10px Georgia,serif;letter-spacing:3px;color:var(--muted);display:flex;gap:19px;align-items:center}.edition i{width:26px;height:1px;background:var(--gold)}.top-note{font-size:11px;color:#b6b1a7;letter-spacing:1px}main{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:40% 60%;min-height:690px;position:relative}.story{padding:63px 0 35px 9%;z-index:1}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold);display:flex;gap:12px;align-items:center}.eyebrow>span:first-child{width:6px;height:6px;display:inline-block;border:1px solid var(--gold);transform:rotate(45deg)}.subheading{font-family:"KaiTi","STKaiti",serif;color:#bbb19e;font-size:20px;margin:39px 0 4px;letter-spacing:7px}h1{font-family:"KaiTi","STKaiti","Songti SC",serif;font-weight:400;font-size:clamp(50px,5.4vw,82px);letter-spacing:1px;margin:0 0 23px;white-space:nowrap}.description{font-size:13px;line-height:2.2;color:#9e9c99;letter-spacing:2px;max-width:290px}.rule{width:50px;height:1px;background:#aa8e55;margin:29px 0}.technique-label{font-size:11px;color:var(--gold);letter-spacing:2px}h2{font-family:"KaiTi","STKaiti",serif;font-weight:400;letter-spacing:5px;font-size:32px;margin:12px 0}.craft{font-size:11px;line-height:2;color:#757d89;margin-top:19px}.actions{display:flex;gap:13px;margin-top:30px;align-items:center}.actions button{font-size:11px;padding:13px 19px;border:1px solid #ffffff20;transition:background .2s,color .2s}.actions .primary{background:var(--gold);color:#17150f;border-color:var(--gold)}.actions .primary[aria-pressed=true]{background:#8c7443;color:white}.actions button:hover{border-color:var(--gold)}.actions span{margin:0 8px}.collectible{display:flex;align-items:center;gap:12px;margin-top:27px;font-size:10px;color:#999489;letter-spacing:1px}.collectible>span{font-size:25px;color:var(--gold)}.collectible small{display:block;margin-top:6px;color:#616975;font:8px Georgia,serif;letter-spacing:1.8px}.display{position:relative;min-width:0;display:flex;align-items:center;justify-content:center;flex-direction:column;isolation:isolate;overflow:hidden}.display-label{position:absolute;right:21px;top:39px;font:8px Georgia,serif;letter-spacing:3px;color:#5f626a;writing-mode:vertical-rl}.orbit{display:none}#stage{width:100%;height:625px;position:relative;touch-action:none;cursor:grab}#stage:active{cursor:grabbing}#stage canvas{display:block;width:100%;height:100%}#loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--gold);font-size:13px;letter-spacing:3px;padding:30px;text-align:center;white-space:pre-wrap}.stage-hint{display:flex;align-items:center;gap:10px;position:absolute;bottom:30px;color:#7d828a;font-size:10px;letter-spacing:1px}.stage-hint>span{font-size:18px;color:var(--gold)}.stage-hint b{font-weight:normal;color:#40454d;margin:0 4px}.stage-hint button{margin-left:16px;font-size:10px;color:#b3a383}.view-label{position:absolute;top:17px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:3px;color:#606773}.controls{max-width:1210px;margin:0 auto 26px;display:flex;gap:30px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0}.control-heading{min-width:130px;font-size:13px;letter-spacing:2px}.control-heading small{display:block;font:8px Georgia,serif;color:#616975;letter-spacing:2px;margin-top:7px}.controls label{flex:1;min-width:90px;font-size:10px;color:#9198a2;letter-spacing:1px}.controls output{float:right;font:10px Georgia,serif;color:var(--gold)}input[type=range]{display:block;width:100%;margin:14px 0 0;height:2px;accent-color:var(--gold);cursor:pointer}.save{font-size:10px;min-width:94px;color:var(--gold);padding-left:20px;border-left:1px solid var(--line)}footer{max-width:1210px;margin:0 auto;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#555d67;padding-bottom:24px}footer span:nth-child(2){font:8px Georgia,serif;letter-spacing:2px}footer button{font-size:9px;color:#8e8c84}dialog{max-width:470px;border:1px solid #8f76434d;background:#10151d;padding:42px;color:var(--ink);line-height:1.9}dialog::backdrop{background:#000b;backdrop-filter:blur(7px)}dialog h2{font-size:26px;letter-spacing:1px}dialog p{font-size:12px;color:#a5a6a9}dialog .fine{font-size:10px;color:#737b86}.close{position:absolute;right:17px;top:9px;font-size:26px;color:var(--gold)}@media(min-width:1500px){main{min-height:760px}#stage{height:710px}.story{padding-top:86px}}@media(max-width:1100px){.controls,footer{margin-left:5%;margin-right:5%}.controls{gap:20px}main{grid-template-columns:39% 61%}h1{font-size:58px}.story{padding-left:13%;padding-top:65px}.controls .control-heading{min-width:95px}.display-label{right:7px}.actions button{padding:11px 13px}.actions span{margin:0 3px}}@media(max-width:760px){header{height:78px;padding:0 6%}.edition{display:none}.brand{font-size:13px}.brand small{font-size:7px}.top-note{font-size:10px}main{display:flex;flex-direction:column;min-height:auto}.story{padding:35px 7% 0}.subheading{margin:22px 0 4px;font-size:17px}h1{font-size:58px;margin-bottom:12px}.description{font-size:12px;line-height:1.8;margin:0}.story .rule,.story .technique-label,.story h2,.story .craft,.collectible{display:none}.actions{position:relative;margin-top:23px}.display{height:620px;margin-top:5px}#stage{height:570px}.stage-hint{bottom:14px}.view-label{top:8px}.display-label{top:47px;right:18px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:27px;padding:24px 0;margin-top:8px}.control-heading{grid-column:1/-1}.control-heading small{display:inline;margin-left:12px}.save{grid-column:1/-1;text-align:left;padding:10px 0;border-left:0;border-top:1px solid var(--line)}footer span:nth-child(2){display:none}footer{line-height:2}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* Unified flat white presentation */
:root{--bg:#fff;--panel:#fff;--gold:#8b6a23;--ink:#17191d;--muted:#737982;--line:#11111112;color-scheme:light}dialog{background:#fff;color:#17191d}dialog::backdrop{background:#ffffffee}.actions .primary{color:#fff}.display{background:#fff}

/* Cute flower-dream theme */
:root{--bg:#fff8f2;--panel:#fff0f3;--gold:#d05c7b;--ink:#603e4c;--muted:#8b6d78;--line:#d9809d2b;color-scheme:light;font-family:"Yuanti SC","Hannotate SC","PingFang SC",sans-serif}
body{min-height:100dvh;background:radial-gradient(circle at 8% 18%,#ffe4ee 0 7%,transparent 18%),radial-gradient(circle at 88% 10%,#fff0b8 0 6%,transparent 18%),linear-gradient(145deg,#fffaf4,#fff2f5 58%,#f1f8df);color:var(--ink)}
header{height:86px;border-bottom:1px dashed #df9caf55}.brand{color:#a64061;letter-spacing:2px;font-weight:600}.brand small{color:#a9828f;letter-spacing:2px}.seal{width:43px;height:43px;border:2px solid #e5a2b5;border-radius:50%;color:#cf5477;background:#fff9fb;transform:rotate(-7deg);font-family:"Yuanti SC","PingFang SC",sans-serif}.edition{color:#a9828f}.edition i{background:#e0a3b4}.top-note{color:#9f6076}
main{min-height:700px}.story{padding-top:70px}.eyebrow{color:#c65375}.eyebrow>span:first-child{border:0;width:auto;height:auto;transform:none}.eyebrow>span:first-child::before{content:"✿";font-size:16px}.subheading,h1,h2{font-family:"Hannotate SC","Yuanti SC","PingFang SC",sans-serif}.subheading{color:#b06a82;letter-spacing:4px}.story h1{color:#c9496d;font-weight:700;letter-spacing:4px;text-shadow:0 3px 0 #fff}.description{color:#7e6570}.rule{background:#dda0b1}.technique-label{color:#c65375}.story h2{color:#6f8b48;font-size:34px}.craft{color:#81717a}.actions button{border:1px solid #e7b8c5;background:#fff9fb;border-radius:999px;box-shadow:0 7px 18px #bd6f8920}.actions button:active{transform:translateY(1px)}.actions .primary{background:#d65d7e;color:#fff;border-color:#d65d7e}.actions .primary[aria-pressed=true]{background:#78975c;color:#fff}.collectible{color:#8d6875}.collectible>span{color:#d05c7b}.collectible small{color:#a38a93}
.display{margin:22px 0;border:1px solid #efc6d1;border-radius:34px;background:radial-gradient(circle at 18% 18%,#fff 0 2%,transparent 2.4%),radial-gradient(circle at 83% 14%,#fff4b5 0 5%,transparent 17%),linear-gradient(165deg,#fffaf8,#ffedf2 52%,#eef8d9);box-shadow:0 26px 70px #b65b7a24;overflow:hidden}.display::before{content:"✿   ❀   ✿";position:absolute;left:28px;bottom:22px;color:#d8819b;opacity:.38;letter-spacing:13px;font-size:20px}.display-label,.view-label{color:#9c7582}.stage-hint{color:#8f7480}.stage-hint>span,.stage-hint button{color:#c65375}.stage-hint b{color:#d8a9b7}
.controls{background:#fff9fbd9;border:1px solid #efc6d1;border-radius:28px;padding:24px 28px;box-shadow:0 16px 44px #bd6f8917}.control-heading{color:#a64061}.control-heading small{color:#aa8792}.controls label{color:#806973}.save{color:#c65375;border-left-color:#e8beca}footer{color:#947985}footer button{color:#b04e6d}
dialog{border:1px solid #e7afbf;border-radius:28px;background:#fff9fb;color:#603e4c;box-shadow:0 28px 80px #7d3d5533}dialog::backdrop{background:#8d5f7055;backdrop-filter:blur(8px)}dialog p{color:#79646d}dialog .fine{color:#9d7f8a}.close{color:#c65375}
@media(max-width:760px){.display{margin:12px 4%;border-radius:26px}.story{padding-top:34px}.story h1{font-size:56px}.controls{border-radius:24px;padding:24px 20px}.brand{gap:10px;letter-spacing:1px}.brand small{letter-spacing:1.4px}}
