:root{--ll-accent:#f56a00;--ll-accent-hover:#f78833;--ll-text:#495060;--ll-title:#464c5b;--ll-muted:#9ea7b4;--ll-line:#dddee1;--ll-control-line:#dfe3e9}
.ll-root{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;font:12px/1.5 "Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
.ll-root *{box-sizing:border-box}.ll-shade{position:absolute;inset:0;background:rgba(19,29,44,.54);backdrop-filter:blur(2px)}
.ll-box{position:relative;z-index:1;max-width:96vw;max-height:94vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--ll-line);border-radius:6px;background:#fff;box-shadow:0 25px 80px rgba(10,20,35,.28);color:var(--ll-text);animation:ll-modal-in .18s ease}
.ll-header{height:68px;flex:none;padding:0 18px 0 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e3e8ee;background:#fff}
.ll-header b{min-width:0;overflow:hidden;color:var(--ll-title);font-size:15px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.ll-header button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:#8893a2;font-size:24px;line-height:1;cursor:pointer}
.ll-header button:hover{background:#fff7f0;color:var(--ll-accent)}
.ll-body{padding:20px 22px;overflow:auto;background:#fff}.ll-message{padding:4px 2px;color:#526074;white-space:pre-wrap}
.ll-footer{min-height:63px;padding:0 22px;display:flex;align-items:center;justify-content:flex-end;gap:8px;border-top:1px solid #e3e8ee;background:#fafbfc}
.ll-footer button{min-width:80px;height:35px;padding:0 16px;border:1px solid var(--ll-control-line);border-radius:4px;background:#fff;color:#657185;cursor:pointer}
.ll-footer .ll-ok{border-color:var(--ll-accent);background:var(--ll-accent);color:#fff}.ll-footer .ll-ok:hover{border-color:var(--ll-accent-hover);background:var(--ll-accent-hover)}
.ll-footer .ll-cancel:hover{border-color:#f6c39c;color:var(--ll-accent)}
.ll-input{width:100%;min-height:38px;padding:9px 11px;border:1px solid var(--ll-control-line);border-radius:4px;background:#fff;color:var(--ll-text);outline:none;font:inherit;resize:vertical}
.ll-input:focus{border-color:var(--ll-accent);box-shadow:0 0 0 2px rgba(245,106,0,.12)}textarea.ll-input{min-height:110px}
.ll-iframe-box .ll-body{flex:1;padding:0;overflow:hidden;background:#f2f6fa}.ll-iframe-box iframe{width:100%;height:100%;min-height:300px;border:0;background:#f2f6fa}
.ll-toast{position:fixed;left:50%;top:50%;z-index:100010;max-width:min(520px,90vw);padding:12px 18px;transform:translate(-50%,-50%);border-radius:7px;background:rgba(28,39,55,.96);box-shadow:0 12px 34px rgba(5,12,22,.3);color:#fff;font:12px/1.5 "Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
.ll-loading{overflow:visible;border:0;background:transparent;box-shadow:none;animation:none}.ll-loading .ll-body{display:grid;place-items:center;background:transparent}
.ll-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.4);border-top-color:var(--ll-accent);border-radius:50%;animation:ll-spin .75s linear infinite}
.ll-preview{display:block;max-width:100%;max-height:72vh;margin:auto;object-fit:contain}
@keyframes ll-spin{to{transform:rotate(360deg)}}@keyframes ll-modal-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:600px){.ll-root{padding:8px}.ll-box{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)}.ll-header{height:58px;padding:0 12px 0 16px}.ll-body{padding:16px}.ll-footer{padding:0 16px}}
@media(prefers-reduced-motion:reduce){.ll-box,.ll-spinner{animation:none!important}}