:root{color-scheme:light;--bg:#f5e4bb;--panel:#fff8e8;--gold:#b9812b;--gold2:#d7b56e;--ink:#6d481b;--orange:#f05218;--danger:#c7473c;--shadow:0 7px 0 rgba(127,83,29,.12)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--bg);-webkit-text-size-adjust:100%;touch-action:manipulation}body{font-family:"Avenir Next","PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#f8e9c5 0%,#f4dfb2 100%)}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}input{-webkit-appearance:none;appearance:none}[hidden]{display:none!important}
.app-shell{width:min(760px,100%);height:100dvh;margin:0 auto;padding:max(8px,env(safe-area-inset-top)) 14px max(10px,env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:hidden}.topbar{flex:0 0 70px;height:70px;border-bottom:2px solid rgba(161,109,43,.28);display:flex;align-items:center;padding:0 3px 7px}.brand-block{display:flex;align-items:center;gap:12px;min-width:0}.df-logo{width:70px;height:56px;border-radius:17px;background:#fff;border:1px solid rgba(171,125,60,.22);box-shadow:0 4px 12px rgba(112,76,28,.10);display:flex;align-items:center;justify-content:center;font-family:Arial,Helvetica,sans-serif;font-weight:900;font-size:39px;line-height:1}.logo-d{color:var(--orange)}.logo-f{color:#090909;margin-left:4px}.brand-copy{min-width:0}.brand-en{font-size:16px;font-weight:900;letter-spacing:.03em;color:#5b3d1c;white-space:nowrap}.brand-cn{font-size:13px;font-weight:850;color:#9c7745;margin-top:4px;white-space:nowrap}
.screen{flex:1;min-height:0}.edit-screen{display:flex;align-items:stretch;padding-top:8px}.form-card{width:100%;height:100%;background:rgba(255,248,232,.94);border:2px solid rgba(185,129,43,.56);border-radius:27px;padding:12px 15px;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow)}.field-list{display:grid;grid-template-rows:repeat(9,minmax(0,1fr));gap:4px;flex:1;min-height:0}.field-row{display:grid;grid-template-columns:27% minmax(0,1fr);align-items:center;gap:8px;min-height:0}.field-label{font-size:17px;font-weight:950;line-height:1;white-space:nowrap;padding-left:2px}.field-row input,.date-field,.input-button,.readonly-row output{width:100%;min-width:0;height:100%;max-height:47px;border:2px solid #b98235;border-radius:16px;background:#fae9bc;color:var(--ink);padding:0 10px;outline:0;font-size:17px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.58)}.field-row input::placeholder{color:#b69a6d;font-weight:800;text-align:center}.field-row input:focus,.date-field:focus,.input-button:focus{border-color:#7d551f;box-shadow:0 0 0 3px rgba(184,126,42,.16)}.field-row input.invalid,.date-field.invalid,.input-button.invalid{border-color:var(--danger);background:#fff0e8;box-shadow:0 0 0 3px rgba(199,71,60,.13)}.date-field,.input-button{display:flex;align-items:center;justify-content:center;cursor:pointer}.date-field span,.input-button span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}.muted{color:#b69a6d}.readonly-row output{display:flex;align-items:center;justify-content:center;background:#e5c37f}.actions{display:grid;gap:10px}.edit-actions,.preview-actions{grid-template-columns:1fr 1fr;margin-top:8px}.primary-btn,.secondary-btn{height:46px;border-radius:16px;font-size:17px;font-weight:950;cursor:pointer;white-space:nowrap}.primary-btn{border:2px solid #8f621f;background:linear-gradient(180deg,#c7933a,#a97422);color:#fff9e8;box-shadow:0 5px 0 rgba(99,64,19,.18)}.secondary-btn{border:2px solid #aa752d;background:#f7e1b1;color:#73501f;box-shadow:0 5px 0 rgba(99,64,19,.12)}
.preview-screen{display:flex;flex-direction:column;padding-top:8px;min-height:0}.preview-card{flex:1;min-height:0;background:#ead4aa;border:2px solid rgba(185,129,43,.65);border-radius:23px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:5px;box-shadow:var(--shadow)}.preview-loading{font-size:14px;font-weight:850;color:#86663e}.preview-card canvas{display:block;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.22);cursor:zoom-in;max-width:100%;max-height:100%;width:auto;height:auto}.preview-actions{flex:0 0 auto}
.dialog-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(74,52,25,.32);backdrop-filter:blur(7px);display:grid;place-items:center;padding:18px;transition:padding-bottom .18s ease}.dialog{width:min(430px,100%);background:#fbeac3;border:3px solid #b17a31;border-radius:26px;padding:24px 20px 20px;box-shadow:0 12px 0 rgba(103,68,22,.16);color:var(--ink)}.dialog h3{margin:0 0 15px;text-align:center;font-size:22px;font-weight:950}.dialog p{margin:0 4px 19px;text-align:center;font-size:16px;line-height:1.55;font-weight:800;white-space:pre-line}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-actions.single{grid-template-columns:1fr}.dialog-btn{height:48px;border-radius:16px;font-size:17px;font-weight:950}.dialog-btn.ghost{border:2px solid #8a5b20;background:#f8e5b9;color:#704a1d}.dialog-btn.solid{border:2px solid #80541e;background:#d5ae68;color:#6c471a}.volume-inputs{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:8px;margin:12px 0 6px}.volume-inputs input{min-width:0;height:50px;border:2px solid #a8712a;border-radius:15px;background:#fff6df;color:var(--ink);text-align:center;font-size:20px;font-weight:950;outline:0}.volume-inputs span{font-size:22px;font-weight:950}.volume-unit{text-align:center;font-size:14px;font-weight:900;color:#9a7443;margin:0 0 18px}.calendar-dialog{padding:20px 17px}.calendar-title{margin-bottom:12px!important}.calendar-head{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;gap:8px}.calendar-head h3{margin:0;font-size:20px}.icon-btn{height:48px;border:2px solid #875b22;border-radius:15px;background:#fae6b7;color:#80551f;font-size:28px;font-weight:900}.week-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.week-row{margin:15px 0 7px;text-align:center;font-size:13px}.day-btn{aspect-ratio:1;border:1.5px solid #d5af69;border-radius:13px;background:#f8e5b8;color:#765022;font-size:15px;font-weight:900}.day-btn.other{opacity:.35}.day-btn.today{box-shadow:inset 0 0 0 2px rgba(138,91,32,.25)}.day-btn.selected{background:#d3aa64;border:3px solid #82561f}.calendar-selected{margin:13px 0 11px;border:2px solid #ac752d;border-radius:15px;padding:11px;font-weight:900}.calendar-foot{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.calendar-foot .dialog-btn{font-size:14px;padding:0 4px}
.image-viewer{position:fixed;inset:0;z-index:2000;background:rgba(35,25,14,.94);overflow:auto;-webkit-overflow-scrolling:touch;padding:18px;cursor:zoom-out}.image-viewer canvas{display:block;margin:0 auto;background:#fff;box-shadow:0 5px 30px rgba(0,0,0,.55)}
@media(max-height:720px){.topbar{flex-basis:60px;height:60px}.df-logo{width:60px;height:49px;font-size:34px}.form-card{padding:9px 13px}.field-label,.field-row input,.date-field,.input-button,.readonly-row output{font-size:15px}.primary-btn,.secondary-btn{height:41px}.field-list{gap:2px}.edit-actions{margin-top:5px}}
