:root{--page-bg: #e9e9e9;--panel: #fdfdfd;--line: #dadada;--line-ctl: #c6c6c6;--line-soft: #e1e1e1;--ink: #131313;--ink-2: #505050;--ink-3: #717171;--accent: #3b63fb;--accent-deep: #2444d8;--sel-bg: #eef1ff;--font-ui: "Source Sans 3", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--page-bg);color:var(--ink);font:15px/1.5 var(--font-ui);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-deep);text-decoration:underline}input,select,textarea,button{font-family:inherit}header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--line)}.hd-title{display:flex;align-items:baseline;gap:10px;min-width:0}@font-face{font-family:HanzitieTitle;src:url(/fonts/ukai-cn.woff2) format("woff2");font-display:swap}.hd-app{font-family:"HanzitieTitle","KaiTi","STKaiti",var(--font-ui);font-size:24px;font-weight:400;letter-spacing:.04em}.hd-sub{font-size:13px;font-weight:600;color:var(--ink-3)}.hd-badge{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;background:#f5f5f5;border:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}.hd-spacer{flex:1}.hd-lang{display:flex;align-items:center;gap:8px;flex:none}.hd-lang-label{font-size:12px;color:var(--ink-3);white-space:nowrap}.lang-toggle{display:flex;gap:2px;padding:2px;background:#f5f5f5;border:1px solid var(--line);border-radius:999px;flex:none}.lang-toggle button{border:0;cursor:pointer;height:26px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:600;background:transparent;color:var(--ink-2)}.lang-toggle button[aria-pressed=true]{background:var(--panel);color:var(--ink)}.body-row{flex:1;min-height:0;display:flex;align-items:stretch;flex-wrap:wrap}.side{width:380px;flex:1 1 340px;max-width:440px;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.side-scroll{flex:1;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:22px}.side-footer{border-top:1px solid var(--line);background:var(--panel);padding:12px 20px 16px;display:flex;flex-direction:column;gap:8px}.sec{display:flex;flex-direction:column;gap:8px}.sec.stack{gap:12px}.sec-label,.field-label{font-size:14px;font-weight:700;letter-spacing:.02em;color:var(--ink)}.label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.sample-sel{max-width:58%;font-size:12px;font-weight:600;color:var(--accent-deep);background:#fff;border:1px solid var(--line-ctl);border-radius:6px;padding:3px 6px;cursor:pointer}.sample-sel:hover{border-color:var(--accent)}.hint,.hint-row{font-size:12px;color:var(--ink-3)}.hint-row{display:flex;justify-content:space-between;gap:8px}.char-count{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink-2)}textarea,.ctl,input[type=text],input[type=number]{width:100%;color:var(--ink);background:#fff;border:1px solid var(--line-ctl);border-radius:8px;outline:none}textarea{resize:vertical;padding:10px 12px;font-size:18px;line-height:1.5}select.ctl{height:36px;padding:0 10px;font-size:15px}select.ctl-sm,input[type=text].ctl-sm,input[type=number]{height:32px;padding:0 10px;font-size:14px}input[type=number]{width:92px}textarea:focus,.ctl:focus,input:focus{border-color:var(--accent)}.grid-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.grid-card{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:7px;padding:7px 6px;background:#fff;border:1px solid var(--line);border-radius:8px;cursor:pointer}.grid-card:hover{border-color:#b9b9b9}.grid-card input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.grid-prev{flex:none;width:26px;height:26px;border:1px solid #e0827a;border-radius:2px;background-repeat:no-repeat;background-size:100% 1px,1px 100%,100% 100%,100% 100%;background-position:0 50%,50% 0,0 0,0 0}.prev-tian{background-image:repeating-linear-gradient(to right,#e8483a 0 5px,transparent 5px 10px),repeating-linear-gradient(to bottom,#e8483a 0 5px,transparent 5px 10px),linear-gradient(transparent,transparent),linear-gradient(transparent,transparent)}.prev-mi{background-image:repeating-linear-gradient(to right,#e8483a 0 5px,transparent 5px 10px),repeating-linear-gradient(to bottom,#e8483a 0 5px,transparent 5px 10px),linear-gradient(45deg,transparent calc(50% - .4px),rgba(232,72,58,.55) calc(50% - .4px),rgba(232,72,58,.55) calc(50% + .4px),transparent calc(50% + .4px)),linear-gradient(-45deg,transparent calc(50% - .4px),rgba(232,72,58,.55) calc(50% - .4px),rgba(232,72,58,.55) calc(50% + .4px),transparent calc(50% + .4px))}.prev-blank{background-image:linear-gradient(transparent,transparent),linear-gradient(transparent,transparent),linear-gradient(transparent,transparent),linear-gradient(transparent,transparent)}.grid-name{font-size:12px;font-weight:600;color:var(--ink-2);white-space:nowrap}.grid-card:has(input:checked){background:var(--sel-bg);border-color:var(--accent)}.grid-card:has(input:checked) .grid-name{color:var(--accent-deep)}.radio-cards{display:flex;flex-direction:column;gap:6px}.radio-card{position:relative;display:flex;align-items:flex-start;gap:10px;text-align:left;padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:13px;line-height:1.4;color:var(--ink);cursor:pointer}.radio-card:hover{border-color:#b9b9b9}.radio-card input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.radio-card .dot{flex:none;margin-top:1px;width:16px;height:16px;border-radius:999px;border:2px solid var(--line-ctl);background:#fff;box-shadow:inset 0 0 0 2px #fff}.radio-card:has(input:checked){background:var(--sel-bg);border-color:var(--accent)}.radio-card:has(input:checked) .dot{border-color:var(--accent);background:var(--accent)}.pv-canvas.player-live{padding:0}.pv-canvas.player-live #sheetHolder{width:100%!important;height:100%!important}.pv-canvas.player-live #preview{width:100%!important;height:100%!important;transform:none!important;border:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.mode-cards{display:flex;flex-direction:column;gap:6px}.mode-card{position:relative;display:flex;align-items:center;gap:10px;padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:8px;cursor:pointer;text-align:left}.mode-card:hover{border-color:#b9b9b9}.mode-card input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.mode-card .dot{flex:none;width:16px;height:16px;border-radius:999px;border:2px solid var(--line-ctl);background:#fff;box-shadow:inset 0 0 0 2px #fff}.mode-card:has(input:checked){background:var(--sel-bg);border-color:var(--accent)}.mode-card:has(input:checked) .dot{border-color:var(--accent);background:var(--accent)}.mode-card-text{display:flex;flex-direction:column;gap:1px;min-width:0}.mode-card-title{font-size:13px;line-height:1.35;color:var(--ink)}.mode-card-sub{font-size:11.5px;line-height:1.3;color:var(--ink-3)}.mode-card:has(input:checked) .mode-card-title{color:var(--accent-deep)}.show-all{align-self:flex-start;margin-top:8px;padding:0;background:none;border:0;font:inherit;font-size:12px;font-weight:700;color:var(--accent);cursor:pointer}.show-all:hover{text-decoration:underline}.char-count.full{color:#b4651c}.sec.adv{border-top:1px solid var(--line-soft);padding-top:16px}.sec.adv summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none}.sec.adv summary::-webkit-details-marker{display:none}.adv-toggle{font-size:12px;font-weight:700;color:var(--accent)}.adv-toggle:after{content:attr(data-expand)}#advanced[open] .adv-toggle:after{content:attr(data-collapse)}.adv-body{display:flex;flex-direction:column;gap:14px;padding-top:4px}.adv-field{display:flex;flex-direction:column;gap:4px}.adv-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}#download{cursor:pointer;height:40px;border:0;border-radius:999px;background:var(--accent);color:#fff;font-size:15px;font-weight:700}#download:hover{filter:brightness(1.06)}.foot-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:var(--ink-3)}.status{min-height:1.2em}.pv{flex:3 1 520px;min-width:0;display:flex;flex-direction:column;background:#e1e1e1;min-height:0}.pv-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 20px;border-bottom:1px solid var(--line);background:#eaeaea}.pv-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}.pv-meta,.pv-live{font-size:12px;color:var(--ink-3)}.pv-spacer{flex:1}.pv-btn{min-height:44px;padding:8px 14px;font-size:14px;font-weight:700;font-family:inherit;color:var(--ink);background:#f5f2ec;border:2px solid #d8d0c4;border-radius:10px;cursor:pointer}.pv-btn:hover{background:#efe9df}.pv-btn:focus,.pv-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.pv-canvas{position:relative;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:24px;display:flex;flex-direction:column;align-items:center}.sheet-holder{position:relative;flex:none;margin:0 auto}#preview{position:absolute;top:0;left:0;border:0;background:#fff;box-shadow:0 1px 4px #0000001f,0 8px 24px #00000014;transform-origin:0 0}.loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#e9e9e9bf;font-size:14px;color:#555;pointer-events:none;z-index:5}.loading.hidden{display:none}.spinner{width:34px;height:34px;border:3px solid #d5d5d5;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:901px){body{height:100vh;overflow:hidden}.body-row{flex-wrap:nowrap}.side,.pv{height:100%}}@media(max-width:900px){.side{max-width:none;border-right:0;border-bottom:1px solid var(--line)}.pv{min-height:80vh}}
