#pillar-plus-btn{position:fixed;bottom:28px;right:28px;width:52px;height:52px;border-radius:50%;background:#4f46e5;font-size:0;border:none;cursor:pointer;box-shadow:0 4px 16px rgba(79,70,229,0.45);z-index:9999;transition:transform .15s,box-shadow .15s}
#pillar-plus-btn::before,#pillar-plus-btn::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:2px}
#pillar-plus-btn::before{width:22px;height:4px}#pillar-plus-btn::after{width:4px;height:22px}
#pillar-plus-btn:hover{transform:scale(1.08);box-shadow:0 8px 28px rgba(79,70,229,0.55)}
#pillar-plus-btn.first-build{bottom:34px;right:34px;width:118px;height:118px;box-shadow:0 8px 28px rgba(79,70,229,0.45);animation:pillar-pulse 2.4s ease-in-out infinite}
#pillar-plus-btn.first-build::before{width:46px;height:8px}#pillar-plus-btn.first-build::after{width:8px;height:46px}
@keyframes pillar-pulse{0%,100%{box-shadow:0 8px 28px rgba(79,70,229,0.45),0 0 0 0 rgba(79,70,229,0.45)}50%{box-shadow:0 8px 28px rgba(79,70,229,0.55),0 0 0 16px rgba(79,70,229,0)}}
#pillar-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:10000;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;overflow-y:auto}
#pillar-modal-overlay.open{display:flex}
#pillar-spinner{display:none;position:fixed;bottom:18px;right:18px;width:72px;height:72px;border-radius:50%;border:3px solid rgba(79,70,229,0.18);border-top-color:#4f46e5;z-index:9998;pointer-events:none;animation:pillar-spin .9s linear infinite}
#pillar-spinner.first-build{bottom:24px;right:24px;width:138px;height:138px}
#pillar-spinner.on{display:block}
@keyframes pillar-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){#pillar-plus-btn.first-build{animation:none}#pillar-spinner{animation:none;border-top-color:rgba(79,70,229,0.55)}}
#pillar-modal{background:white;border-radius:16px;padding:32px;width:min(480px,92vw);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;box-shadow:0 20px 60px rgba(0,0,0,0.3);font-family:system-ui,sans-serif}
#pillar-modal h2{margin:0 0 8px;font-size:20px;color:#111;letter-spacing:-0.01em;font-weight:700}
#pillar-modal p{margin:0 0 20px;font-size:14px;color:#666}
#pillar-modal.first-build h2{font-size:22px;color:#1e1b4b;letter-spacing:-0.02em;margin-bottom:14px}
#pillar-signin-row{margin-bottom:16px}
#pillar-google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 14px;border:1px solid #dadce0;background:#fff;border-radius:8px;font-size:14px;font-weight:600;color:#3c4043;cursor:pointer;font-family:inherit;transition:background .15s,box-shadow .15s}
#pillar-google-btn:hover{background:#f8f9fa;box-shadow:0 1px 3px rgba(60,64,67,.24)}
#pillar-google-btn svg{width:18px;height:18px;flex:0 0 auto}
#pillar-signed-in{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#eef2ff;border:1px solid #dbe4ff;border-radius:8px;padding:9px 12px;font-size:13px}
#pillar-signed-in[hidden]{display:none}
#pillar-user{color:#3730a3;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#pillar-signout{background:none;border:none;color:#4f46e5;font-size:13px;font-weight:600;cursor:pointer;flex:0 0 auto;font-family:inherit}
.pillar-link{background:none;border:none;color:#6b7280;font-size:12px;cursor:pointer;text-decoration:underline;padding:8px 0 0;font-family:inherit;display:block}
#pillar-token-row{margin-top:10px}
#pillar-token-row[hidden]{display:none}
#pillar-token-row input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;box-sizing:border-box}
.pillar-prompt-intro{font-size:14px;font-weight:700;color:#1f2937;line-height:1.45;margin:4px 0 9px;padding-left:11px;border-left:3px solid #4f46e5}
#pillar-prompt-row textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:15px;resize:vertical;min-height:100px;box-sizing:border-box;font-family:inherit}
#pillar-modal.first-build #pillar-prompt-row textarea{min-height:128px}
#pillar-prompt-row textarea::placeholder{color:#9aa0aa;line-height:1.5}
#pillar-studio-row{margin-bottom:16px}
.pillar-studio-label{font-size:13px;font-weight:700;color:#4338ca;margin-bottom:8px;padding-left:11px;border-left:3px solid #4f46e5}
#pillar-studios{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.pillar-studio{display:flex;flex-direction:column;gap:3px;text-align:left;padding:10px 12px;border:1px solid #ddd;background:#fff;border-radius:8px;cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s}
.pillar-studio:hover{border-color:#a5b4fc}
.pillar-studio.active{border-color:#4f46e5;background:#eef2ff;box-shadow:0 0 0 1px #4f46e5 inset}
.pillar-studio .ps-name{font-size:14px;font-weight:600;color:#1f2937}
.pillar-studio .ps-desc{font-size:11px;color:#6b7280;line-height:1.3}
.pillar-studio-help{font-size:11.5px;color:#6b7280;margin-top:8px}
.pillar-studio-desc{font-size:12px;color:#4338ca;margin-top:6px;line-height:1.35}
.pillar-studio-desc strong{font-weight:700}
.pillar-learn{color:#4f46e5;font-weight:600;text-decoration:underline;white-space:nowrap}
#pillar-timer{display:none;text-align:right;font-size:13px;font-weight:700;color:#4338ca;margin-top:8px;min-height:18px}
#pillar-timer.on{display:block}
#pillar-actions{display:flex;gap:10px;margin-top:16px;justify-content:flex-end}
#pillar-cancel{padding:10px 20px;border:1px solid #ddd;background:white;border-radius:8px;cursor:pointer;font-size:14px}
#pillar-submit{padding:10px 24px;background:#4f46e5;color:white;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600}
#pillar-submit:disabled{background:#a5b4fc;cursor:not-allowed}
#pillar-status{margin-top:14px;font-size:13px;color:#444;min-height:20px}
#pillar-assets{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.pillar-asset{display:flex;gap:8px;align-items:flex-start;background:#f7f7fb;border:1px solid #e6e6ef;border-radius:10px;padding:8px}
.pillar-asset img{width:44px;height:44px;object-fit:cover;border-radius:6px;flex:0 0 auto}
.pillar-asset .pa-badge{width:44px;height:44px;border-radius:6px;flex:0 0 auto;background:#4f46e5;color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;text-transform:uppercase;text-align:center}
.pillar-asset textarea{flex:1;min-height:44px;border:1px solid #ddd;border-radius:6px;padding:6px 8px;font-size:12px;font-family:inherit;resize:vertical;box-sizing:border-box}
.pillar-asset button{background:none;border:none;color:#999;cursor:pointer;font-size:16px;line-height:1;padding:2px 4px}
#pillar-addrow{display:flex;gap:8px;margin-top:10px}
#pillar-addrow button{flex:1;background:none;border:1px dashed #bbb;color:#555;border-radius:8px;padding:10px 8px;font-size:13px;cursor:pointer}
#pillar-addrow button:hover{border-color:#4f46e5;color:#4f46e5;background:#f8f8ff}
#pillar-linkrow{display:flex;gap:8px;margin-top:8px}
#pillar-linkrow[hidden]{display:none}
#pillar-linkrow input{flex:1;padding:9px 10px;border:1px solid #ddd;border-radius:8px;font-size:13px;box-sizing:border-box}
#pillar-linkrow button{padding:9px 16px;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}
#pillar-status.error{color:#dc2626}
#pillar-status.success{color:#16a34a}
@media (max-width:520px),(max-height:780px){
#pillar-modal{padding:16px;border-radius:14px}
#pillar-modal h2{font-size:17px;margin-bottom:3px}
#pillar-modal p{font-size:12.5px;margin:0 0 10px;line-height:1.35}
#pillar-signin-row{margin-bottom:10px}
#pillar-google-btn{padding:10px 12px;font-size:13px}
#pillar-token-row input{padding:9px 11px;font-size:13px}
#pillar-studio-row{margin-bottom:10px}
.pillar-studio-label{margin-bottom:6px;font-size:12px}
#pillar-studios{gap:6px;grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}
.pillar-studio{padding:8px 10px;gap:0;align-items:center;text-align:center}
.pillar-studio .ps-name{font-size:12.5px}
.pillar-studio .ps-desc{display:none}
.pillar-studio-help{font-size:10.5px;margin-top:6px}
.pillar-studio-desc{font-size:11px;margin-top:5px}
.pillar-prompt-intro{font-size:12px;margin:2px 0 6px;padding-left:9px}
#pillar-prompt-row textarea{min-height:54px;padding:9px;font-size:14px}
#pillar-modal.first-build #pillar-prompt-row textarea{min-height:112px}
#pillar-actions{margin-top:12px}
#pillar-cancel,#pillar-submit{padding:9px 18px}
#pillar-addrow{margin-top:8px}
#pillar-addrow button{padding:8px;font-size:12.5px}
#pillar-status{margin-top:10px}
}