
/* fromm artist-side fan-made simulation; all selectors isolated */
.appscreen.fromm-screen{background:#fffafc;color:#29232c}
.fm-shell{height:100%;width:100%;min-height:0;position:relative;display:flex;flex-direction:column;overflow:hidden;background:#fffafd;color:#27222d;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif;letter-spacing:-.2px;-webkit-user-select:text;user-select:text}
.fm-shell *{box-sizing:border-box}
.fm-shell button{border:0;background:transparent;color:inherit;box-shadow:none;font-family:inherit;appearance:none;-webkit-appearance:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.fm-shell button:active{opacity:.68}
.fm-top{height:52px;min-height:52px;display:flex;align-items:center;gap:7px;justify-content:space-between;background:#fff;border-bottom:1px solid #f0e8ec;padding:0 13px;position:relative;z-index:2}
.fm-topbtn{width:41px;height:42px;flex:none;display:grid;place-items:center;padding:0!important;color:#6d616b!important}
.fm-topbtn svg{width:23px;height:23px;display:block}
.fm-heading{text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;flex:1;min-width:0;gap:2px}
.fm-heading strong{font-size:17px;font-weight:730;line-height:1.2}
.fm-heading small{font-size:10px;color:#a9a0a9;line-height:1.15}
.fm-fansort{font-size:12px!important;color:#8a7784!important;width:68px;white-space:nowrap;padding:8px 1px!important}
.fm-emptybtn{width:41px;flex:none}
.fm-scroll,.fm-replies{overflow-y:auto;min-height:0;flex:1;overscroll-behavior:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.fm-scroll::-webkit-scrollbar,.fm-replies::-webkit-scrollbar{display:none}
.fm-scroll{background:linear-gradient(180deg,#fffbfe,#fcf5fb);padding:8px 16px 21px}
.fm-date{background:#f1eaf0;color:#a298a3;width:fit-content;max-width:100%;margin:22px auto 15px;padding:6px 12px;border-radius:15px;text-align:center;font-size:11px;font-weight:530}
.fm-scene:first-child .fm-date{margin-top:9px}
.fm-msg{display:flex;flex-direction:row;gap:5px;align-items:flex-end;justify-content:flex-end;margin:3px 0 6px}
.fm-bubble{background:#f24e78;color:white;border-radius:17px 17px 5px 17px;font-size:14.2px;font-weight:500;line-height:1.52;max-width:78%;white-space:pre-wrap;overflow-wrap:anywhere;padding:10px 14px;box-shadow:0 2px 6px #e8457110}
.fm-bubble.fm-yo{min-width:35px;padding:9px 12px;text-align:center}
.fm-time{white-space:nowrap;font-size:10px;color:#a29aa3;align-self:flex-end;padding-bottom:3px}
.fm-replycard{width:calc(100% - 34px);display:block!important;margin:5px 1px 16px auto;padding:11px 12px!important;text-align:left!important;background:#fff!important;border:1px solid #f1e6ec!important;border-radius:14px!important;box-shadow:0 2px 10px #2e13200b!important}
.fm-cardtop{display:flex;justify-content:space-between;align-items:center;gap:7px}
.fm-cardtop b{font-size:12.3px;font-weight:680;white-space:nowrap}
.fm-cardtop span{font-size:12px;color:#e54d77;white-space:nowrap;font-weight:650}
.fm-preview{font-size:11.4px;color:#998e9b;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:7px;line-height:1.35}
.fm-composer{display:flex;align-items:flex-end;padding:9px 12px;min-height:59px;gap:9px;background:#fff;border-top:1px solid #f0e9ef;flex:none}
.fm-composer .fm-plus{width:34px;height:38px;flex:none;display:grid;place-items:center;color:#e85c83!important;padding:0!important}
.fm-composer svg{height:23px;width:23px;display:block}
.fm-composer textarea{flex:1;min-width:0;resize:none;height:35px;max-height:90px;outline:0;border:1px solid #f0eaf1!important;border-radius:18px;background:#f8f4f8!important;color:#332b34;padding:9px 11px;font-size:13px;line-height:1.25;font-family:inherit}
.fm-composer textarea::placeholder{color:#aaa1ab}
.fm-send{width:36px;height:38px;flex:none;display:grid;place-items:center;padding:0!important;color:#ed4470!important}
.fm-send:disabled{opacity:.3}
.fm-note{background:#fff;color:#b9adb9;padding:4px 10px 5px;text-align:center;font-size:10px;flex:none}
.fm-origin{background:#fffdfd;padding:16px 18px;border-bottom:1px solid #f1e9ef;flex:none}
.fm-origin small{font-size:11px;color:#9b909c;display:block;margin-bottom:8px}
.fm-origin strong{font-size:15px;color:#352b34;line-height:1.5;display:block;font-weight:680}
.fm-sortbar{padding:11px 17px;border-bottom:1px solid #f3ecf2;display:flex;align-items:center;justify-content:space-between;flex:none;background:#fff;font-size:12px}
.fm-sortbar b{font-weight:700}
.fm-sortbar button{font-size:12px;padding:4px 0!important;color:#9b7f91!important}
.fm-replies{background:#fff}
.fm-fan{padding:12px 16px;display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid #f6eff4}
.fm-avatar{height:36px;width:36px;flex:none;display:grid;place-items:center;border-radius:50%;background:#f6e9f0;color:#b27994;font-size:13px;font-weight:700}
.fm-avatar[data-c="1"]{background:#eeeafa;color:#9580ac}
.fm-avatar[data-c="2"]{background:#eaf4f1;color:#6a9c91}
.fm-avatar[data-c="3"]{background:#f9f0e7;color:#aa8c69}
.fm-fanbody{min-width:0;flex:1}
.fm-fanheader{display:flex;align-items:baseline;justify-content:space-between;gap:9px;margin:1px 0 4px}
.fm-fanheader b{font-size:12.7px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fm-fanheader time{flex:none;font-size:10px;color:#b6a9b3}
.fm-fantext{font-size:13px;line-height:1.54;white-space:pre-wrap;overflow-wrap:anywhere;color:#4c424d}
.fm-more{display:block!important;padding:12px 20px!important;border-radius:21px!important;background:#fbe9f1!important;color:#d74776!important;font-size:12px!important;font-weight:700!important;margin:19px auto 26px}
.fm-status{flex:1;display:grid;place-items:center;text-align:center;color:#9f8c9c;font-size:13px;line-height:1.7;padding:30px}
.fm-retry{padding:10px 15px!important;background:#fbe8f0!important;color:#d9436e!important;border-radius:16px!important;font-size:13px!important}
.fm-mask{position:absolute;inset:0;z-index:10;background:#19101875;display:flex;align-items:flex-end}
.fm-sheet{width:100%;background:#fff;border-radius:23px 23px 0 0;padding:21px 22px 25px}
.fm-sheet h3{font-size:18px;margin:0 0 10px}
.fm-sheet p{font-size:12px;line-height:1.65;color:#8f8290;margin:0 0 18px}
.fm-sheet button{display:block;width:100%;text-align:center;padding:12px!important;border-radius:13px!important;background:#fbe7f0!important;color:#d84875!important;font-weight:670;font-size:13px;margin-top:8px}
.fm-toast{position:absolute;bottom:92px;left:20px;right:20px;background:#3a303bea;color:white;text-align:center;padding:12px;border-radius:13px;z-index:12;font-size:12px}
@media (prefers-reduced-motion:reduce){.fm-shell *{scroll-behavior:auto!important}}
