.demo-badge{position:fixed;z-index:260;left:clamp(12px,3vw,24px);bottom:calc(clamp(12px,3vw,24px) + 52px);background:#b3402a;color:#fff;font-weight:800;letter-spacing:.12em;font-size:11px;padding:4px 10px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.2)}.demo-badge-variant{margin-left:6px;padding-left:7px;border-left:1px solid hsla(0,0%,100%,.55);font-weight:700;letter-spacing:.04em}.demo-fb-btn{position:fixed;left:clamp(12px,3vw,24px);bottom:clamp(12px,3vw,24px);z-index:260;background:#41372c;color:#fff;border:none;border-radius:999px;padding:11px 18px;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 8px 22px rgba(65,55,44,.28)}.demo-fb-btn:hover{filter:brightness(1.08)}.demo-modal{position:fixed;inset:0;z-index:400;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:16px}.demo-modal-box{position:relative;background:#fff;border-radius:16px;padding:24px;width:100%;max-width:440px;box-shadow:0 20px 60px rgba(0,0,0,.3)}.demo-modal-close{position:absolute;top:10px;right:12px;background:none;border:none;font-size:24px;line-height:1;color:#8a7d6b;cursor:pointer}.demo-modal-title{font-family:Zen Maru Gothic,system-ui,sans-serif;font-size:1.2rem;font-weight:700;color:#41372c;margin-bottom:8px}.demo-modal-note{font-size:13px;color:#6b5f50;line-height:1.7;margin-bottom:12px}.demo-input,.demo-ta{width:100%;box-sizing:border-box;border:1px solid #ddd0bd;border-radius:10px;padding:11px 13px;font-size:15px;background:#fffdf8;margin-bottom:12px}.demo-input:focus,.demo-ta:focus{outline:none;border-color:#cc7a52;box-shadow:0 0 0 3px rgba(204,122,82,.15)}.demo-submit{width:100%;border:none;border-radius:999px;padding:12px;font-size:15px;font-weight:700;background:#cc7a52;color:#fff;cursor:pointer}.demo-submit:disabled{opacity:.6}.demo-err{background:#fbeae5;color:#a64b2a;border:1px solid #f1cebf;border-radius:8px;padding:8px 10px;font-size:13px;margin-bottom:10px}.demo-ok{color:#4f6238;font-size:15px}@media print{.demo-badge,.demo-fb-btn,.demo-modal{display:none!important}}.demo-file{display:flex;align-items:center;gap:10px;font-size:13px;color:#6b5f50;margin-bottom:10px}.demo-file span{font-weight:700}.demo-file-name{font-size:12px;color:#8a7d6b;margin:-4px 0 10px}