:root{--bg: #e4e7ec;--bg-deep: #d8dde6;--ink: #16181d;--muted: #5a6270;--faint: #8b93a0;--line: #d8dee6;--line-strong: #b7c0cc;--surface: #f6f7f8;--surface-2: #fffcf8;--accent: #1a6278;--accent-deep: #12485a;--accent-soft: #e7f2f6;--danger: #9b3b2e;--danger-soft: #f8ebe7;--ok: #12485a;--desk: #c5ced8;--paper: #fbfaf7;--shadow-float: 0 16px 40px rgba(22, 24, 29, .08);--shadow-paper: 0 22px 48px rgba(22, 24, 29, .14), 0 1px 0 rgba(255, 255, 255, .85) inset;--sans: "IBM Plex Sans", "PingFang SC", "Microsoft YaHei", sans-serif;--mono: "IBM Plex Mono", Consolas, "Cascadia Mono", monospace;--radius: 8px;--radius-sm: 6px;--ease: cubic-bezier(.22, 1, .36, 1);--title-h: 64px;--status-h: 40px;--ctrl-h: 38px}*{box-sizing:border-box}html,body{margin:0;height:100%;min-height:100%;min-height:100dvh}body{color:var(--ink);font-family:var(--sans);font-size:13.5px;letter-spacing:.01em;background:var(--bg);overflow:hidden;-webkit-font-smoothing:antialiased}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.desk-wash{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(ellipse 70% 50% at 12% 0%,rgba(31,107,138,.09),transparent 55%),radial-gradient(ellipse 55% 45% at 100% 100%,rgba(20,24,31,.06),transparent 50%),linear-gradient(165deg,#eef1f5 0%,var(--bg) 42%,var(--bg-deep) 100%);animation:wash 32s var(--ease) infinite alternate}.grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes wash{0%{transform:translate(0) scale(1)}to{transform:translate(-1.5%,1%) scale(1.03)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes paper-in{0%{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}.app{position:relative;z-index:1;height:100%;height:100dvh;width:100%;display:grid;grid-template-rows:auto auto 1fr auto;gap:0;padding:0;overflow:hidden}.enter{animation:rise .7s var(--ease) both}.titlebar.enter{animation-delay:.02s}.toolbar.enter{animation-delay:.08s}.workspace.enter{animation-delay:.14s}.statusbar.enter{animation-delay:.2s}.titlebar{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;min-height:var(--title-h);padding:12px 18px 12px 16px;border-bottom:1px solid rgba(22,24,29,.08);border-left:2px solid var(--accent);background:#fbfaf7e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:50}.brand-lock{display:flex;align-items:center;gap:12px;flex:0 1 auto;min-width:0;margin:0;padding:4px 8px 4px 4px;border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background .15s ease}.brand-lock:hover{background:#14181f0d}.brand-lock:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mark{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--radius-sm);background:var(--ink);color:#f2f5f8;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.02em;flex:0 0 auto}html.demo-capture .enter,html.demo-capture .desk-wash,html.demo-capture .preview-sheet{animation:none!important}.brand-text{display:flex;flex-direction:column;gap:2px;min-width:0}.brand-text h1{margin:0;font-size:26px;font-weight:600;letter-spacing:-.03em;line-height:1}.product{margin:0;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;color:var(--faint);text-transform:uppercase}.brand-promo{margin:2px 0 0;font-size:12px;font-weight:600;color:var(--accent-deep);letter-spacing:.01em;max-width:28em}.titlebar-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}.btn{font:inherit;font-weight:500;font-size:14px;border:1px solid transparent;border-radius:var(--radius-sm);height:var(--ctrl-h);padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;line-height:1;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease)}.btn:hover{filter:brightness(.98)}.btn:active{transform:translateY(.5px)}.btn.primary{background:var(--ink);border-color:var(--ink);color:#f7f4ee;letter-spacing:.02em}.btn.primary:hover{background:#2a2e36;filter:none}.btn.soft{background:var(--accent-soft);border-color:#b7d4e3;color:var(--accent-deep)}.btn.ghost{background:var(--surface-2);border-color:var(--line);color:var(--ink)}.btn.ghost:hover{border-color:var(--line-strong);background:#fff}.toolbar{position:relative;z-index:30;display:flex;flex-direction:column;gap:12px;padding:14px 18px 16px;border-bottom:1px solid rgba(22,24,29,.08);background:#fffcf8b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toolbar-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;align-items:stretch;width:100%}.field{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:3px;min-height:56px;min-width:0;padding:7px 12px;border:1px solid rgba(22,24,29,.08);border-radius:var(--radius-sm);background:#fff;box-shadow:0 1px #fffc inset;color:var(--muted);font-size:12px;font-weight:500;box-sizing:border-box}.field>span:first-child{font-size:11px;line-height:1.2;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field select{font:inherit;font-size:13.5px;font-weight:500;color:var(--ink);width:100%;min-width:0;height:26px;padding:0;margin:0;border:0;border-radius:4px;background:transparent;outline:none;cursor:pointer}.field-inline{flex-direction:row;align-items:center;gap:8px;min-height:var(--ctrl-h);padding:0 10px}.field-inline>span:first-child{flex:0 0 auto;white-space:nowrap}.field-inline select{width:auto;min-width:96px;max-width:140px}.check{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);font-size:13.5px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}.check input{width:15px;height:15px;margin:0;accent-color:var(--accent)}.check>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.caption-row{flex:1 1 100%;width:100%;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding-top:8px;border-top:1px dashed var(--line);margin-top:2px}.caption-row[hidden]{display:none}.caption-toolbar{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;width:100%}.caption-toolbar .check{min-height:52px}.caption-row-btns{display:flex;gap:6px;align-items:center;justify-content:flex-end;min-height:52px}.caption-btn{height:var(--ctrl-h);padding:0 12px;font-size:13px}.caption-btn:disabled{opacity:.4;pointer-events:none}.caption-lines{display:flex;flex-direction:column;gap:6px;width:100%}.caption-field{display:flex;align-items:center;gap:10px;min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:500}.caption-field>span{flex:0 0 auto;font-size:11px;color:var(--faint);white-space:nowrap}.caption-field input{flex:1 1 auto;min-width:0;height:26px;margin:0;padding:0 2px;border:0;outline:none;background:transparent;font:inherit;font-size:13px;font-weight:500;color:var(--ink)}.caption-field input::placeholder{color:var(--faint);font-weight:400}.preview-sheet .listing-caption{width:100%}.preview-sheet .listing-caption-row.is-placeholder{font-style:italic}.frame-picker{position:relative;z-index:40}.frame-trigger{height:26px;width:100%;padding:0;border:0;border-radius:4px;background:transparent;color:var(--ink);font:inherit;font-size:13.5px;font-weight:500;display:inline-flex;align-items:center;gap:6px;cursor:pointer;justify-content:flex-start}.frame-trigger:hover{background:transparent}.frame-trigger .chev{font-size:11px;opacity:.65;margin-left:auto}.frame-trigger #frameLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.frame-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:80;min-width:210px;padding:6px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-float);display:grid;gap:2px}.frame-panel[hidden]{display:none}.frame-option{height:auto;min-height:40px;padding:7px 9px;border:0;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:flex-start;gap:10px;background:transparent;color:var(--ink);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer}.frame-option:hover,.frame-option.is-active{background:var(--accent-soft);color:var(--accent-deep)}.frame-thumb,.frame-trigger-thumb{position:relative;flex:0 0 auto;width:48px;height:28px;border-radius:3px;background:repeating-linear-gradient(to bottom,transparent 0 4px,rgba(20,24,31,.12) 4px 6px,transparent 6px 10px),#eef1f5;box-sizing:border-box}.frame-trigger-thumb{width:32px;height:20px}.frame-thumb[data-frame=bar],.frame-trigger-thumb[data-frame=bar]{border-left:3px solid var(--accent)}.frame-thumb[data-frame=rails],.frame-trigger-thumb[data-frame=rails]{border-left:3px solid var(--accent);border-right:3px solid var(--accent)}.frame-thumb[data-frame=box],.frame-trigger-thumb[data-frame=box]{border:2px solid var(--accent)}.meta{font-family:var(--mono);font-size:11px;color:var(--faint);white-space:nowrap}.workspace{position:relative;z-index:1;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:0;min-height:0;border-bottom:1px solid var(--line)}.panel{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;background:var(--surface);border-right:1px solid var(--line)}.preview-panel{border-right:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line);background:#ffffff8c}.panel-head strong{color:var(--ink);font-size:12px;font-weight:600}textarea{flex:1 1 auto;width:100%;min-height:0;height:100%;padding:18px 22px 22px;border:0;resize:none;outline:none;background:#fbfaf7;font-family:var(--mono);font-size:13px;line-height:1.65;-moz-tab-size:4;tab-size:4;color:var(--ink)}textarea:focus{background:#fff}.preview-stage{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(255,252,248,.45),transparent 60%),linear-gradient(180deg,#d7dde6,#c5ced8);position:relative}.preview-stage:before{content:"DOC";position:absolute;top:12px;left:14px;z-index:1;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.18em;color:#14181f52}.preview-wrap{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:clamp(24px,3.5vh,40px) clamp(12px,2vw,28px) clamp(18px,2.5vh,32px);display:flex;justify-content:center;align-items:flex-start}.preview-wrap[data-mode=dark]{background:linear-gradient(165deg,#2a313a,#1e242c 55%,#171c22)}.preview-stage:has(.preview-wrap[data-mode=dark]):before{color:#ffffff47}.preview-sheet{width:min(100%,680px);min-width:min(100%,280px);max-width:100%;flex:0 0 auto;align-self:flex-start;margin:18px auto 28px;padding:0;background:var(--paper);box-shadow:var(--shadow-paper);border-radius:2px;animation:paper-in 1.05s var(--ease) both;text-align:left;overflow:visible}.preview-sheet .preview-page{min-height:120px}.preview-sheet .listing-inside{width:100%;max-width:100%;box-sizing:border-box;display:block}.preview-wrap[data-mode=dark] .preview-sheet{background:#1e1e1e;box-shadow:0 12px 32px #0000006b}.preview-sheet .listing-block{text-align:left;box-shadow:none;box-sizing:border-box}.preview-sheet .listing-code{display:block;white-space:normal;overflow-x:auto;max-width:100%}.preview-sheet .listing-line{display:block;white-space:pre;margin:0;padding:0;text-align:left}.preview-sheet pre{white-space:pre!important;margin:0;text-align:left;overflow-x:auto;max-width:100%}.preview-empty{width:min(100%,380px);margin:56px auto;padding:28px 24px;text-align:center;color:#14181f6b;font-size:13px;line-height:1.5;background:#ffffff80;border:1px dashed rgba(20,24,31,.16);border-radius:var(--radius-sm)}.preview-wrap[data-mode=dark] .preview-empty{color:#ffffff6b;background:#ffffff0a;border-color:#ffffff1f}.statusbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;min-height:var(--status-h);padding:6px 14px;background:#eef1f5;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted)}.status{margin:0;min-height:1.1em;flex:0 1 auto;font-size:12px;color:var(--muted)}.status.ok{color:var(--ok);font-weight:500}.status.err{color:var(--danger);font-weight:500}.foot-links{margin-left:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.foot-link{margin:0;padding:0;border:0;background:none;font:inherit;font-size:11.5px;font-weight:500;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.foot-link:hover{color:var(--accent-deep)}.foot-github{margin:0;padding:2px 4px;border:0;background:none;font:inherit;display:inline-flex;align-items:baseline;gap:5px;cursor:pointer;color:var(--muted)}.foot-github-label{font-size:11.5px;font-weight:500;text-decoration:underline;text-underline-offset:2px}.foot-star{display:inline-block;font-size:11px;color:#c4a35a;transform-origin:center;animation:star-nudge 3.6s var(--ease) infinite}.foot-star-hint{font-size:10.5px;font-weight:500;color:var(--faint);letter-spacing:.01em;opacity:.72;animation:star-hint 3.6s var(--ease) infinite}.foot-github:hover,.foot-github:hover .foot-github-label{color:var(--accent-deep)}.foot-github:hover .foot-star{animation:none;transform:scale(1.12)}.foot-github:hover .foot-star-hint{opacity:1;color:var(--accent-deep)}@keyframes star-nudge{0%,70%,to{transform:scale(1) rotate(0);opacity:.78}78%{transform:scale(1.18) rotate(-8deg);opacity:1}86%{transform:scale(1.05) rotate(6deg);opacity:1}}@keyframes star-hint{0%,70%,to{opacity:.55}80%{opacity:.95}}@media(min-width:1400px){.titlebar,.toolbar,.statusbar{padding-inline:22px}.workspace{grid-template-columns:minmax(360px,.85fr) minmax(420px,1.15fr)}}@media(max-width:1100px){.toolbar-row{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media(max-width:900px){body{overflow:auto}.app{height:auto;min-height:100dvh;overflow:visible;grid-template-rows:auto auto auto auto}.workspace{grid-template-columns:1fr;min-height:min(70vh,720px)}.panel{border-right:0;border-bottom:1px solid var(--line);min-height:280px}textarea,.preview-stage,.preview-wrap{min-height:260px}}@media(max-width:640px){.titlebar{padding:10px 12px}.toolbar{padding:8px 10px}.titlebar-actions{width:100%;justify-content:flex-start}.field select{max-width:130px}}@media(prefers-reduced-motion:reduce){.desk-wash,.enter,.preview-sheet,.foot-star,.foot-star-hint{animation:none!important}.btn{transition:none}}.toolbar-row[hidden],.ai-row[hidden]{display:none!important}.mode-switch{display:flex;align-items:center;gap:2px;min-height:52px;padding:5px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);box-sizing:border-box}.mode-btn{flex:1 1 0;min-width:0;height:40px;padding:0 8px;border:0;border-radius:calc(var(--radius-sm) - 3px);background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease;white-space:nowrap}.mode-btn:hover{color:var(--ink);background:#00000009}.mode-btn.is-active{background:var(--ink);color:#f7f4ee}.detect-chip{display:inline-flex;align-items:center;align-self:center;padding:5px 10px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:600;white-space:nowrap}.detect-chip[data-kind=code]{border-color:var(--accent);color:var(--accent)}.detect-chip[data-kind=mixed]{border-color:#b8860b;color:#9a6b00}.ai-row{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;width:100%;padding-top:8px;border-top:1px dashed var(--line)}.ai-row .field{flex:1 1 180px}.ai-row .field input{font:inherit;font-size:13px;font-weight:500;color:var(--ink);width:100%;min-width:0;height:26px;padding:0 6px;margin:0;border:1px solid var(--line);border-radius:4px;background:var(--surface);outline:none;box-sizing:border-box}.ai-row .field input:focus{border-color:var(--accent)}.ai-row .btn{align-self:center}.preview-sheet.preview-paper{display:flex;flex-direction:column;gap:4px}.preview-paper .paper-doc{width:100%}.preview-paper .paper-p{overflow-wrap:anywhere}.preview-paper .paper-codecaption{letter-spacing:.04em}.mode-row{display:flex;gap:8px;align-items:center}.mode-row .mode-switch{flex:0 1 300px}.translate-row{flex:1 1 100%;width:100%;display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px dashed var(--line)}.translate-row[hidden]{display:none}.translate-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}.translate-toolbar .field{flex:1 1 130px}.translate-toolbar .check{flex:0 0 auto}.translate-btns{display:flex;gap:8px;align-items:center}.translate-btns .btn{min-height:44px}
