:root{--ink: #232a31;--muted: #687480;--line: #d8dee7;--paper: #ffffff;--surface: #f6f8fb;--accent: #1f4f7a;--accent-soft: #3a6d9c;--success: #2f6f5e;--warning: #8a5d18;--danger: #a63f45;--serif: "SimSun", "宋体", "Songti SC", "STSong", "Noto Serif CJK SC", serif;--pad-x: 56px;--frame-inset: 16px;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;color:var(--ink);background:linear-gradient(180deg,#f7f9fb,#eef2f5);letter-spacing:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}input,textarea,select{width:100%;border:1px solid #cfd8e3;border-radius:6px;color:var(--ink);background:#fff;font-size:14px;line-height:1.55}input,select{height:40px;padding:0 10px}textarea{min-height:96px;padding:10px;resize:vertical}button{min-height:40px;padding:9px 12px;border:1px solid var(--accent);border-radius:4px;color:#fff;background:var(--accent);font-size:14px;line-height:1.2;font-weight:700;cursor:pointer}button:hover{color:#fff;background:var(--accent-soft)}button:disabled{cursor:not-allowed;opacity:.62}button.secondary,button.ghost{color:var(--accent);background:#fff;box-shadow:none}button.secondary:hover,button.ghost:hover{color:#fff;background:var(--accent-soft)}.primary{color:#fff;background:var(--accent)}.full{width:100%}.icon-text{display:inline-flex;gap:7px;align-items:center;justify-content:center;white-space:nowrap}.icon-only{display:inline-grid;width:40px;min-width:40px;padding:0;place-items:center}.shell{min-height:100vh}.topbar{position:sticky;z-index:10;top:0;display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:0 28px;border-bottom:1px solid rgba(31,79,122,.12);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand,.topnav,.topnav a{display:inline-flex;gap:8px;align-items:center}.brand{color:var(--accent);font-weight:800}.topnav{gap:10px}.topnav a,.topnav button{min-height:36px;padding:7px 10px;border-radius:4px;font-size:14px}.topnav a.router-link-active{color:var(--accent);background:#1f4f7a14}.login-page{display:grid;min-height:100vh;padding:24px;place-items:center}.login-panel,.panel{border:1px solid rgba(31,79,122,.14);border-radius:8px;background:#fffffff0;box-shadow:0 14px 36px #1f29331a}.login-panel{display:grid;gap:16px;width:min(420px,100%);padding:28px}.login-mark{display:grid;width:48px;height:48px;border-radius:8px;color:#fff;background:var(--accent);place-items:center}.login-panel h1,.page-head h1,.panel h2,.draft-panel h2{margin:0;color:var(--accent);line-height:1.35}.login-panel p,.page-head p,.tool-card p{margin:0;color:#5e6a76;font-size:14px;line-height:1.6}label,.field{display:grid;gap:7px}label span,label,.field label{color:var(--ink);font-size:14px;font-weight:700}.workspace{width:min(1180px,calc(100vw - 32px));margin:28px auto}.page-head{margin-bottom:18px}.page-head.row,.panel-title{display:flex;gap:14px;align-items:center;justify-content:space-between}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.tool-card{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;padding:18px;border:1px solid rgba(31,79,122,.14);border-radius:8px;background:#fff;box-shadow:0 10px 24px #1f293314}.tool-card svg{color:var(--success)}.tool-card h2{margin:0 0 4px;font-size:17px}.owner-links{margin-top:18px;border:1px solid rgba(31,79,122,.14);border-radius:8px;background:#fff;box-shadow:0 10px 24px #1f293314}.owner-open-toggle{display:inline-flex;gap:6px;align-items:center;flex-shrink:0;margin:0;padding:7px 10px;border:1px solid rgba(31,79,122,.16);border-radius:6px;background:var(--surface);color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.owner-open-toggle input{width:15px;height:15px;margin:0;accent-color:var(--accent);cursor:pointer}.owner-page-badge{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;vertical-align:middle;background:#1f7a4c1f;color:#1f7a4c}.owner-page-badge[data-open=false]{background:#8c3c3c1f;color:#8c3c3c}.owner-links .panel-title{margin-bottom:14px;align-items:flex-start}.owner-links .panel-title h2{margin:0 0 4px;font-size:17px}.owner-links .panel-title p{margin:0;color:#5e6a76;font-size:14px;line-height:1.6}.owner-link-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.owner-link-item{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:14px;border:1px solid rgba(31,79,122,.1);border-radius:8px;background:var(--surface)}.owner-link-meta{min-width:0;display:grid;gap:4px}.owner-link-meta strong{color:var(--accent);font-size:15px}.owner-link-meta p{margin:0;color:#5e6a76;font-size:13px;line-height:1.5}.owner-link-url{display:inline-flex;gap:6px;align-items:center;max-width:100%;color:var(--accent-soft);font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;word-break:break-all}.owner-link-url:hover{color:var(--accent);text-decoration:underline}.owner-link-actions{display:flex;flex-shrink:0;gap:8px;align-items:center}.owner-link-actions a.button,.owner-link-actions button{display:inline-flex;gap:6px;align-items:center;justify-content:center;min-height:34px;padding:6px 10px;font-size:13px;font-weight:600}a.button.secondary{border:1px solid var(--accent);border-radius:4px;color:var(--accent);background:#fff}a.button.secondary:hover{color:#fff;background:var(--accent-soft)}@media(max-width:720px){.owner-link-item{flex-direction:column;align-items:stretch}.owner-link-actions{justify-content:stretch}.owner-link-actions a.button,.owner-link-actions button{flex:1}}.admin-layout{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:18px;align-items:start}.panel{padding:18px}.panel.compact{display:grid;gap:13px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);font-size:12px}.notice,.alert{margin-top:10px;padding:9px 10px;border-radius:6px;font-size:13px;line-height:1.45}.notice{border:1px solid rgba(47,111,94,.28);color:var(--success);background:#2f6f5e14}.alert{border:1px solid rgba(166,63,69,.28);color:var(--danger);background:#a63f4514}.generator-app{--owner-green-950: #10251b;--owner-green-900: #173322;--owner-green-800: #214631;--owner-gold-500: #d8b36a;--owner-gold-300: #f0dca5;--owner-cream-50: #fbf7ea;--owner-ink: #1d241e;--owner-muted: #6f735f;--owner-danger: #a33a2f;--letter-accent: #173322;--letter-gold: #d8b36a;width:min(1580px,calc(100vw - 32px));margin:18px auto 28px;color:var(--ink)}.generator-workspace{display:grid;grid-template-columns:minmax(360px,460px) minmax(0,1fr);gap:16px;align-items:stretch;height:calc(100dvh - 94px);min-height:560px}.editor{display:grid;gap:14px;align-content:start;min-height:0;padding:16px;overflow:auto;border:1px solid rgba(216,179,106,.42);border-radius:8px;background:#fbf7eaf5;box-shadow:0 18px 48px #08130d57;scrollbar-width:none}.editor::-webkit-scrollbar{display:none}.editor-head h1{margin:0;color:var(--owner-green-900);font-size:22px;font-weight:800;line-height:1.35}.prompt-copy-bar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:12px;padding:10px 14px;border:1px solid rgba(216,179,106,.42);border-radius:8px;background:#fffcf2d1}.prompt-copy-bar strong,.prompt-copy-bar span{display:block}.prompt-copy-bar strong{color:var(--owner-green-900);font-size:13px;font-weight:800}.prompt-copy-bar span{margin-top:3px;color:var(--owner-muted);font-size:12px;line-height:1.5}.prompt-copy-bar button{flex:0 0 auto;min-height:36px}.editor-guide{margin-top:12px;border:1px solid rgba(216,179,106,.42);border-radius:8px;background:#fffcf2d1;color:var(--owner-muted);font-size:12px;line-height:1.6}.editor-guide>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;list-style:none;color:var(--owner-green-900);font-size:13px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.editor-guide>summary::-webkit-details-marker{display:none}.editor-guide>summary:after{content:"展开";flex:0 0 auto;color:var(--owner-muted);font-size:12px;font-weight:600}.editor-guide[open]>summary:after{content:"收起"}.editor-guide-body{display:grid;gap:12px;padding:0 14px 12px;border-top:1px solid rgba(216,179,106,.28)}.editor-guide-body>p{margin:10px 0 0;color:var(--owner-green-900);font-size:13px;font-weight:600}.editor-guide-section{display:grid;gap:6px}.editor-guide-section strong{color:var(--owner-green-900);font-size:12px;font-weight:800}.editor-guide-section p{margin:0}.editor-guide-section ul{display:grid;gap:4px;margin:0;padding-left:1.15em}.editor-guide-section li{margin:0}.editor-guide code{padding:1px 5px;border-radius:4px;color:var(--owner-green-900);background:#d8b36a38;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;white-space:nowrap}.draft-block{display:grid;gap:8px;padding:14px;border:1px solid rgba(216,179,106,.42);border-radius:8px;background:#fffcf2d1}.generator-app .draft-block h2,.generator-app .editor legend{color:var(--owner-green-900)}.editor-fieldset{display:grid;gap:14px;margin:0;padding:14px;border:1px solid rgba(216,179,106,.42);border-radius:8px;background:#fffcf2d1}.editor-fieldset legend{padding:0 8px;font-size:15px;font-weight:800}.generator-app label,.generator-app .field label{color:var(--owner-green-900)}.generator-app input,.generator-app textarea,.generator-app select{border:1px solid rgba(23,51,34,.24);border-radius:6px;color:var(--owner-ink);background:#ffffffe6}.generator-app input:focus,.generator-app textarea:focus{outline:3px solid rgba(216,179,106,.3);border-color:var(--owner-gold-500);background:#fff}.generator-app button.primary{border:0;color:var(--owner-green-950);background:linear-gradient(135deg,#c89f54,#efd89f);box-shadow:0 10px 22px #5139162e}.generator-app button.primary:hover{color:var(--owner-green-950);background:linear-gradient(135deg,#c89f54,#efd89f)}.generator-app button.secondary{border:1px solid rgba(23,51,34,.2);color:var(--owner-green-900);background:#fffcf2e6;box-shadow:none}.generator-app button.secondary:hover{color:var(--owner-green-950);border-color:#d8b36ab3;background:#f0dca58c}.generator-app .notice{border-color:#1665343d;color:#166534;background:#ecfaf0f0}.generator-app .alert{border-color:#a33a2f3d;color:var(--owner-danger);background:#a33a2f14}#bodyText{min-height:220px}.hint{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.generator-app .hint{color:var(--owner-muted)}.module-permissions{display:grid;gap:8px;margin:0;padding:12px;border:1px solid rgba(31,79,122,.12);border-radius:6px;background:var(--surface)}.module-permissions legend{padding:0 4px;color:var(--accent);font-size:13px;font-weight:600}.module-permissions.inline{display:flex;flex-wrap:wrap;gap:8px 12px;padding:8px 10px;background:transparent}.module-check{display:inline-flex;gap:6px;align-items:center;margin:0;cursor:pointer}.module-check input{width:15px;height:15px;margin:0}.module-check span{color:var(--ink);font-size:13px;white-space:nowrap}.change-password-form{max-width:420px}.snippet-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.snippet-toolbar button{min-height:34px;padding:7px 9px;font-size:13px}.toolbar{display:grid;grid-template-columns:1fr 1fr;gap:9px}.hidden-file{display:none}.draft-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:8px}.draft-list{display:grid;gap:8px;max-height:180px;margin-top:10px;overflow:auto}.draft-item{display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:center;padding:8px;border:1px solid rgba(216,179,106,.36);border-radius:6px;background:#fffcf2e6}.draft-item.active{border-color:#d8b36ab8;background:#f0dca56b}.draft-meta{min-width:0}.draft-name{overflow:hidden;color:var(--owner-green-900, var(--ink));font-size:14px;line-height:1.35;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.draft-time{margin-top:2px;color:var(--owner-muted, var(--muted));font-size:12px;line-height:1.35}.empty-drafts{padding:14px;border:1px dashed rgba(184,139,62,.55);border-radius:6px;color:var(--owner-muted, var(--muted));background:#faf4e0b8;font-size:13px;text-align:center}.preview-wrap{min-width:0;min-height:0;overflow:auto;scrollbar-width:none}.preview-wrap::-webkit-scrollbar{display:none}.preview-wrap .poster{margin:0 auto}.poster-editable .is-editable{cursor:text;border-radius:2px;outline:1px solid transparent;transition:outline-color .15s ease,background-color .15s ease}.poster-editable .is-editable:hover{outline-color:#d8b36a8c;background:#f0dca52e}.poster-editable .is-editing{cursor:text;outline:2px solid rgba(216,179,106,.85);background:#fffcf2eb;border-radius:2px;box-shadow:none;white-space:pre-wrap}.poster-editable .is-editing:focus{outline:2px solid rgba(216,179,106,.95)}.exporting .is-editable,.exporting .is-editing{outline:none!important;background:transparent!important}.draft-list{scrollbar-width:none}.draft-list::-webkit-scrollbar{display:none}.poster{position:relative;width:760px;min-height:1060px;margin:0 auto 40px;overflow:hidden;color:#1d241e;background:#fffdf6;box-shadow:0 18px 50px #08130d47}.poster:before{position:absolute;inset:var(--frame-inset);border:1px solid rgba(216,179,106,.42);content:"";pointer-events:none}.hero{padding:52px var(--pad-x) 38px;color:#fff;background:linear-gradient(135deg,#10251bf5,#214631e6),radial-gradient(circle at 50% 0%,rgba(216,179,106,.28),transparent 52%);text-align:center}.poster p.poster-brand{margin:0 0 12px;color:#f0dca5;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;font-weight:500;line-height:1.4;letter-spacing:.32em;text-indent:.32em;text-align:center}.poster-title{max-width:650px;margin:0 auto;color:#d8b36a;font-family:Georgia,"Times New Roman",var(--serif);font-size:34px;line-height:1.35;font-weight:500;letter-spacing:.06em;text-align:center}.letter{padding:42px var(--pad-x) 32px}.poster p{margin:0;font-family:var(--serif);font-size:18px;line-height:2.05;text-align:justify}.poster strong{color:#173322;font-weight:700}.salutation{margin-bottom:12px!important;font-weight:700;text-indent:0}.intro{margin-top:18px!important;text-indent:2em}.callout-title{margin-top:20px!important;color:#173322;font-weight:700;text-indent:2em}.content-section{margin-top:28px}.section-head{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:center;margin-bottom:14px}.section-index{display:grid;min-width:46px;width:46px;height:46px;color:#10251b;background:linear-gradient(135deg,#c89f54,#efd89f);box-shadow:0 3px 10px #8c64282e;font-family:Georgia,serif;font-size:20px;font-weight:700;place-items:center}.poster-editable .section-index.is-editing{outline-offset:-2px}.section-head h3{margin:0;color:#173322;font-family:var(--serif);font-size:24px;line-height:1.45}.info-list,.compare-list,.summary-grid,.card-grid,.result-grid,.image-block,.detail-card{margin-top:18px}.compare-list{overflow:hidden;border:1px solid rgba(216,179,106,.48);border-radius:2px;background:#fffdf6}.compare-list-head{padding:12px 16px;color:#10251b;font-family:var(--serif);font-size:18px;font-weight:700;letter-spacing:.04em;background:linear-gradient(90deg,#c89f5447,#f7f3e6e6);border-bottom:1px solid rgba(216,179,106,.36)}.compare-row{display:grid;grid-template-columns:7.5em 1fr;border-bottom:1px solid rgba(216,179,106,.22)}.compare-row:last-child{border-bottom:0}.compare-label{display:flex;align-items:center;padding:14px 12px;color:#173322;font-family:var(--serif);font-size:15px;font-weight:700;line-height:1.45;text-align:center;justify-content:center;background:#f7f3e6d9;border-right:1px solid rgba(216,179,106,.22)}.compare-row[data-tone=add] .compare-label{color:#0f3d2e;background:#3d8c6e24}.compare-row[data-tone=agree] .compare-label{color:#5a3d12;background:#c89f542e}.compare-row[data-tone=follow] .compare-label{color:#3d4650;background:#7884901f}.compare-text{padding:12px 16px;color:#1d241e;font-family:var(--serif);font-size:15px;line-height:1.75}.compare-items{margin:0;padding-left:1.15em}.compare-items li+li{margin-top:6px}.info-list{display:block;overflow:hidden;border:1px solid rgba(216,179,106,.42);border-left:4px solid #d8b36a;border-radius:2px;background:#fffdf6}.info-list-table{display:table;width:100%;border-collapse:collapse}.info-row{display:table-row;font-size:16px;line-height:1.85}.info-row strong,.info-row>span{display:table-cell;vertical-align:middle;border-bottom:1px solid rgba(216,179,106,.22)}.info-row:last-child strong,.info-row:last-child>span{border-bottom:0}.info-row strong{width:1%;min-width:4.5em;padding:12px 14px;color:#173322;font-family:var(--serif);font-weight:700;white-space:nowrap;background:#f7f3e6b8;border-right:1px solid rgba(216,179,106,.22)}.info-row>span{padding:12px 16px;color:#1d241e;font-family:var(--serif);text-align:justify;overflow-wrap:anywhere;word-break:break-word}.summary-grid,.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.summary-card,.plain-card,.status-box{padding:14px;border:1px solid rgba(216,179,106,.36);background:#fbf8ee}.summary-card strong,.plain-card strong,.summary-card span,.plain-card span{display:block;font-family:var(--serif)}.summary-card strong,.plain-card strong{margin-bottom:7px;color:#173322;font-size:17px}.summary-card span,.plain-card span{font-size:15px;line-height:1.8}.result-grid{display:grid;grid-template-columns:220px 1fr;gap:12px}.big-number{display:grid;min-height:116px;color:#10251b;background:linear-gradient(135deg,#c89f54,#efd89f);place-items:center;text-align:center}.big-number strong,.big-number span{display:block;color:#10251b}.big-number strong{font-size:42px;line-height:1}.big-number span{margin-top:8px;font-size:14px}.status-box .tag{display:inline-block;margin-bottom:8px;padding:3px 8px;color:#fbf7ea;background:#214631;font-size:13px;font-weight:700}.status-box p{font-size:16px;line-height:1.8}.image-block{display:grid;gap:14px}.image-card{margin:0;overflow:hidden;border:1px solid rgba(216,179,106,.42);border-radius:2px;background:#fbf8ee}.image-media{position:relative;background:#f7f3e6}.image-card img{display:block;width:100%;max-height:520px;object-fit:contain;background:#f7f3e6}.image-card figcaption,.image-missing{margin:0;padding:11px 14px;color:#5f6b57;border-top:1px solid rgba(216,179,106,.24);font-family:var(--serif);font-size:15px;line-height:1.7;text-align:center}.image-media .image-missing{border-top:0}.image-missing{display:grid;min-height:180px;color:#8a5d18;place-items:center}.poster-editable .image-media.is-image-editable{cursor:pointer}.poster-editable .image-media.is-image-editable:hover .image-upload-overlay,.poster-editable .image-media.is-image-busy .image-upload-overlay,.poster-editable .image-media.is-image-error .image-upload-overlay,.poster-editable .image-media.is-image-editable:focus-visible .image-upload-overlay{opacity:1}.image-upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;gap:6px;align-content:center;justify-items:center;color:#fbf7ea;background:#10251b85;font-size:13px;font-weight:600;letter-spacing:.04em;opacity:0;transition:opacity .15s ease;pointer-events:none}.poster-editable .image-media.is-image-error .image-missing{color:#a33a2f}.exporting .image-upload-overlay{display:none!important}.detail-card{overflow:hidden;border:1px solid rgba(216,179,106,.32);border-left:3px solid #c89f54;border-radius:2px;background:#fffdf8}.detail-header{display:flex;align-items:center;gap:12px;padding:14px 16px 13px;border-bottom:1px solid rgba(216,179,106,.22);background:#f7f3e6eb}.detail-num{display:grid;flex:0 0 auto;width:28px;min-width:28px;height:28px;color:#8a5d18;background:#c89f5424;font-family:Georgia,Times New Roman,serif;font-size:14px;font-weight:700;line-height:1;place-items:center}.poster-editable .detail-num.is-editing{outline-offset:-2px}.detail-title{display:block;flex:1;min-width:0;padding:0;overflow:hidden;color:#173322;font-family:var(--serif);font-size:18px;font-weight:700;line-height:1.4;white-space:nowrap;text-overflow:ellipsis}.detail-body{display:table;width:100%;border-collapse:collapse;padding:0}.detail-field{display:table-row;font-family:var(--serif);font-size:16px;line-height:1.85}.detail-label,.detail-field>span:last-child,.detail-field>.is-editing:last-child{display:table-cell;vertical-align:top;border-bottom:1px solid rgba(216,179,106,.22)}.detail-field:last-child .detail-label,.detail-field:last-child>span:last-child,.detail-field:last-child>.is-editing:last-child{border-bottom:0}.detail-label{width:1%;min-width:4.5em;padding:12px 12px 12px 14px;color:#5f6b57;font-weight:700;letter-spacing:.08em;white-space:nowrap;background:#f7f3e68c;border-right:1px solid rgba(216,179,106,.22)}.detail-field>span:last-child,.detail-field>.is-editing:last-child{padding:12px 16px 12px 14px;color:#1d241e;text-align:justify;overflow-wrap:anywhere;word-break:break-word}.update-field .detail-label,.update-field>span:last-child,.update-field>.is-editing:last-child{background:#d8b36a24}.update-field .detail-label{color:#8a5d18;background:#d8b36a38;border-right-color:#b88b3e47}.update-field>span:last-child,.update-field>.is-editing:last-child{background:#fffaecb8}.signature{margin-top:30px}.signature p{text-align:right}.supplement{margin:0 var(--pad-x) 48px;padding:18px 20px;border-top:3px solid #d8b36a;background:#f7f3e6}.supplement-title{margin:0 0 8px;color:#173322;font-family:var(--serif);font-size:20px}.supplement p{font-size:16px;line-height:1.9}.exporting .topbar,.exporting .editor{visibility:hidden}@media(max-width:1100px){.generator-workspace{grid-template-columns:1fr;height:auto;min-height:0}.editor,.preview-wrap{max-height:min(80dvh,900px)}}@media(max-width:860px){.topbar,.admin-layout{grid-template-columns:1fr}.topbar{display:grid;gap:8px;padding:10px 14px}.topnav{overflow-x:auto}.workspace,.generator-app{width:min(100%,calc(100vw - 18px));margin:10px auto}}@media(max-width:620px){:root{--pad-x: 38px;--frame-inset: 12px}.login-page{padding:12px}.login-panel{padding:20px}.toolbar,.snippet-toolbar,.draft-row,.summary-grid,.card-grid,.result-grid{grid-template-columns:1fr}.info-list-table,.info-row,.compare-row{display:block}.info-row strong,.info-row>span,.compare-label,.compare-text{display:block;width:auto}.info-row strong,.compare-label{border-right:0;border-bottom:1px solid rgba(216,179,106,.22)}.detail-label,.detail-field>span:last-child{display:block;width:auto;border-right:0}.detail-label{border-bottom:1px solid rgba(216,179,106,.22)}.detail-body,.detail-field{display:block}.poster{width:100%;min-height:900px}.hero{padding:44px var(--pad-x) 34px}.poster-title{font-size:28px}.poster p{font-size:16px}}.workspace.wide{width:min(1380px,calc(100vw - 32px))}.filter-row{display:grid;grid-template-columns:180px 160px minmax(220px,1fr) auto auto;gap:12px;align-items:end}.filter-checkbox{display:flex;align-items:center;gap:8px;min-height:42px;padding-bottom:2px;cursor:pointer}.filter-checkbox input{width:16px;height:16px;margin:0}.filter-checkbox span{color:var(--muted);font-size:13px;white-space:nowrap}.filter-actions,.attachment-actions{display:flex;gap:8px;align-items:center}.code-result{display:grid;gap:6px;padding:14px;border:1px solid rgba(31,79,122,.18);border-radius:8px;background:#1f4f7a0f}.code-result span,.code-result small{color:var(--muted);font-size:13px}.code-result strong,.mono-code{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:22px;letter-spacing:.08em}.status-pill{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800}.status-pending{color:#92400e;background:#fbbf2429}.status-approved{color:#166534;background:#22c55e24}.status-rejected{color:#9f1239;background:#f43f5e1f}.status-banned{color:#7f1d1d;background:#7f1d1d1f}.owner-admin-actions{display:grid;gap:8px;min-width:110px}.status-unused{color:#1f6b4d;background:#2f6f5e1f}.status-used,.status-expired,.status-revoked{color:#687480;background:#6874801f}.opinion-table select{min-width:108px}.attachment-cell{min-width:280px;white-space:normal}.attachment-list{display:grid;gap:8px}.attachment-list.inline{gap:6px}.attachment-item{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px;border:1px solid rgba(31,79,122,.12);border-radius:6px;background:#fff}.attachment-item.compact{padding:6px 8px;gap:8px}.attachment-meta{min-width:0;flex:1}.attachment-item strong,.attachment-item span{display:block}.attachment-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-item span{margin-top:3px;color:var(--muted);font-size:12px}.danger-button{border-color:var(--danger);color:#fff;background:var(--danger)}.danger-button:hover{background:#8f3137}.owner-page{--owner-green-950: #10251b;--owner-green-900: #173322;--owner-green-800: #214631;--owner-gold-500: #d8b36a;--owner-gold-300: #f0dca5;--owner-cream-50: #fbf7ea;--owner-ink: #1d241e;--owner-muted: #6f735f;--owner-danger: #a33a2f;width:100%;max-width:480px;min-height:100dvh;margin:0 auto;padding:14px 12px calc(22px + env(safe-area-inset-bottom,0px));color:var(--owner-ink)}body:has(.owner-page){background:linear-gradient(180deg,#10251bc2,#0c1711f5),url(/hecui-poster.jpg) center top / cover fixed,var(--owner-green-950)}.owner-hero{position:relative;display:grid;gap:10px;margin-bottom:12px;padding:28px 18px 24px;overflow:hidden;border:1px solid rgba(240,220,165,.38);border-radius:8px;background:linear-gradient(135deg,#10251bf0,#214631d6),radial-gradient(circle at 50% 0%,rgba(216,179,106,.22),transparent 48%);text-align:center}.owner-hero:after{position:absolute;top:9px;right:9px;bottom:9px;left:9px;border:1px solid rgba(240,220,165,.28);border-radius:6px;content:"";pointer-events:none}.owner-brand{margin:0;color:var(--owner-gold-300);font-size:14px;font-weight:500;letter-spacing:.32em}.owner-hero h1{margin:0;color:var(--owner-gold-500);font-family:Georgia,Times New Roman,Microsoft YaHei,serif;font-size:34px;font-weight:500;line-height:1.18;letter-spacing:.08em}.owner-hero p:last-child{margin:0;color:#fbf7eadb;font-size:13px;line-height:1.65}.owner-card,.owner-submit-result{padding:14px;border:1px solid rgba(216,179,106,.42);border-radius:8px;background:#fbf7eaf5;box-shadow:0 18px 48px #08130d57}.owner-steps{display:grid;gap:8px;margin:0 0 14px;padding:0;list-style:none}.owner-steps li{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border:1px solid rgba(216,179,106,.35);border-radius:8px;color:var(--owner-green-900);background:#fffcf2c7;font-size:14px;font-weight:700}.owner-steps span{color:var(--owner-gold-500);font-family:Georgia,Times New Roman,serif;font-size:15px}.owner-form,.owner-form fieldset{display:grid;gap:14px}.owner-form fieldset{margin:0;padding:14px;border:1px solid rgba(216,179,106,.42);border-radius:8px;background:#fffcf2d1}.owner-form legend{padding:0 8px;color:var(--owner-green-900);font-size:15px;font-weight:800}.owner-form label{color:var(--owner-green-900)}.owner-form label span{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.owner-form b{color:var(--owner-danger);font-size:12px}.owner-form small,.owner-form em,.owner-upload span,.owner-note{color:var(--owner-muted);font-size:12px;font-style:normal;font-weight:500;line-height:1.6}.owner-form input,.owner-form select{min-height:48px;border:1px solid rgba(23,51,34,.24);border-radius:6px;background:#ffffffe6;color:var(--owner-ink);padding:12px}.owner-form input:focus,.owner-form select:focus,.owner-upload:focus-within{outline:3px solid rgba(216,179,106,.3);border-color:var(--owner-gold-500);background:#fff}.owner-upload{position:relative;display:grid;min-height:128px;place-items:center;padding:18px;overflow:hidden;border:1.5px dashed rgba(184,139,62,.68);border-radius:8px;background:#faf4e0d1;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.owner-upload input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;font-size:100px}.owner-upload strong{color:var(--owner-green-900);font-size:16px}.owner-files,.owner-submit-result ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.owner-files li,.owner-submit-result li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;overflow-wrap:anywhere;border:1px solid rgba(216,179,106,.36);border-radius:6px;color:var(--owner-green-900);background:#fffcf2e6;font-size:13px}.owner-files button{min-height:34px;flex:0 0 auto;border-color:transparent;color:#8f2f25;background:#a33a2f1f}.owner-note{margin:0;padding:12px;border:1px solid rgba(216,179,106,.36);border-radius:8px;background:#faf4e0b8}.owner-privacy-check{display:flex;gap:8px;align-items:flex-start;margin:0;cursor:pointer}.owner-privacy-check input{width:16px;min-height:16px;height:16px;margin-top:2px;padding:0;flex-shrink:0}.owner-privacy-check span{display:block;color:var(--owner-green-900);font-size:13px;font-weight:600;line-height:1.55}.owner-privacy-check a{color:var(--owner-green-900);text-decoration:underline;text-underline-offset:2px}.owner-privacy-page{display:grid;gap:16px}.owner-privacy-article{display:grid;gap:10px}.owner-privacy-article h2{margin:8px 0 0;color:var(--owner-green-900);font-size:15px;font-weight:800}.owner-privacy-article p{margin:0;color:var(--owner-muted);font-size:14px;line-height:1.7}.owner-privacy-article strong{color:var(--owner-green-900);font-weight:700}a.owner-privacy-back{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none}.owner-primary{width:100%;min-height:48px;border:0;border-radius:6px;color:var(--owner-green-950);background:linear-gradient(135deg,#c89f54,#efd89f);box-shadow:0 14px 28px #51391633}.owner-primary:hover,.owner-primary:focus,a.owner-primary:hover,a.owner-primary:focus{color:var(--owner-green-950);background:linear-gradient(135deg,#c89f54,#efd89f)}.owner-success,.owner-error{padding:10px 12px;border-radius:8px;font-size:13px;line-height:1.45}.owner-success{border:1px solid rgba(22,101,52,.24);color:#166534;background:#ecfaf0f0}.owner-error{border:1px solid rgba(163,58,47,.24);color:var(--owner-danger);background:#a33a2f14}.owner-submit-result{display:grid;gap:10px;margin-top:12px;background:#ecfaf0f0}.owner-submit-result h2{margin:0;color:#166534;font-size:18px}.owner-submit-result p{margin:0;color:#3f5f48;font-size:13px}.owner-switch{margin:14px 0 0;color:var(--owner-muted);font-size:13px;text-align:center}.owner-switch a{color:var(--owner-green-800);font-weight:700;text-decoration:underline}.owner-secondary{width:100%;min-height:48px;margin-top:10px;border:1px solid rgba(23,51,34,.2);border-radius:6px;color:var(--owner-green-900);background:#fffcf2e6}.owner-identity{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:12px;border:1px solid rgba(216,179,106,.36);border-radius:8px;background:#fffcf2e6}.owner-identity strong,.owner-identity span{display:block;color:var(--owner-green-900)}.owner-identity strong{font-size:15px}.owner-identity span{margin-top:4px;color:var(--owner-muted);font-size:13px}.owner-link{min-height:34px;border:0;color:#8f2f25;background:transparent;font-size:13px;text-decoration:underline}.owner-status-card{display:grid;gap:14px}.owner-status-badge{justify-self:start;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:700}.owner-status-badge[data-status=PENDING]{color:#92400e;background:#fbbf242e}.owner-status-badge[data-status=APPROVED]{color:#166534;background:#22c55e29}.owner-status-badge[data-status=REJECTED]{color:#9f1239;background:#f43f5e1f}.owner-status-meta{display:grid;gap:10px;margin:0}.owner-status-meta div{display:grid;gap:4px;padding-bottom:10px;border-bottom:1px solid rgba(216,179,106,.28)}.owner-status-meta dt{color:var(--owner-muted);font-size:12px}.owner-status-meta dd{margin:0;color:var(--owner-green-900);font-size:15px;font-weight:700}.owner-review-actions{display:grid;gap:8px;min-width:180px}.proof-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:20px;background:#17202a94}.proof-preview-dialog{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(960px,100%);height:min(86vh,900px);overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 24px 48px #0f172047}.proof-preview-head{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(31,79,122,.12)}.proof-preview-head strong{color:var(--accent);font-size:15px}.proof-preview-head .hint{margin-top:4px}.proof-preview-actions{display:flex;flex-shrink:0;gap:8px}.proof-preview-body{min-height:0;padding:12px;background:#f3f5f8;overflow:auto}.proof-preview-body img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto;border-radius:4px;background:#fff}.proof-preview-body iframe{width:100%;height:100%;min-height:60vh;border:0;border-radius:4px;background:#fff}.proof-preview-fallback{display:grid;gap:12px;place-items:center;min-height:240px;color:var(--muted);text-align:center}@media(max-width:860px){.filter-row{grid-template-columns:1fr}.filter-actions,.attachment-actions{flex-wrap:wrap}.attachment-item{align-items:flex-start;flex-direction:column}}
