.frame{position:relative;min-height:230px;border:2px dashed var(--line, #F0E6DC);border-radius:14px;background:var(--card, #fff);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:border-color .15s,background .15s}.frame.drag{border-color:var(--brand, #E8835A);background:var(--brand-soft, #FBEFE2)}.frame.has-img{border-style:solid;border-color:var(--line, #F0E6DC);cursor:default}.frame-hint{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:20px;pointer-events:none}.frame-hint .fh-ico{color:var(--brand, #E8835A)}.frame-hint .fh-t{font-size:16px;font-weight:700;color:var(--ink, #3A3530)}.frame-hint .fh-d{font-size:13px;color:var(--muted, #8A8178);line-height:1.6;max-width:320px}.reupload{position:absolute;top:10px;right:10px;z-index:2;padding:8px 14px;border:1px solid var(--brand, #E8835A);background:#ffffffeb;color:var(--brand, #E8835A);border-radius:9px;font-size:13px;cursor:pointer;font-family:inherit}.ctl-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:4px}@media(min-width:640px){.ctl-row{grid-template-columns:repeat(4,1fr)}}.field{margin-bottom:14px}.field label{display:block;font-size:14px;color:var(--muted, #8A8178);margin:0 0 6px}.field select,.field input{width:100%;padding:11px 12px;font-size:15px;border:1px solid var(--line, #F0E6DC);border-radius:10px;background:#fffdfb;color:var(--ink, #3A3530);outline:none;box-sizing:border-box;font-family:inherit}.field select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888780' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px;padding-right:34px}.field input[type=color]{height:44px;padding:4px;cursor:pointer}.field-check{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;grid-column:1 / -1}.chk-label{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--ink, #3A3530);font-weight:600;margin:0}.chk-sub{font-size:12px;color:var(--muted, #8A8178);font-weight:400}.switch{position:relative;display:inline-flex;flex:0 0 auto;width:52px;height:30px;cursor:pointer}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch-track{position:absolute;inset:0;background:var(--line, #F0E6DC);border-radius:999px;transition:background .18s}.switch-thumb{position:absolute;top:3px;left:3px;width:24px;height:24px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .18s}.switch input:checked+.switch-track{background:var(--brand, #E8835A)}.switch input:checked+.switch-track .switch-thumb{transform:translate(22px)}.badge-local{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--brand-soft, #FBEFE2);color:var(--brand, #E8835A);font-size:12px;font-weight:600;vertical-align:middle}.badge-local svg{vertical-align:-2px}.reupload:active{background:#fff}.sheet-wrap{margin-top:16px;background:var(--card, #fff);border:1px solid var(--line, #F0E6DC);border-radius:14px;padding:14px}.prev-cap{font-size:13px;color:var(--muted, #8A8178);margin-bottom:10px}.sheet-scroll{max-width:100%;overflow:auto;display:flex;justify-content:center;border-radius:8px;padding:10px;background:repeating-conic-gradient(#f3efe9 0% 25%,#fff 0% 50%) 50% / 16px 16px}.sheet-canvas{max-width:100%;border:1px solid var(--line, #F0E6DC);border-radius:2px}.hint.err{color:var(--danger, #C0392B)}.tbtn{width:100%;padding:13px;border:none;border-radius:11px;background:var(--brand, #E8835A);color:#fff;font-size:15px;font-weight:600;margin-top:16px;cursor:pointer;font-family:inherit}.tbtn:disabled{opacity:.5;cursor:not-allowed}.tbtn-ghost{background:#fff;color:var(--brand, #E8835A);border:1px solid var(--brand, #E8835A);margin-top:10px}.tbtn-ghost:disabled{opacity:.5;cursor:not-allowed;color:var(--muted, #8A8178);border-color:var(--line, #F0E6DC)}.hint{font-size:13px;color:var(--muted, #8A8178);line-height:1.7}
