.line-app{position:fixed;z-index:1200;inset:0;margin:auto;width:var(--o3o-stage-width);height:100vh;height:100dvh;padding-top:env(safe-area-inset-top);box-sizing:border-box;background:#fff;overflow:hidden;display:flex;flex-direction:column;overscroll-behavior:none;}
.line-app[hidden]{display:none;}
.line-stage{position:relative;flex:1;min-height:0;overflow:hidden;background:#fff;}
.line-login-screen,.line-main{position:absolute;inset:0;background:#fff;}
.line-login-screen[hidden],.line-main[hidden]{display:none;}
.login-view{position:absolute;inset:0;display:flex;flex-direction:column;padding:0 32px calc(18px + env(safe-area-inset-bottom));background:#fff;}
.login-view[hidden]{display:none;}
.login-welcome{align-items:center;justify-content:center;text-align:center;padding-bottom:24px;}
.login-line-mark{color:var(--line-green);font-size:100px;margin-top:auto;margin-bottom:24px;}
.login-title{font-size:26px;font-weight:var(--o3o-fw-850);letter-spacing:-.8px;line-height:1.15;}
.login-sub{font-size:14px;line-height:1.5;color:#8a8a8a;margin-top:8px;}
.login-actions{width:100%;margin-top:auto;padding-bottom:14px;display:grid;gap:10px;}
.line-primary{height:var(--o3o-long-button-height);border-radius:var(--o3o-long-button-radius);background:#007aff;color:#fff;font-size:16px;font-weight:var(--o3o-fw-760);display:flex;align-items:center;justify-content:center;width:100%;}
.line-apple{height:var(--o3o-long-button-height);border-radius:var(--o3o-long-button-radius);background:#000;color:#fff;font-size:16px;font-weight:var(--o3o-fw-700);display:flex;align-items:center;justify-content:center;gap:9px;width:100%;}
.line-apple .fa-svg{font-size:20px;}
.line-auth-exit{height:var(--o3o-long-button-height);border-radius:var(--o3o-long-button-radius);background:#f2f2f7;color:#111;font-size:15px;font-weight:var(--o3o-fw-600);display:flex;align-items:center;justify-content:center;width:100%;}
.icon-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;}
.icon-button .fa-svg{font-size:22px;}
.line-main{display:flex;flex-direction:column;}
.line-pages{position:relative;flex:1;min-height:0;overflow:hidden;}
.line-page{position:absolute;inset:0;display:flex;flex-direction:column;background:#fff;}
.line-page[hidden]{display:none;}
.line-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.line-header{height:64px;padding:8px 20px 4px;display:flex;align-items:center;justify-content:space-between;background:#fff;flex:0 0 auto;}
.line-desktop-back-zone{position:absolute;left:0;top:0;width:58px;height:64px;z-index:18;background:transparent;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.line-page[data-page="home"] .line-desktop-back-zone{width:72px;}
.line-header-title{font-size:29px;font-weight:var(--o3o-main-title-weight);letter-spacing:-1.1px;line-height:1;}
.line-header-actions{display:flex;align-items:center;gap:5px;}
.line-header .icon-button{width:38px;height:38px;}
.line-header .icon-button .fa-svg{font-size:21px;}
.line-search{margin:4px 20px 16px;height:48px;border-radius:7px;background:#f7f7f7;display:flex;align-items:center;gap:9px;padding:0 14px;color:#b9b9b9;flex:0 0 auto;overflow:hidden;}
.line-search .fa-svg{font-size:16px;}
.line-search input{flex:1;min-width:0;width:100%;height:100%;border:0;outline:0;background:transparent;box-shadow:none;border-radius:0;padding:0;margin:0;font-size:15px;color:#222;-webkit-appearance:none;appearance:none;}
.line-search input::placeholder{color:#b8b8b8;opacity:1;}
.line-search input::-webkit-search-decoration,.line-search input::-webkit-search-cancel-button,.line-search input::-webkit-search-results-button,.line-search input::-webkit-search-results-decoration{-webkit-appearance:none;display:none;}
.line-search .search-expand{margin-left:auto;font-size:17px;color:#a8a8a8;}
.line-tabbar[hidden]{display:none;}
.line-tabbar{height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);box-sizing:border-box;border-top:1px solid #efefef;background:#fff;display:grid;grid-template-columns:repeat(5,1fr);flex:0 0 auto;}
.line-tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#111;font-size:10.5px;font-weight:var(--o3o-fw-650);cursor:pointer;}
.line-tab .fa-svg{font-size:20px;}
.line-tab:not(.is-active){color:#222;}
.line-tab.is-active .fa-svg{color:#050505;}
.line-badge-dot{position:absolute;top:6px;right:28%;width:7px;height:7px;border-radius:50%;background:#ff375f;border:2px solid #fff;}
.line-avatar{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 auto;overflow:hidden;position:relative;background-position:center;background-size:cover;background-repeat:no-repeat;}
.line-avatar.sm{width:50px;height:50px;}
.line-avatar.xs{width:35px;height:35px;}
.line-avatar .line-avatar-placeholder,.msg-avatar .line-avatar-placeholder{width:100%;height:100%;display:block;flex:0 0 auto;pointer-events:none;}
.line-avatar .line-avatar-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none;}
.line-avatar.has-image .line-avatar-image{display:block;}
.line-avatar.has-image .line-avatar-placeholder{display:none;}
.line-avatar .fa-svg{width:42%;height:42%;font-size:inherit;}
.line-page[data-page="home"]{position:absolute;inset:0;background:#fff;}
.line-home-floating{position:absolute;z-index:20;top:22px;left:20px;right:20px;height:60px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;}
.line-home-avatar-button{width:60px;height:60px;border:0;padding:0;background:transparent;display:grid;place-items:center;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;}
.line-home-avatar-button .line-avatar{width:60px;height:60px;box-shadow:none;}
.line-home-actions{display:flex;align-items:center;gap:0;pointer-events:auto;}
.line-home-actions .icon-button{width:36px;height:36px;border-radius:0;background:transparent;}
.line-home-actions .icon-button .fa-svg{font-size:21px;color:#111;}
.line-page[data-page="home"]>.line-scroll{padding-top:90px;}
.home-profile{position:absolute;z-index:21;top:24px;left:94px;right:116px;padding:0;display:block;pointer-events:none;}
.home-profile-copy{min-width:0;width:100%;}
.home-profile-name{font-size:19px;font-weight:var(--o3o-fw-850);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.home-profile-bio{font-size:12px;color:#9c9c9c;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.home-profile-chip{margin-top:6px;display:inline-flex;align-items:center;gap:5px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:#111;font-size:10.5px;font-weight:var(--o3o-fw-650);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.home-profile-chip .fa-svg{color:#000;fill:currentColor;font-size:12px;flex:0 0 auto;}
.line-list-block{padding:2px 20px 7px;}
.friend-row{width:100%;height:48px;display:flex;text-align:left;align-items:center;gap:14px;font-size:16px;font-weight:var(--o3o-fw-650);}
.friend-row>.fa-svg{font-size:20px;width:22px;}
.friend-row .count{margin-left:4px;}
.friend-row .count.green{color:var(--line-green);}
.friend-row .chev{margin-left:auto;color:#dedede;font-size:14px;}
.line-section{padding:18px 20px 7px;}
.section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.section-title{font-size:17px;font-weight:var(--o3o-fw-850);}
.section-more{font-size:12px;color:#a5a5a5;}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 8px;}
.service-item{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:11.5px;line-height:1.15;cursor:pointer;}
.service-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;color:#111;}
.service-icon .fa-svg{font-size:28px;}
.service-item.music-service .service-icon{width:32px;height:42px;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:#000;}
.line-page-spacer{height:26px;}
.chat-header-title{display:flex;align-items:center;gap:6px;}
.chat-header-title .fa-svg{font-size:13px;}
.chat-list{padding:0 20px 8px;}
.chat-row{width:100%;height:88px;display:flex;align-items:center;gap:12px;cursor:pointer;text-align:left;}
.chat-copy{min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center;gap:6px;}
.chat-name{display:block;min-width:0;font-size:16px;font-weight:var(--o3o-fw-800);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.chat-preview{display:block;min-width:0;font-size:13px;color:#8c8c8c;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.chat-meta{align-self:stretch;min-width:58px;margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:8px;color:#aaa;font-size:11px;text-align:right;white-space:nowrap;}
.line-friend-profile{position:absolute;inset:0;z-index:30;background:#fff;display:flex;flex-direction:column;overflow:hidden;}
.line-friend-profile[hidden]{display:none;}
.line-profile-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:28px;}
.line-profile-hero{position:relative;height:286px;overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat;}
.line-profile-hero::after{content:"";position:absolute;inset:0;}
.line-profile-hero-top{position:absolute;left:9px;right:9px;top:7px;z-index:3;display:flex;justify-content:space-between;align-items:center;}
.line-profile-hero-button{width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.26);color:#fff;display:grid;place-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.line-profile-hero-button .fa-svg{font-size:18px;}
.line-profile-identity{position:absolute;left:20px;right:20px;bottom:17px;z-index:2;color:#fff;display:flex;align-items:flex-end;gap:13px;}
.line-profile-avatar{position:relative;width:76px;height:76px;border-radius:50%;border:2.5px solid #fff;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;}
.line-profile-avatar .line-avatar-placeholder{width:100%;height:100%;}
.line-profile-avatar .line-avatar-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none;}
.line-profile-avatar.has-image .line-avatar-image{display:block;}
.line-profile-avatar.has-image .line-avatar-placeholder{display:none;}
.line-profile-copy{min-width:0;padding-bottom:4px;}
.line-profile-name{font-size:23px;font-weight:var(--o3o-fw-850);letter-spacing:-.35px;line-height:1.08;}
.line-profile-status{font-size:12.5px;line-height:1.35;margin-top:5px;color:rgba(255,255,255,.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-profile-actions{position:relative;z-index:4;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:-18px;padding:28px 20px 12px;border-radius:18px 18px 0 0;border-bottom:8px solid #f5f5f5;background:#fff;box-shadow:0 -1px 0 rgba(0,0,0,.04);}
.line-profile-action{height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:11px;font-weight:var(--o3o-fw-650);color:#303033;}
.line-profile-action .fa-svg{font-size:20px;color:#111;}
.line-profile-line-logo{display:block;width:24px;height:24px;fill:currentColor;color:#111;}
.line-profile-action.primary .fa-svg{color:var(--line-green);}
.line-profile-about{padding:14px 20px 15px;border-bottom:8px solid #f5f5f5;}
.line-profile-section-title{font-size:15px;font-weight:var(--o3o-fw-800);margin-bottom:10px;}
.line-profile-about-row{min-height:31px;display:grid;grid-template-columns:26px 1fr;align-items:start;gap:4px;color:#4b4b4d;font-size:13px;line-height:1.35;}
.line-profile-about-row .fa-svg{font-size:15px;color:#8e8e93;margin-top:2px;}
.line-profile-gallery-head{height:47px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;}
.line-profile-gallery-head strong{font-size:15px;}
.line-profile-gallery-head span{font-size:12px;color:#8e8e93;}
.line-profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.line-profile-grid button{aspect-ratio:1/1;position:relative;overflow:hidden;}
.chatroom{--chat-canvas:#fff;--line-chat-bar-height:72px;--line-composer-height:calc(var(--line-chat-bar-height) + env(safe-area-inset-bottom));position:absolute;inset:0;background:var(--chat-canvas);display:flex;flex-direction:column;z-index:40;opacity:1;isolation:isolate;color:#000;}
.chatroom[hidden]{display:none;}
.chatroom-header{height:var(--line-chat-bar-height);min-height:var(--line-chat-bar-height);background:#fff;color:#000;display:flex;align-items:center;padding:6px 20px;flex:0 0 auto;border:0;outline:0;border-radius:0;box-shadow:none;position:relative;z-index:9;overflow:hidden;-webkit-backdrop-filter:none;backdrop-filter:none;-webkit-appearance:none;appearance:none;}
.chatroom-left{display:flex;align-items:center;min-width:0;flex:1;}
.chatroom-peer{display:flex;align-items:center;gap:10px;min-width:0;flex:1;}
.chatroom-peer-avatars{display:flex;align-items:center;flex:0 0 auto;min-width:68px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;}
.chatroom-peer-avatar{width:40px;height:40px;flex:0 0 40px;box-shadow:0 0 0 2px var(--o3o-frost-bg);}
.chatroom-peer-self{margin-left:-12px;z-index:2;}
.chatroom-peer-contact{z-index:1;}
.chatroom-peer-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;}
.chatroom-peer-name{max-width:145px;font-size:20px;font-weight:var(--o3o-fw-600);line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#000;text-align:left;}
.chatroom-peer-status{display:flex;align-items:center;gap:5px;max-width:112px;font:inherit;font-size:10.5px;font-weight:var(--o3o-fw-500);line-height:1;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;background:transparent;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.chatroom-online-dot{width:6px;height:6px;border-radius:50%;background:#34c759;flex:0 0 6px;}
.chatroom-actions{display:flex;align-items:center;gap:4px;color:rgba(138,141,145,.72);flex:0 0 auto;}
.chatroom-actions .icon-button{width:36px;height:36px;background:transparent;border:0;outline:0;box-shadow:none;color:rgba(138,141,145,.72);padding:0;-webkit-appearance:none;appearance:none;}
.chatroom .line-chat-header-fa{width:20px;height:20px;display:block;fill:currentColor;stroke:none;pointer-events:none;}
.chatroom-actions .line-chat-header-fa{width:19px;height:19px;}
.message-scroll{flex:1;min-height:0;overflow-y:auto;padding:15px 20px 18px;display:flex;flex-direction:column;gap:11px;background:transparent;overscroll-behavior:contain;border-top:.5px solid rgba(60,60,67,.18);border-bottom:.5px solid rgba(60,60,67,.18);box-sizing:border-box;}
.msg-line{display:flex;align-items:flex-end;gap:7px;}
.msg-line.me{justify-content:flex-end;}
.msg-line:not(.is-group-first){margin-top:-7px;}
.msg-avatar{position:relative;width:40px;height:40px;border-radius:50%;overflow:hidden;background:#e3e3e3;color:#a7a7a7;display:flex;align-items:center;justify-content:center;flex:0 0 40px;border:0;padding:0;cursor:pointer;}
.msg-line.is-group-first.is-group-last .msg-avatar{margin-bottom:14px;}
.msg-line:not(.is-group-first) .msg-avatar{visibility:hidden;pointer-events:none;}
.msg-content{position:relative;display:flex;flex-direction:column;gap:4px;max-width:min(76%,520px);align-items:flex-start;}
.msg-line.me .msg-content{align-items:flex-end;}
.msg-bubble{position:relative;z-index:0;max-width:100%;padding:8px 12px;border-radius:18px;background:#F2F2F2;color:#111;font-size:15px;line-height:1.4;word-break:break-word;white-space:pre-wrap;box-shadow:0 .5px 0 rgba(0,0,0,.035);-webkit-touch-callout:none;user-select:none;touch-action:pan-y;}
.msg-line.char .msg-bubble{background:#F2F2F2;}
.msg-line.me .msg-bubble{background:#D8D8D8;}
.msg-meta{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;color:#8E8E93;line-height:1;padding:0 2px;}
.msg-meta[hidden]{display:none;}
.msg-time{font-size:10px;color:inherit;white-space:nowrap;letter-spacing:-.08px;}
.msg-read-receipt{width:15px;height:15px;display:block;flex:0 0 15px;color:#8E8E93;}
.msg-read-receipt path{fill:none;stroke:currentColor;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;}
.msg-read-receipt .msg-read-receipt-second{display:none;}
.msg-read-receipt.is-double .msg-read-receipt-second{display:block;}
.msg-bubble::before,.msg-bubble::after{content:none;}
.msg-line.is-group-first.is-group-last .msg-bubble{border-radius:18px;}
.msg-line.char.is-group-first:not(.is-group-last) .msg-bubble{border-radius:18px 18px 18px 4px;}
.msg-line.char:not(.is-group-first):not(.is-group-last) .msg-bubble{border-radius:4px 18px 18px 4px;}
.msg-line.char.is-group-last:not(.is-group-first) .msg-bubble{border-radius:4px 18px 18px 18px;}
.msg-line.me.is-group-first:not(.is-group-last) .msg-bubble{border-radius:18px 18px 4px 18px;}
.msg-line.me:not(.is-group-first):not(.is-group-last) .msg-bubble{border-radius:18px 4px 4px 18px;}
.msg-line.me.is-group-last:not(.is-group-first) .msg-bubble{border-radius:18px 4px 18px 18px;}
.chat-composer{background:#fff;min-height:calc(var(--line-chat-bar-height) + env(safe-area-inset-bottom));padding:10px 9px calc(10px + env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:4px;flex:0 0 auto;border:0;outline:0;border-radius:0;box-shadow:none;position:relative;z-index:8;color:#5f6368;-webkit-backdrop-filter:none;backdrop-filter:none;-webkit-appearance:none;appearance:none;}
.composer-icon{width:34px;height:44px;display:flex;align-items:center;justify-content:center;color:rgba(138,141,145,.72);flex:0 0 auto;background:transparent;border:0;outline:0;box-shadow:none;padding:0;-webkit-appearance:none;appearance:none;}
.line-chat-fa{display:block;width:21px;height:21px;fill:currentColor;flex:0 0 auto;}
.composer-icon .line-chat-fa{width:21px;height:21px;}
.chat-input-wrap{min-height:44px;max-height:120px;display:flex;align-items:center;flex:1;min-width:0;padding:0 13px;border:0;outline:0;border-radius:22px;background:#f7f7f7;box-shadow:none;overflow:hidden;background-clip:padding-box;}
.chat-input{display:block;width:100%;height:44px;min-height:44px;max-height:120px;resize:none;line-height:25px;font-family:inherit;font-size:17px;font-weight:var(--o3o-fw-400);color:#000;caret-color:#000;overflow-y:hidden;border:0;outline:0;background:transparent;box-shadow:none;border-radius:0;padding:9.5px 0;margin:0;box-sizing:border-box;text-align:left;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;}
.chat-input:focus{border:0;outline:0;box-shadow:none;}
.chat-input::placeholder{color:#b0b0b5;font-weight:var(--o3o-fw-400);opacity:1;text-align:left;}
.composer-send{width:38px;height:44px;display:flex;align-items:center;justify-content:center;color:rgba(138,141,145,.72);background:transparent;border:0;outline:0;box-shadow:none;padding:0;flex:0 0 auto;opacity:1;-webkit-appearance:none;appearance:none;}
.composer-send:disabled{color:rgba(138,141,145,.72);opacity:1;}
.composer-send .line-chat-fa{width:21px;height:21px;}

/* Message long-press shortcuts. */
.line-message-quick-layer{--line-quick-y:50%;position:absolute;inset:0;z-index:40;background:rgba(0,0,0,.24);display:block;overflow:hidden;touch-action:none;}
.line-message-quick-layer[hidden]{display:none;}
.line-message-quick-stage{position:absolute;left:16px;right:16px;top:var(--line-quick-y);transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;pointer-events:none;}
.line-message-quick-stage.is-me{align-items:flex-end;}
.line-message-quick-stage.is-char{align-items:flex-start;}
.line-message-quick-reactions{height:54px;max-width:min(344px,calc(100vw - 32px));padding:0 10px;display:flex;align-items:center;gap:2px;border-radius:27px;background:#f7f7f7;box-shadow:0 2px 10px rgba(0,0,0,.13);pointer-events:auto;}
.line-message-quick-reaction{width:50px;height:50px;padding:0;border:0;border-radius:25px;background:transparent;color:#777;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;}
.line-message-quick-reaction:active,.line-message-quick-reaction.is-selected{background:#e5e5e7;color:#222;}
.line-message-quick-reaction-fa{width:22px;height:22px;display:block;fill:currentColor;}
.line-message-quick-reaction-text{display:block;font-size:19px;font-weight:700;line-height:1;letter-spacing:-.7px;}
.line-message-quick-preview{display:flex;min-width:0;max-width:min(286px,78vw);pointer-events:none;}
.line-message-quick-preview.is-me{justify-content:flex-end;}
.line-message-quick-preview.is-char{justify-content:flex-start;}
.line-message-quick-message{position:relative;max-width:100%;padding:9px 13px;border-radius:18px;background:#f2f2f2;color:#111;font-size:15px;line-height:1.38;white-space:pre-wrap;word-break:break-word;box-shadow:0 1px 5px rgba(0,0,0,.08);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;text-overflow:ellipsis;}
.line-message-quick-preview.is-sticker .line-message-quick-message{background:#fff;padding:10px 13px;color:#303033;}
.line-message-quick-panel{width:min(286px,78vw);border-radius:13px;background:#f7f7f8;box-shadow:0 3px 14px rgba(0,0,0,.16);overflow:hidden;pointer-events:auto;}
.line-message-quick-action{width:100%;height:47px;padding:0 13px;border:0;border-bottom:.5px solid rgba(60,60,67,.22);background:transparent;color:#111;display:flex;align-items:center;justify-content:space-between;gap:14px;font-family:inherit;font-size:15px;font-weight:var(--o3o-fw-400);line-height:1;text-align:left;-webkit-tap-highlight-color:transparent;}
.line-message-quick-action:last-child{border-bottom:0;}
.line-message-quick-action:active{background:#e8e8ea;}
.line-message-quick-action.is-danger{color:#d70015;}
.line-message-quick-action-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.line-message-quick-action-icon{width:21px;height:21px;display:flex;align-items:center;justify-content:center;flex:0 0 21px;color:#606064;}
.line-message-quick-action.is-danger .line-message-quick-action-icon{color:inherit;}
.line-message-quick-row-icon{width:19px;height:19px;display:block;}
.msg-tapback{position:absolute;z-index:2;bottom:12px;right:-11px;min-width:24px;height:24px;padding:0 5px;border:2px solid #fff;border-radius:13px;background:#f1f1f2;color:#555;display:flex;align-items:center;justify-content:center;box-sizing:border-box;box-shadow:0 1px 3px rgba(0,0,0,.12);font-size:10px;font-weight:700;line-height:1;}
.msg-line.char .msg-tapback{right:auto;left:-11px;}
.msg-tapback .line-message-quick-reaction-fa{width:13px;height:13px;}
.msg-tapback .line-message-quick-reaction-text{font-size:10px;letter-spacing:-.3px;}
.line-message-quick-toast{position:absolute;z-index:45;left:50%;bottom:calc(var(--line-chat-bar-height) + env(safe-area-inset-bottom) + 18px);max-width:calc(100% - 40px);transform:translateX(-50%);padding:8px 12px;border-radius:8px;background:rgba(30,30,30,.9);color:#fff;font-size:12px;line-height:1.25;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;box-shadow:0 4px 14px rgba(0,0,0,.18);}
.line-message-quick-toast[hidden]{display:none;}
.line-message-reply-bar{flex:0 0 auto;min-height:43px;padding:7px 13px 7px 20px;background:#f7f7f7;border-top:.5px solid rgba(60,60,67,.12);display:flex;align-items:center;gap:12px;z-index:8;}
.line-message-reply-bar[hidden]{display:none;}
.line-message-reply-copy{min-width:0;flex:1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;}
.line-message-reply-copy span{font-size:12px;font-weight:var(--o3o-fw-650);color:#5f6368;white-space:nowrap;}
.line-message-reply-copy strong{min-width:0;font-size:12px;font-weight:var(--o3o-fw-500);color:#7b7b80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-message-reply-cancel{flex:0 0 auto;border:0;background:transparent;color:#7b7b80;padding:6px 7px;font:inherit;font-size:12px;}
.msg-reply-quote{max-width:100%;margin:0 0 5px;padding:0 0 5px 7px;border-left:2px solid rgba(70,70,70,.35);font-size:11px;line-height:1.25;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.line-chat-status-layer{position:absolute;z-index:12;top:var(--line-chat-bar-height);left:0;right:0;bottom:calc(var(--line-chat-bar-height) + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;padding:10px 30px 12px;background:transparent;overflow:hidden;}
.line-chat-status-layer[hidden]{display:none;}
.line-chat-status-card{width:100%;max-width:none;max-height:min(66dvh,560px);display:flex;flex-direction:column;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.075);animation:line-status-in .2s cubic-bezier(.2,.8,.2,1);}
@keyframes line-status-in{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.line-chat-status-hero{position:relative;min-height:208px;flex:0 0 208px;background:#7f8584 center/cover no-repeat;overflow:hidden;color:#fff;}
.line-chat-status-hero.is-fallback{background:linear-gradient(145deg,#8c918e,#565b58);}
.line-chat-status-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42px;background:linear-gradient(180deg,rgba(68,68,68,0),rgba(68,68,68,.30));pointer-events:none;}
.line-chat-status-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.46));}
.line-chat-status-profile{position:relative;z-index:1;height:100%;box-sizing:border-box;padding:14px 14px 24px;display:flex;flex-direction:column;align-items:flex-start;}
.line-chat-status-person{width:100%;display:flex;align-items:center;gap:11px;min-width:0;}
.line-chat-status-avatar{width:52px;height:52px;flex:0 0 52px;border:1.5px solid rgba(255,255,255,.92);box-shadow:0 4px 14px rgba(0,0,0,.18);}
.line-chat-status-identity{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;max-width:calc(100% - 63px);text-shadow:0 1px 5px rgba(0,0,0,.38);}
.line-chat-status-identity strong{max-width:100%;font-size:18px;font-weight:var(--o3o-fw-700);line-height:1.14;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-chat-status-identity span{max-width:100%;font-size:10.5px;line-height:1.3;color:rgba(255,255,255,.91);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-chat-status-metrics{margin-top:10px;display:flex;align-items:center;gap:17px;font-size:10.5px;color:rgba(255,255,255,.9);}
.line-chat-status-metric{display:flex;align-items:baseline;gap:4px;white-space:nowrap;border:0;background:transparent;color:inherit;padding:0;font:inherit;text-align:left;-webkit-tap-highlight-color:transparent;}
.line-chat-status-metric b{font-size:14.5px;font-weight:var(--o3o-fw-750);color:#fff;}
.line-chat-status-metric input{width:58px;height:20px;border:0;outline:0;border-radius:5px;background:rgba(255,255,255,.16);color:#fff;font:inherit;font-size:14px;font-weight:var(--o3o-fw-750);padding:0 4px;box-shadow:none;appearance:textfield;-moz-appearance:textfield;}
.line-chat-status-metric input::-webkit-inner-spin-button,.line-chat-status-metric input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.line-chat-status-actions{width:100%;margin-top:auto;display:grid;gap:7px;}
.line-chat-status-action-row{width:100%;display:flex;align-items:center;gap:7px;}
.line-chat-status-action{height:31px;min-width:0;padding:0 11px;border-radius:8px;background:rgba(72,72,72,.46);border:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#fff;font-size:11px;font-weight:var(--o3o-fw-600);}
.line-chat-status-action.is-group{width:100%;}
.line-chat-status-action.is-follow,.line-chat-status-action.is-message{flex:1;}
.line-chat-status-action.is-follow{background:#ff2243;}
.line-chat-status-action.is-add{width:31px;flex:0 0 31px;padding:0;}
.line-chat-status-action-icon{width:14px;height:14px;display:block;fill:none;stroke:currentColor;stroke-width:2;}
.line-chat-status-feed{position:relative;z-index:2;margin-top:-17px;min-height:0;flex:1;overflow-y:auto;background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -10px 18px -15px rgba(0,0,0,.42);padding:17px 12px 16px;overscroll-behavior:contain;scrollbar-width:none;}
.line-chat-status-feed::-webkit-scrollbar{display:none;}
.line-chat-status-feed-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 2px 10px;}
.line-chat-status-feed-head strong{font-size:17px;font-weight:var(--o3o-fw-700);color:#111;}
.line-chat-status-feed-head span{font-size:10.5px;color:#8e8e93;}
.line-chat-status-empty{min-height:126px;display:flex;align-items:center;justify-content:center;padding:18px 8px 24px;color:#a1a1a6;font-size:13px;font-weight:var(--o3o-fw-500);text-align:center;}
.line-chat-status-posts{column-count:2;column-gap:9px;}
.line-chat-status-post{display:inline-block;width:100%;min-width:0;margin:0 0 9px;overflow:hidden;break-inside:avoid;border:.5px solid rgba(60,60,67,.13);border-radius:10px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04);vertical-align:top;}
.line-chat-status-post-image{display:block;width:100%;height:auto;object-fit:cover;background:#f2f2f7;}
.line-chat-status-post:nth-child(1) .line-chat-status-post-image{aspect-ratio:4/3;}
.line-chat-status-post:nth-child(2) .line-chat-status-post-image{aspect-ratio:4/5;}
.line-chat-status-post:nth-child(3) .line-chat-status-post-image{aspect-ratio:3/2;}
.line-chat-status-post-copy{background:#fff;padding:8px 8px 7px;}
.line-chat-status-post-copy>strong{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:var(--o3o-fw-650);line-height:1.35;color:#171717;}
.line-chat-status-post-meta{margin-top:7px;display:flex;align-items:center;gap:4px;min-width:0;color:#7c7c80;font-size:12px;line-height:1.1;}
.line-chat-status-post-avatar{width:20px;height:20px;flex:0 0 20px;border:0;box-shadow:none;}
.line-chat-status-post-author{min-width:0;max-width:34%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4a4a4d;font-weight:var(--o3o-fw-500);}
.line-chat-status-post-time{flex:0 0 auto;white-space:nowrap;color:#8e8e93;}
.line-chat-status-favorite{margin-left:auto;display:inline-flex;align-items:center;gap:3px;color:#6e6e73;white-space:nowrap;font-weight:var(--o3o-fw-500);}
.line-chat-status-meta-icon{width:15px;height:15px;display:block;fill:none;stroke:currentColor;stroke-width:2;}
.chatroom[data-chat-appearance="soft"]{--chat-canvas:#f3f1ee;}
.chatroom[data-chat-appearance="soft"] .message-scroll{background:var(--chat-canvas);}
.chatroom[data-chat-appearance="soft"] .msg-line.char .msg-bubble{background:#fff;}
.chatroom[data-chat-appearance="soft"] .msg-line.me .msg-bubble{background:#d9e8d8;}
.chatroom[data-chat-appearance="night"]{--chat-canvas:#111;background:var(--chat-canvas);color:#fff;}
.chatroom[data-chat-appearance="night"] .message-scroll{background:#111;}
.chatroom[data-chat-appearance="night"] .chatroom-header,.chatroom[data-chat-appearance="night"] .chat-composer{background:#fff;color:#000;}
.chatroom[data-chat-appearance="night"] .chatroom-peer-name,.chatroom[data-chat-appearance="night"] .chatroom-peer-status,.chatroom[data-chat-appearance="night"] .chatroom-actions,.chatroom[data-chat-appearance="night"] .chat-input{color:#000;}
.chatroom[data-chat-appearance="night"] .composer-icon{color:rgba(138,141,145,.72);}
.chatroom[data-chat-appearance="night"] .msg-line.char .msg-bubble{background:#2c2c2e;color:#fff;}
.chatroom[data-chat-appearance="night"] .msg-line.me .msg-bubble{background:#3a3a3c;color:#fff;}
.chatroom.has-wallpaper{background-position:center;background-size:cover;background-repeat:no-repeat;}
.chatroom.has-wallpaper .message-scroll{background:transparent;}
.chatroom.has-wallpaper[data-chat-appearance="soft"] .message-scroll,.chatroom.has-wallpaper[data-chat-appearance="night"] .message-scroll{background:transparent;}
.line-chat-settings{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;background:#f2f2f7;color:#111;}
.line-chat-settings[hidden]{display:none;}
.line-chat-settings-header{height:72px;padding:8px 20px 4px;display:flex;align-items:center;background:#f2f2f7;flex:0 0 auto;}
.line-chat-settings-title{margin:0;padding:0;border:0;background:transparent;color:#111;text-align:left;font:inherit;font-size:32px;font-weight:var(--o3o-main-title-weight);line-height:1;letter-spacing:-1.15px;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.line-chat-settings-scroll{flex:1;min-height:0;overflow-y:auto;padding:0 20px calc(32px + env(safe-area-inset-bottom));overscroll-behavior:contain;}
.line-chat-settings-hero{padding:28px 0 30px;display:flex;flex-direction:column;align-items:center;text-align:center;}
.line-chat-settings-avatars{height:94px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;}
.line-chat-settings-avatar-picker{position:relative;width:88px;height:88px;flex:0 0 88px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.line-chat-settings-avatar-picker.is-contact{z-index:1;}
.line-chat-settings-avatar-picker.is-self{margin-left:-22px;z-index:2;}
.line-chat-settings-avatar{width:88px;height:88px;box-shadow:0 0 0 3px #f2f2f7;}
.line-chat-settings-avatar-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;}
.line-chat-settings-names{max-width:100%;margin-top:13px;font-size:18px;font-weight:var(--o3o-fw-600);line-height:1.25;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-chat-settings-card{width:100%;max-width:540px;margin:0 auto 16px;border-radius:16px;overflow:hidden;background:#fff;}
.line-chat-settings-row{position:relative;width:100%;min-height:58px;padding:8px 14px;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:10px;border:0;background:transparent;color:#111;text-align:left;}
.line-chat-settings-row+.line-chat-settings-row::before{content:"";position:absolute;left:58px;right:0;top:0;height:.5px;background:rgba(60,60,67,.18);}
.line-chat-settings-row-icon{width:30px;height:30px;border-radius:5px;display:grid;place-items:center;flex:0 0 30px;color:#fff;background:#8e8e93;}
.line-chat-settings-row-icon svg{width:18px;height:18px;display:block;fill:currentColor;}
.line-chat-settings-row[data-line-chat-setting="remark"] .line-chat-settings-row-icon{background:#8e8e93;}
.line-chat-settings-row[data-line-chat-setting="editContact"] .line-chat-settings-row-icon{background:#007aff;}
.line-chat-settings-row[data-line-chat-setting="memory"] .line-chat-settings-row-icon{background:#5856d6;}
.line-chat-settings-row[data-line-chat-setting="beautify"] .line-chat-settings-row-icon{background:#ff9500;}
.line-chat-settings-row[data-line-chat-setting="more"] .line-chat-settings-row-icon{background:#34c759;}
.line-chat-settings-row-label{min-width:0;font-size:16px;font-weight:var(--o3o-fw-500);line-height:1.2;}
.line-chat-settings-row-chevron{display:grid;place-items:center;color:#c7c7cc;}
.line-chat-settings-row-chevron svg{width:16px;height:16px;}
.line-chat-settings-danger-actions{width:100%;max-width:540px;margin:2px auto 0;display:grid;gap:10px;}
.line-chat-settings-danger-button{width:100%;min-height:50px;padding:0 16px;border:0;border-radius:14px;background:#fff;color:#ff3b30;text-align:center;font:inherit;font-size:16px;font-weight:var(--o3o-fw-500);letter-spacing:-.18px;box-shadow:0 .5px 0 rgba(0,0,0,.04);}
.line-chat-settings-danger-button.is-strong{font-weight:var(--o3o-fw-600);}
.line-chat-settings-danger-button:active{background:#f9f9fb;}
.line-chat-setting-form{padding:18px 18px calc(22px + env(safe-area-inset-bottom));display:grid;gap:14px;}
.line-chat-setting-field{padding:12px 14px;border-radius:14px;background:#fff;display:grid;gap:7px;}
.line-chat-setting-field span{font-size:12px;font-weight:var(--o3o-fw-600);color:#6e6e73;}
.line-chat-setting-field input,.line-chat-setting-field textarea,.line-chat-setting-field select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#111;font:inherit;font-size:16px;line-height:1.4;resize:vertical;}
.line-chat-setting-field textarea{min-height:112px;}
.line-chat-setting-save{margin-top:2px;}
.timeline-head-title{display:flex;align-items:baseline;gap:9px;}
.timeline-head-title .explore{font-size:26px;color:#d5d5d5;font-weight:var(--o3o-fw-850);}
.story-strip{display:flex;gap:13px;overflow-x:auto;padding:5px 20px 15px;scrollbar-width:none;}
.story-strip::-webkit-scrollbar{display:none;}
.story{width:58px;flex:0 0 58px;text-align:center;font-size:11px;}
.story-ring{width:58px;height:58px;border:2px solid var(--line-green);border-radius:50%;padding:3px;}
.story-ring .line-avatar{width:100%;height:100%;}
.timeline-add-plus{display:block;width:28px;height:28px;flex:0 0 28px;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;}
.story-name{margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.timeline-feed{padding-bottom:90px;}
.feed-card{border-top:1px solid #f0f0f0;padding-top:11px;}
.feed-author{height:50px;display:flex;align-items:center;padding:0 20px;gap:10px;}
.feed-author-name{font-size:14px;font-weight:var(--o3o-fw-800);}
.feed-author .ellipsis-btn{margin-left:auto;font-size:18px;}
.feed-media{width:100%;aspect-ratio:1.22;background:#d9d9d9;}
.feed-body{padding:13px 20px 15px;}
.feed-text{font-size:14px;line-height:1.5;}
.feed-actions{display:flex;align-items:center;gap:13px;margin-top:12px;}
.feed-actions button{display:flex;align-items:center;gap:5px;font-size:12px;}
.feed-actions .fa-svg{font-size:18px;}
.feed-actions .sticker-count{margin-left:auto;}
.feed-time{font-size:11px;color:#bbb;margin-top:7px;}
.timeline-fab{position:absolute;right:20px;bottom:84px;width:58px;height:58px;border-radius:50%;background:var(--line-green);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:none;z-index:4;}
.timeline-fab .fa-svg{font-size:25px;}
.today-header{height:64px;padding:8px 20px 4px;display:flex;align-items:center;justify-content:space-between;}
.today-title{font-size:27px;font-weight:var(--o3o-main-title-weight);letter-spacing:-1px;}
.today-channels{height:46px;display:flex;align-items:center;gap:20px;padding:0 20px;border-bottom:1px solid #ededed;overflow-x:auto;white-space:nowrap;scrollbar-width:none;}
.today-channels::-webkit-scrollbar{display:none;}
.today-channel{font-size:14px;color:#9a9a9a;height:46px;display:flex;align-items:center;position:relative;}
.today-channel.active{font-weight:var(--o3o-fw-800);color:#111;}
.today-channel.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#111;}
.today-dot{width:5px;height:5px;border-radius:50%;background:var(--line-green);position:absolute;top:7px;right:-6px;}
.today-hero{margin:0 0 16px;position:relative;}
.today-hero-img{width:100%;height:232px;background:#dedede;}
.today-hero-card{margin:-44px 20px 0;position:relative;background:#fff;border-radius:4px;padding:13px 14px 12px;border:1px solid #f1f1f1;}
.today-label{display:inline-flex;background:#3c84d9;color:#fff;padding:3px 7px;border-radius:3px;font-size:11px;margin-right:7px;}
.today-headline{font-size:17px;font-weight:var(--o3o-fw-840);line-height:1.35;}
.today-source{font-size:11px;color:#bbb;margin-top:6px;}
.today-news-list{padding:0 20px 20px;display:grid;gap:13px;}
.today-news{display:grid;grid-template-columns:118px 1fr;gap:12px;align-items:center;}
.today-news-img{height:74px;border-radius:2px;background:#ececec;}
.today-news-title{font-size:14px;font-weight:var(--o3o-fw-700);line-height:1.4;}
.today-news-source{font-size:10.5px;color:#bbb;margin-top:5px;}
.wallet-content{padding:0 20px 24px;}
.wallet-card{border:1px solid #ececec;border-radius:7px;margin-top:6px;overflow:hidden;}
.wallet-balance{padding:18px 16px 14px;display:grid;grid-template-columns:1fr auto;align-items:center;}
.wallet-brand{font-size:11px;font-weight:var(--o3o-fw-850);}
.wallet-brand .pay{color:var(--line-green);}
.wallet-amount{font-size:24px;font-weight:var(--o3o-fw-900);margin-top:4px;}
.wallet-points{font-size:13px;color:#9b9b9b;margin-top:2px;display:flex;align-items:center;gap:5px;}
.point-dot{width:17px;height:17px;border-radius:50%;background:var(--line-green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:var(--o3o-fw-850);}
.wallet-scan{display:flex;gap:18px;font-size:22px;}
.wallet-quick{border-top:1px solid #f0f0f0;height:66px;display:grid;grid-template-columns:repeat(3,1fr);}
.wallet-quick button{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:var(--o3o-fw-700);}
.wallet-quick .fa-svg{font-size:17px;}
.wallet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 7px;margin-top:20px;}
.wallet-service{text-align:center;font-size:10.5px;line-height:1.2;}
.wallet-service-icon{height:34px;display:flex;align-items:center;justify-content:center;}
.wallet-service-icon .fa-svg{font-size:25px;}
.wallet-service-name{margin-top:7px;}
.wallet-promo{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;margin-top:30px;align-items:center;}
.wallet-promo-img{height:118px;border-radius:5px;background:#dedede;}
.wallet-promo-title{font-size:14px;line-height:1.45;}
.wallet-promo-sub{font-size:11px;color:#999;margin-top:4px;}
.wallet-products{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.wallet-product{height:173px;border-radius:7px;background:#f0f0f0;}
.wallet-product:nth-child(2){background:#e5e5e5;}
.sheet-row{min-height:52px;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;gap:12px;}
.sheet-row .fa-svg{font-size:19px;}
.sheet-row.danger{color:#e03434;}
.compose-text{width:100%;min-height:150px;resize:none;font-size:16px;line-height:1.5;margin-top:15px;}
.compose-footer{display:flex;justify-content:flex-end;margin-top:14px;}
.compose-footer .line-primary{width:88px;height:40px;border-radius:6px;}
@media (max-width:380px){.line-header-title{font-size:27px}
.service-grid{gap:16px 6px}
.today-hero-img{height:210px}
}
.line-avatar,.line-profile-avatar{background:var(--global-avatar-bg);background-image:none;color:inherit;}
.line-profile-hero,.line-profile-grid button{background:var(--global-image-placeholder);background-image:none;}
.line-lucide-search{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;}
.timeline-add-avatar{background:var(--line-green);display:flex;align-items:center;justify-content:center;color:#fff;}
.feed-stats-row{margin-top:4px;}
.wallet-amount-plus{font-size:16px;}
.wallet-shopping-title{margin-top:28px;}
.line-profile-hero.tone-mint{background:linear-gradient(145deg,#cfe4dd,#9fbfb6)}
.line-profile-hero.tone-self{background:linear-gradient(145deg,#dcdcdc,#bfc5c5)}
.line-app.is-sheet-open .line-tabbar{display:none;}
.line-chat-empty{min-height:300px;padding:62px 28px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#8e8e93;}
.line-chat-empty strong{font-size:17px;font-weight:var(--o3o-fw-700);color:#222;}
.line-chat-empty span{margin-top:6px;font-size:13px;line-height:1.45;}
.line-global-drawer{z-index:1450;}
.line-global-panel.is-phone-contacts{height:min(72dvh,620px);}
.line-global-content{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden;}
.line-global-head{position:relative;}
.line-global-body{padding:8px 14px calc(12px + env(safe-area-inset-bottom));min-height:0;}
.line-add-friend-body{padding-top:6px;}
.line-add-friend-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:4px 0 10px;background:transparent;}
.line-add-friend-actions button{min-width:0;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#111;font-size:12px;font-weight:var(--o3o-fw-560);background:transparent;border:0;padding:0;}
.line-add-friend-action-icon{width:34px;height:34px;display:grid;place-items:center;color:#111;background:transparent;}
.line-add-friend-action-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.line-add-friend-card{margin:0;background:#fff;border-radius:10px;overflow:hidden;}
.line-add-friend-feature{width:100%;min-height:64px;padding:0 13px;background:transparent;border:0;border-radius:0;display:grid;grid-template-columns:28px minmax(0,1fr) 20px;gap:11px;align-items:center;text-align:left;color:#111;}
.line-add-friend-feature-icon{width:28px;height:28px;display:grid;place-items:center;color:#111;background:transparent;border:0;border-radius:0;}
.line-add-friend-feature-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.line-add-friend-feature-copy{min-width:0;display:flex;flex-direction:column;gap:3px;}
.line-add-friend-feature-copy strong{font-size:16px;font-weight:var(--o3o-fw-650);line-height:1.2;}
.line-add-friend-feature-copy small{font-size:12px;color:#8e8e93;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-add-friend-tail{width:20px;height:28px;display:grid;place-items:center;color:#c7c7cc;}
.line-add-friend-tail svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.line-phone-contacts-body{display:flex;flex-direction:column;min-height:0;flex:1;padding:8px 14px calc(10px + env(safe-area-inset-bottom));}
.line-phone-contacts-search{height:42px;margin:0 0 8px;border-radius:10px;background:#e9e9ee;display:flex;align-items:center;gap:8px;padding:0 11px;color:#8e8e93;flex:0 0 auto;}
.line-phone-contacts-search svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.line-phone-contacts-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font-size:16px;color:#111;padding:0;}
.line-phone-contacts-list{min-height:0;overflow-y:auto;background:#fff;border-radius:10px;overscroll-behavior:contain;flex:1;}
.line-phone-contact-row{min-height:64px;padding:7px 12px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:11px;align-items:center;position:relative;}
.line-phone-contact-row+.line-phone-contact-row::before{content:"";position:absolute;left:69px;right:12px;top:0;height:.5px;background:rgba(60,60,67,.16);}
.line-phone-contact-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;position:relative;background:var(--global-avatar-bg);display:grid;place-items:center;}
.line-phone-contact-avatar .line-avatar-placeholder{width:100%;height:100%;}
.line-phone-contact-avatar .line-avatar-image,.msg-avatar .line-avatar-image,.line-profile-avatar .line-avatar-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none;}
.line-phone-contact-avatar.has-image .line-avatar-image,.msg-avatar.has-image .line-avatar-image,.line-profile-avatar.has-image .line-avatar-image{display:block;}
.line-phone-contact-avatar.has-image .line-avatar-placeholder,.msg-avatar.has-image .line-avatar-placeholder,.line-profile-avatar.has-image .line-avatar-placeholder{display:none;}
.line-phone-contact-copy{min-width:0;display:flex;flex-direction:column;gap:3px;}
.line-phone-contact-copy strong{font-size:16px;font-weight:var(--o3o-fw-620);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-phone-contact-copy small{font-size:12px;color:#8e8e93;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-phone-contact-add{height:34px;padding:0 4px;display:inline-flex;align-items:center;gap:5px;background:transparent;color:#111;font-size:13px;font-weight:var(--o3o-fw-650);border:0;}
.line-phone-contact-add svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.line-phone-contact-add.is-added,.line-phone-contact-add:disabled{color:#a1a1a6;}
.line-phone-contacts-empty{padding:58px 24px;text-align:center;color:#8e8e93;font-size:14px;}
.line-friend-accordion{border-bottom:.5px solid rgba(60,60,67,.12);}
.line-friend-accordion:last-child{border-bottom:0;}
.line-friend-accordion>.friend-row{height:50px;}
.line-accordion-chevron{transition:transform .22s ease;transform-origin:center;}
.line-friend-accordion.is-expanded .line-accordion-chevron{transform:rotate(180deg);}
.line-home-friend-list[hidden]{display:none;}
.line-home-friend-list{padding:1px 0 7px 36px;}
.line-home-friend-person{width:100%;min-height:60px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;text-align:left;border:0;background:transparent;padding:7px 0;position:relative;}
.line-home-friend-person+.line-home-friend-person::before{content:"";position:absolute;left:53px;right:0;top:0;height:.5px;background:rgba(60,60,67,.12);}
.line-home-friend-person .line-avatar{width:42px;height:42px;}
.line-home-friend-copy{min-width:0;display:flex;flex-direction:column;gap:3px;}
.line-home-friend-copy strong{font-size:15px;font-weight:var(--o3o-fw-650);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-home-friend-copy small{font-size:12px;color:#8e8e93;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-home-friend-empty{min-height:48px;display:flex;align-items:center;color:#8e8e93;font-size:13px;}
.line-page[data-page="chats"] .line-header{position:relative;z-index:22;}
.line-chat-create-menu{position:absolute;z-index:28;top:57px;right:15px;width:158px;padding:4px 0;background:rgba(255,255,255,.98);border:.5px solid rgba(60,60,67,.16);border-radius:12px;box-shadow:0 10px 26px rgba(0,0,0,.12);overflow:hidden;}
.line-chat-create-menu[hidden]{display:none;}
.line-chat-create-menu button{width:100%;height:46px;padding:0 15px;display:flex;align-items:center;text-align:left;background:transparent;border:0;color:#111;font-size:15px;font-weight:var(--o3o-fw-560);}
.line-chat-create-menu button+button{border-top:.5px solid rgba(60,60,67,.12);}
.line-global-panel.is-chat-config{height:min(76dvh,680px);max-height:min(76dvh,680px);}
.line-chat-config-form{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden;}
.line-chat-config-scroll{min-height:0;flex:1;overflow-y:auto;padding:8px 14px 16px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.line-chat-config-footer{flex:0 0 auto;padding:10px 14px calc(12px + env(safe-area-inset-bottom));border-top:.5px solid rgba(60,60,67,.16);background:rgba(249,249,249,.96);}
.line-new-chat-form{min-height:0;flex:1;overflow-y:auto;padding:8px 14px calc(14px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain;}
.line-new-chat-field{display:flex;flex-direction:column;gap:7px;padding:11px 12px 12px;background:#f7f7f8;border-radius:12px;}
.line-new-chat-label{font-size:12px;font-weight:var(--o3o-fw-650);color:#6e6e73;}
.line-new-chat-field select,.line-new-chat-field input,.line-new-chat-field textarea{width:100%;min-width:0;border:0;outline:0;box-shadow:none;background:transparent;color:#111;font-family:inherit;font-size:16px;font-weight:var(--o3o-fw-500);padding:0;margin:0;}
.line-new-chat-field select,.line-new-chat-field input{height:30px;}
.line-new-chat-field textarea{min-height:88px;line-height:1.45;resize:vertical;}
.line-new-chat-hint{padding:0 4px;color:#8e8e93;font-size:12px;line-height:1.4;}
.line-new-chat-done{margin:0;flex:0 0 auto;}
.line-new-chat-done:disabled{background:#d1d1d6;color:#fff;}
.line-group-chat-entry{padding:26px 20px calc(28px + env(safe-area-inset-bottom));color:#8e8e93;font-size:14px;line-height:1.5;text-align:center;}


/* World-book entry binding: books remain visual groups; threads bind individual entries. */
.line-world-entry-picker{min-height:0;display:flex;flex-direction:column;gap:8px;padding:11px 12px 12px;background:#f7f7f8;border-radius:12px;}
.line-world-entry-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;}
.line-world-entry-head strong{font-size:12px;font-weight:var(--o3o-fw-650);color:#6e6e73;}
.line-world-entry-head small{font-size:10.5px;color:#8e8e93;text-align:right;line-height:1.25;}
.line-world-entry-scroll{max-height:min(31dvh,280px);overflow-y:auto;display:flex;flex-direction:column;gap:8px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.line-world-entry-group{overflow:hidden;border-radius:10px;background:#fff;flex:0 0 auto;}
.line-world-entry-book{min-height:34px;padding:6px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;font-weight:var(--o3o-fw-650);color:#8e8e93;}
.line-world-entry-book>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-world-entry-book>button{flex:0 0 auto;border:0;background:transparent;color:#007aff;padding:4px 0 4px 8px;font:inherit;font-size:11px;font-weight:var(--o3o-fw-650);text-align:right;}
.line-world-entry-row{min-height:44px;padding:7px 10px;display:flex;align-items:center;gap:10px;border-top:.5px solid rgba(60,60,67,.14);cursor:pointer;}
.line-world-entry-row input{width:18px;height:18px;min-width:18px;accent-color:#007aff;}
.line-world-entry-row>span{min-width:0;display:flex;flex-direction:column;gap:2px;}
.line-world-entry-row strong{font-size:14px;font-weight:var(--o3o-fw-550);color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-world-entry-row small{font-size:10.5px;color:#8e8e93;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-world-entry-row em{font-style:normal;font-size:10.5px;line-height:1.3;color:#636366;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.line-world-entry-row.is-disabled{opacity:.52;}
.line-chat-setting-help{display:block;margin-top:4px;color:#8e8e93;font-size:11px;line-height:1.35;}

/* Sticker Shop — native iOS-style management surface. */
.line-sticker-shop{position:absolute;inset:0;z-index:56;display:flex;flex-direction:column;background:#f2f2f7;color:#111;}
.line-sticker-shop[hidden]{display:none;}
.line-sticker-shop-header{height:58px;flex:0 0 58px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:0 10px;background:rgba(249,249,249,.92);border-bottom:.5px solid rgba(60,60,67,.16);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);}
.line-sticker-shop-header strong{font-size:17px;font-weight:var(--o3o-fw-650);text-align:center;}
.line-sticker-nav-button{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:#007aff;padding:0;border-radius:50%;}
.line-sticker-nav-button svg{width:19px;height:19px;fill:currentColor;}
.line-sticker-nav-button.is-add{justify-self:end;}
.line-sticker-shop-scroll{flex:1;min-height:0;overflow-y:auto;padding:16px 16px calc(28px + env(safe-area-inset-bottom));overscroll-behavior:contain;}
.line-sticker-shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;}
.line-sticker-group-card{position:relative;width:100%;min-width:0;padding:0;border:0;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04),0 10px 24px rgba(0,0,0,.04);text-align:left;color:#111;aspect-ratio:1/1;display:grid;grid-template-rows:minmax(0,1fr) auto;-webkit-tap-highlight-color:transparent;}
.line-sticker-group-preview{position:relative;display:flex;align-items:center;justify-content:center;background:#ececf1;padding:0;overflow:hidden;min-height:0;}
.line-sticker-group-preview img{width:100%;height:100%;object-fit:cover;display:block;}
.line-sticker-group-placeholder{width:100%;height:100%;border-radius:0;background:#d1d1d6;display:flex;align-items:center;justify-content:center;color:#fff;}
.line-sticker-group-placeholder svg{width:28px;height:28px;fill:currentColor;}
.line-sticker-group-copy{position:relative;min-height:84px;padding:16px 12px 14px;display:flex;flex-direction:column;justify-content:flex-start;gap:4px;background:#fff;}
.line-sticker-group-copy::before{content:"";position:absolute;left:0;right:0;top:0;width:100%;height:14px;box-sizing:border-box;background:#fff;border-top:.5px solid rgba(60,60,67,.12);border-top-left-radius:999px;border-top-right-radius:999px;transform:translateY(-100%);}
.line-sticker-group-copy strong{font-size:14px;font-weight:var(--o3o-fw-650);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;}
.line-sticker-group-copy small{font-size:11.5px;color:#8e8e93;}
.line-sticker-shop-empty{grid-column:1/-1;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#8e8e93;gap:7px;}
.line-sticker-shop-empty strong{font-size:17px;color:#3a3a3c;font-weight:var(--o3o-fw-600);}
.line-sticker-shop-empty span{max-width:250px;font-size:13px;line-height:1.45;}

.line-sticker-dialog-layer{position:fixed;inset:0;z-index:1420;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(0,0,0,.26);font-family:var(--user-font-family,-apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", sans-serif);-webkit-font-smoothing:antialiased;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
.line-sticker-dialog-layer.is-bottom-sheet{align-items:flex-end;justify-content:center;padding:0;background:rgba(0,0,0,.22);} 
.line-sticker-dialog-layer.is-open{display:flex;}
.line-sticker-dialog-layer.is-open .line-sticker-dialog:not(.is-sheet){transform:scale(1);}
.line-sticker-dialog-layer.is-action{z-index:1460;background:rgba(0,0,0,.30);}
.line-sticker-dialog-layer.is-confirm{z-index:1470;background:rgba(0,0,0,.36);}
.line-sticker-dialog{position:relative;width:min(368px,calc(100vw - 44px));max-height:min(82dvh,720px);display:flex;flex-direction:column;overflow:hidden;border:.5px solid rgba(255,255,255,.42);border-radius:14px;background:rgba(248,248,248,.94);color:#111;box-shadow:0 12px 42px rgba(0,0,0,.24);-webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4);transform:scale(.94);transition:transform .18s ease;} 
.line-sticker-dialog.is-sheet{width:min(100%,var(--o3o-drawer-max));max-width:100%;max-height:min(72dvh,620px);border:0;border-radius:18px 18px 0 0;background:#f2f2f7;box-shadow:0 -12px 38px rgba(0,0,0,.15);transform:translateY(0);} 
.line-sticker-dialog.is-sheet::before{content:"";position:absolute;top:7px;left:50%;width:36px;height:5px;border-radius:999px;background:#c7c7cc;transform:translateX(-50%);} 
.line-sticker-dialog-head{min-height:42px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(242,242,247,.9);border-bottom:.5px solid rgba(60,60,67,.12);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);} 
.line-sticker-dialog.is-sheet .line-sticker-dialog-head{min-height:58px;padding:8px 12px 0;display:grid;grid-template-columns:72px minmax(0,1fr) 72px;gap:0;}
.line-sticker-dialog.is-sheet .line-sticker-dialog-head>.line-sticker-text-button{justify-self:start;}
.line-sticker-dialog.is-sheet .line-sticker-dialog-title{grid-column:2;grid-row:1;}
.line-sticker-dialog.is-sheet .line-sticker-dialog-actions{grid-column:3;grid-row:1;justify-self:end;}
.line-sticker-dialog-head.is-centered{min-height:0;padding:20px 18px 0;justify-content:center;text-align:center;background:transparent;border-bottom:0;-webkit-backdrop-filter:none;backdrop-filter:none;}
.line-sticker-dialog-head.is-centered .line-sticker-dialog-title{align-items:center;}
.line-sticker-dialog-head.is-centered .line-sticker-dialog-title strong{font-size:19px;line-height:1.25;letter-spacing:-.2px;}
.line-sticker-dialog-title{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px;text-align:center;}
.line-sticker-dialog-title strong{font-size:17px;font-weight:var(--o3o-fw-650);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-sticker-dialog-title small{font-size:11px;color:#8e8e93;line-height:1.35;}
.line-sticker-dialog-actions{display:flex;align-items:center;gap:2px;}
.line-sticker-text-button{height:36px;padding:0 8px;border:0;background:transparent;color:#007aff;font:inherit;font-size:14px;font-weight:var(--o3o-fw-550);}
.line-sticker-text-button.is-danger{color:#ff3b30;}
.line-sticker-icon-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;padding:0;background:transparent;color:#007aff;}
.line-sticker-icon-button.is-danger{color:#ff3b30;}
.line-sticker-action-icon{width:18px;height:18px;display:block;fill:currentColor;stroke:none;}
.line-sticker-action-dialog{width:min(270px,calc(100vw - 44px));max-height:min(82dvh,720px);border-radius:14px;background:rgba(248,248,248,.94);}
.line-sticker-center-form{min-height:0;display:flex;flex-direction:column;}
.line-sticker-center-body{min-height:0;padding:19px 17px 17px;text-align:center;}
.line-sticker-center-title{font-size:17px;font-weight:var(--o3o-fw-650);letter-spacing:-.25px;}
.line-sticker-center-message{margin-top:5px;color:#3a3a3c;font-size:12px;line-height:1.38;}
.line-sticker-center-scroll{max-height:min(52dvh,430px);margin-top:14px;overflow-y:auto;overscroll-behavior:contain;text-align:left;}
.line-sticker-center-field{display:block;margin-top:14px;text-align:left;}
.line-sticker-center-field>span{display:block;margin:0 0 5px 2px;color:#636366;font-size:10px;}
.line-sticker-center-field select{width:100%;height:36px;padding:0 10px;border:.5px solid rgba(60,60,67,.3);border-radius:8px;outline:0;background:rgba(255,255,255,.86);color:#111;font:inherit;font-size:12px;}
.line-sticker-center-status{margin-top:8px;color:#636366;font-size:10px;line-height:1.3;text-align:left;}
.line-sticker-center-actions{display:grid;grid-template-columns:1fr 1fr;border-top:.5px solid rgba(60,60,67,.28);}
.line-sticker-center-actions button{min-height:44px;padding:8px;border:0;background:transparent;color:#007aff;font:inherit;font-size:15px;}
.line-sticker-center-actions button+button{border-left:.5px solid rgba(60,60,67,.28);font-weight:var(--o3o-fw-600);}
.line-sticker-center-actions button:disabled{opacity:.45;}
.line-sticker-center-scroll .line-sticker-import-status{display:block;margin-top:8px;white-space:normal;text-align:left;}
.line-sticker-dialog-body{min-height:0;overflow-y:auto;padding:14px 16px 16px;overscroll-behavior:contain;}
.line-sticker-dialog.is-sheet .line-sticker-dialog-body{padding:12px 14px calc(16px + env(safe-area-inset-bottom));}
.line-sticker-form{display:flex;flex-direction:column;gap:14px;}
.line-sticker-create-copy{padding:7px 24px 0;color:#8e8e93;font-size:12px;line-height:1.4;text-align:center;}
.line-sticker-field-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-left:4px;}
.line-sticker-field-head>span{color:#6e6e73;font-size:12px;font-weight:var(--o3o-fw-600);}
.line-sticker-import-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:0;background:transparent;color:#007aff;padding:0;}
.line-sticker-import-icon svg,.line-sticker-import-fa{display:block;width:18px;height:18px;fill:currentColor;stroke:none;pointer-events:none;}
.line-sticker-field{display:flex;flex-direction:column;gap:8px;}
.line-sticker-field>span{padding-left:4px;color:#6e6e73;font-size:12px;font-weight:var(--o3o-fw-600);}
.line-sticker-field input,.line-sticker-field textarea,.line-sticker-field select{width:100%;box-sizing:border-box;border:.5px solid rgba(60,60,67,.12);border-radius:18px;background:#fff;color:#111;font:inherit;font-size:15px;outline:0;padding:13px 14px;}
.line-sticker-field textarea{min-height:184px;resize:vertical;line-height:1.45;}
.line-sticker-import-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:-2px;}
.line-sticker-form-footer{display:flex;align-items:center;gap:12px;padding-top:2px;}
.line-sticker-form-footer .line-sticker-primary,.line-sticker-form-footer .line-sticker-secondary{flex:1;}
.line-sticker-secondary{height:48px;border:0;border-radius:16px;background:#e9e9ee;color:#111;font:inherit;font-size:15px;font-weight:var(--o3o-fw-650);}
.line-sticker-import-status{min-width:0;flex:1;color:#8e8e93;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-sticker-primary{height:48px;border:0;border-radius:16px;background:#007aff;color:#fff;font:inherit;font-size:15px;font-weight:var(--o3o-fw-650);}
.line-sticker-primary:disabled,.line-sticker-secondary:disabled{opacity:.48;}
.line-sticker-switch-row{min-height:50px;padding:0 2px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.line-sticker-switch-row>span{font-size:15px;font-weight:var(--o3o-fw-500);}
.line-ios-switch{position:relative;width:51px;height:31px;flex:0 0 51px;}
.line-ios-switch input{position:absolute;opacity:0;pointer-events:none;}
.line-ios-switch span{position:absolute;inset:0;border-radius:999px;background:#e9e9ea;transition:background .18s ease;}
.line-ios-switch span::after{content:"";position:absolute;width:27px;height:27px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.18);transition:transform .18s ease;}
.line-ios-switch input:checked+span{background:#34c759;}
.line-ios-switch input:checked+span::after{transform:translateX(20px);}
.line-sticker-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 8px;padding:10px 0 8px;}
.line-sticker-detail-empty{grid-column:1/-1;min-height:160px;}
.line-sticker-item{position:relative;min-width:0;border:0;background:transparent;padding:0;color:#111;display:flex;flex-direction:column;align-items:center;gap:5px;-webkit-tap-highlight-color:transparent;}
.line-sticker-item-visual{position:relative;width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:0;background:transparent;overflow:hidden;padding:0;box-sizing:border-box;box-shadow:none;}
.line-sticker-item img{display:block;width:100%;height:100%;object-fit:contain;}
.line-sticker-item-name{display:block;width:100%;font-size:10.5px;color:#3a3a3c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;}
.line-sticker-item-check{position:absolute;top:-2px;right:-2px;width:22px;height:22px;border-radius:50%;display:none;align-items:center;justify-content:center;background:#007aff;color:#fff;border:2px solid #f2f2f7;font-size:13px;font-weight:700;}
.line-sticker-dialog.is-editing .line-sticker-item-check{display:flex;background:#c7c7cc;}
.line-sticker-dialog.is-editing .line-sticker-item.is-selected .line-sticker-item-check{background:#007aff;}
.line-sticker-edit-toolbar{position:sticky;bottom:-16px;margin:10px -14px -16px;padding:10px 10px calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:6px;background:rgba(249,249,249,.96);border-top:.5px solid rgba(60,60,67,.15);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);}
.line-sticker-edit-toolbar button{flex:1;height:36px;border:0;border-radius:9px;background:#e9e9ee;color:#007aff;font:inherit;font-size:12px;font-weight:var(--o3o-fw-600);}
.line-sticker-edit-toolbar button.is-danger{color:#ff3b30;}
.line-sticker-selected-copy{padding:4px 2px 8px;font-size:11px;color:#8e8e93;}
.line-sticker-edit-name-list{display:flex;flex-direction:column;gap:8px;}
.line-sticker-edit-name-row{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:9px;padding:7px;border-radius:12px;background:#fff;}
.line-sticker-edit-preview{position:relative;width:48px;height:48px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:9px;background:#f2f2f7;}
.line-sticker-edit-name-row img{width:48px;height:48px;object-fit:contain;border-radius:9px;background:#f2f2f7;}
.line-sticker-edit-fields{min-width:0;display:flex;flex-direction:column;gap:6px;}
.line-sticker-edit-name-row input{width:100%;min-width:0;height:36px;box-sizing:border-box;border:.5px solid rgba(60,60,67,.14);border-radius:9px;padding:0 9px;font:inherit;font-size:13px;}
.line-sticker-confirm{width:min(270px,calc(100vw - 44px));overflow:hidden;border:.5px solid rgba(255,255,255,.42);border-radius:14px;background:rgba(248,248,248,.94);color:#111;box-shadow:0 12px 42px rgba(0,0,0,.24);text-align:center;-webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4);}
.line-sticker-confirm-copy{padding:19px 17px 17px;display:flex;flex-direction:column;gap:5px;}
.line-sticker-confirm-copy strong{font-size:17px;font-weight:var(--o3o-fw-650);letter-spacing:-.25px;}
.line-sticker-confirm-copy span{font-size:12px;line-height:1.38;color:#3a3a3c;}
.line-sticker-confirm-actions{display:grid;grid-template-columns:1fr 1fr;border-top:.5px solid rgba(60,60,67,.28);}
.line-sticker-confirm-actions button{min-height:44px;padding:8px;border:0;background:transparent;color:#007aff;font:inherit;font-size:15px;}
.line-sticker-confirm-actions button+button{border-left:.5px solid rgba(60,60,67,.28);}
.line-sticker-confirm-actions .is-danger{color:#ff3b30;font-weight:var(--o3o-fw-600);}

/* Floating sticker chooser above the composer. */
.line-sticker-panel{position:absolute;z-index:7;left:10px;right:10px;bottom:calc(var(--line-composer-height) + 20px);height:min(292px,42dvh);display:flex;flex-direction:column;border:.5px solid rgba(60,60,67,.10);border-radius:18px;background:rgba(248,248,250,.94);box-shadow:0 10px 30px rgba(0,0,0,.12);overflow:hidden;opacity:0;transform:translateY(14px) scale(.985);pointer-events:none;transition:opacity .2s ease,transform .25s cubic-bezier(.2,.8,.2,1);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);}
.line-sticker-panel.is-open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.line-sticker-panel-groups{height:47px;flex:0 0 47px;display:flex;align-items:center;gap:5px;padding:6px 8px;overflow-x:auto;overflow-y:hidden;border-bottom:.5px solid rgba(60,60,67,.12);scrollbar-width:none;}
.line-sticker-panel-groups::-webkit-scrollbar{display:none;}
.line-sticker-panel-group{height:34px;max-width:132px;padding:0 11px;border:0;border-radius:10px;background:transparent;color:#636366;font:inherit;font-size:12px;font-weight:var(--o3o-fw-550);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 0 auto;}
.line-sticker-panel-group.is-active{background:#e5e5ea;color:#111;}
.line-sticker-panel-body{flex:1;min-height:0;overflow-y:auto;padding:8px 8px 10px;overscroll-behavior:contain;touch-action:pan-y;}
.line-sticker-panel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.line-sticker-panel-empty{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;color:#8e8e93;font-size:13px;padding:20px;}
.line-sticker-panel .line-sticker-item-visual{background:transparent;border-radius:0;padding:0;}
.chatroom[data-chat-appearance="night"] .line-sticker-panel{background:rgba(35,35,37,.94);border-color:rgba(255,255,255,.12);}
.chatroom[data-chat-appearance="night"] .line-sticker-panel-group{color:#aeaeb2;}
.chatroom[data-chat-appearance="night"] .line-sticker-panel-group.is-active{background:#3a3a3c;color:#fff;}
.chatroom[data-chat-appearance="night"] .line-sticker-panel .line-sticker-item-name{color:#fff;}

.msg-bubble.is-sticker{--line-sticker-radius:18px;padding:0;background:transparent;box-shadow:none;border-radius:var(--line-sticker-radius);width:100px;height:100px;max-width:100px;max-height:100px;overflow:hidden;}
.msg-sticker-image{display:block;width:100px;height:100px;max-width:100px;max-height:100px;object-fit:contain;border-radius:inherit;box-shadow:none;background:transparent;}
.line-sticker-group-preview.is-broken::after,.line-sticker-item-visual.is-broken::after,.line-sticker-edit-preview.is-broken::after,.msg-bubble.is-sticker.is-broken::after{content:"图片不可用";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:8px;box-sizing:border-box;background:#e5e5ea;color:#8e8e93;font-size:10px;line-height:1.2;text-align:center;}
.line-sticker-group-preview img:not([src]),.line-sticker-item img:not([src]),.line-sticker-edit-preview img:not([src]),.msg-sticker-image:not([src]){visibility:hidden;}
.msg-line.has-sticker .msg-content{max-width:100px;}
.msg-line.is-group-first.is-group-last .msg-bubble.is-sticker{--line-sticker-radius:18px;border-radius:var(--line-sticker-radius);}
.msg-line.char.is-group-first:not(.is-group-last) .msg-bubble.is-sticker{--line-sticker-radius:18px 18px 18px 4px;border-radius:var(--line-sticker-radius);}
.msg-line.char:not(.is-group-first):not(.is-group-last) .msg-bubble.is-sticker{--line-sticker-radius:4px 18px 18px 4px;border-radius:var(--line-sticker-radius);}
.msg-line.char.is-group-last:not(.is-group-first) .msg-bubble.is-sticker{--line-sticker-radius:4px 18px 18px 18px;border-radius:var(--line-sticker-radius);}
.msg-line.me.is-group-first:not(.is-group-last) .msg-bubble.is-sticker{--line-sticker-radius:18px 18px 4px 18px;border-radius:var(--line-sticker-radius);}
.msg-line.me:not(.is-group-first):not(.is-group-last) .msg-bubble.is-sticker{--line-sticker-radius:18px 4px 4px 18px;border-radius:var(--line-sticker-radius);}
.msg-line.me.is-group-last:not(.is-group-first) .msg-bubble.is-sticker{--line-sticker-radius:18px 4px 18px 18px;border-radius:var(--line-sticker-radius);}
.chatroom[data-chat-appearance] .msg-line .msg-bubble.is-sticker{background:transparent;}

.line-sticker-dialog.is-sticker-create{width:min(270px,calc(100vw - 44px));max-height:calc(100dvh - 44px);border-radius:14px;}
.line-sticker-dialog.is-sticker-create .line-sticker-dialog-head.is-centered{padding:19px 17px 0;}
.line-sticker-dialog.is-sticker-create .line-sticker-dialog-head.is-centered .line-sticker-dialog-title strong{font-size:17px;}
.line-sticker-dialog.is-sticker-create .line-sticker-dialog-body{padding:14px 16px 16px;}
.line-sticker-dialog.is-sticker-create .line-sticker-form{gap:10px;}
.line-sticker-dialog.is-sticker-create .line-sticker-field input,.line-sticker-dialog.is-sticker-create .line-sticker-field textarea{border-radius:12px;}
.line-sticker-dialog.is-sticker-create .line-sticker-field textarea{min-height:104px;max-height:24dvh;}
.line-sticker-dialog.is-sticker-create .line-sticker-form-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:2px -16px -16px;padding:0;border-top:.5px solid rgba(60,60,67,.18);}
.line-sticker-dialog.is-sticker-create .line-sticker-form-footer .line-sticker-primary,.line-sticker-dialog.is-sticker-create .line-sticker-form-footer .line-sticker-secondary{height:44px;border:0;border-radius:0;background:transparent;color:#007aff;font-size:15px;font-weight:var(--o3o-fw-500);}
.line-sticker-dialog.is-sticker-create .line-sticker-form-footer .line-sticker-primary{border-left:.5px solid rgba(60,60,67,.18);font-weight:var(--o3o-fw-650);}

.line-chat-theme-wrap{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 18px calc(20px + env(safe-area-inset-bottom));scrollbar-width:none;}
.line-chat-theme-wrap::-webkit-scrollbar{display:none;}
.line-chat-theme-wrap .theme-wallpaper-block{margin:8px 0 14px;}
.line-chat-theme-wrap .theme-mode-row{margin-top:10px;}
.line-chat-wallpaper-preview{width:100%;height:130px;border-radius:12px;background:#d1d1d6 center/cover no-repeat;overflow:hidden;position:relative;}
.line-chat-wallpaper-preview::after{content:"Chat Wallpaper";position:absolute;left:10px;bottom:9px;padding:4px 7px;border-radius:7px;background:rgba(0,0,0,.28);color:#fff;font-size:10px;font-weight:var(--o3o-fw-600);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
.line-chat-theme-file{display:none;}
.line-chat-theme-wrap .theme-actions .theme-action .theme-action-icon.fa-svg,.line-chat-theme-wrap .theme-actions .theme-action>svg.fa-svg{width:24px;height:24px;display:block;fill:currentColor;stroke:none;}

.line-chat-collapse-pill{position:sticky;top:8px;align-self:center;z-index:2;border:0;border-radius:999px;padding:5px 11px;background:rgba(112,112,118,.44);color:#fff;font:inherit;font-size:10.5px;font-weight:var(--o3o-fw-500);line-height:1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 2px 6px rgba(0,0,0,.08);margin:0 0 6px;}
.line-chat-collapse-pill[hidden]{display:none;}
.chatroom.is-preparing{visibility:hidden;pointer-events:none;}

.line-chat-system-notice{align-self:center;width:min(100%,560px);margin:2px 0;flex:0 0 auto;}
.line-chat-system-details{width:100%;overflow:hidden;border-radius:13px;background:#f2f2f7;color:#3a3a3c;box-shadow:inset 0 0 0 .5px rgba(60,60,67,.1);}
.line-chat-system-summary{display:list-item;padding:9px 12px;cursor:pointer;user-select:none;-webkit-user-select:none;font-size:12px;line-height:1.35;color:#636366;}
.line-chat-system-summary::marker{color:#8e8e93;font-size:10px;}
.line-chat-system-label{font-weight:var(--o3o-fw-600);color:#8e8e93;margin-right:7px;}
.line-chat-system-title{font-weight:var(--o3o-fw-600);color:#3a3a3c;}
.line-chat-system-details[open] .line-chat-system-summary{border-bottom:.5px solid rgba(60,60,67,.14);}
.line-chat-system-body{display:flex;flex-direction:column;gap:10px;padding:10px 12px 12px;font-size:11.5px;line-height:1.45;color:#48484a;word-break:break-word;}
.line-chat-system-reason,.line-chat-system-response{display:flex;flex-direction:column;gap:4px;}
.line-chat-system-reason strong,.line-chat-system-response strong{font-size:10.5px;font-weight:var(--o3o-fw-600);color:#8e8e93;}
.line-chat-system-reason>div,.line-chat-system-response>div{white-space:pre-wrap;overflow-wrap:anywhere;}
.line-chat-system-meta{display:flex;flex-direction:column;border-top:.5px solid rgba(60,60,67,.12);}
.line-chat-system-meta-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;padding:6px 0;border-bottom:.5px solid rgba(60,60,67,.1);}
.line-chat-system-meta-row:last-child{border-bottom:0;padding-bottom:0;}
.line-chat-system-meta-row>span:first-child{color:#8e8e93;}
.line-chat-system-meta-row>span:last-child{min-width:0;overflow-wrap:anywhere;color:#3a3a3c;}

/* LINE composer extensions. Font Awesome Free 6.7.2 Classic Solid is supplied by the JS registry. */
#chatComposerMore .line-chat-fa{transition:transform .22s cubic-bezier(.2,.82,.2,1);transform-origin:center;}
#chatComposerMore.is-open .line-chat-fa{transform:rotate(45deg);}
#chatComposerMore:focus-visible,#chatComposerEmoji:focus-visible,.line-more-sheet-button:focus-visible,.line-more-secondary:focus-visible,.line-more-camera-actions button:focus-visible,.line-offline-back:focus-visible,.line-offline-new:focus-visible,.line-offline-composer button:focus-visible{outline:2px solid #007aff;outline-offset:2px;}
.line-more-panel,.line-more-subsheet{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC",sans-serif;}
.line-more-panel[hidden],.line-more-subsheet[hidden],.line-image-viewer[hidden],.line-camera-viewer[hidden],.line-offline-scene[hidden]{display:none;}
.line-more-panel{position:absolute;z-index:7;left:10px;right:10px;bottom:calc(var(--line-composer-height) + 20px);padding:16px 12px;border:.5px solid rgba(60,60,67,.10);border-radius:18px;background:rgba(248,248,250,.94);box-shadow:0 10px 30px rgba(0,0,0,.12);animation:line-more-in .22s cubic-bezier(.2,.82,.2,1);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);}
.line-more-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));row-gap:15px;column-gap:6px;width:100%;}
.line-more-action{min-width:0;border:0;background:transparent;color:#303033;padding:0 2px;display:flex;flex-direction:column;align-items:center;gap:7px;font:inherit;font-size:11.5px;font-weight:400;line-height:1.2;-webkit-tap-highlight-color:transparent;}
.line-more-action:disabled{opacity:.34;}
.line-more-action:focus-visible{outline:2px solid #007aff;outline-offset:3px;border-radius:16px;}
.line-more-icon-box{width:56px;height:56px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--line-green);box-shadow:0 .5px 0 rgba(0,0,0,.08);}
.line-more-action:active .line-more-icon-box{background:#e5e5ea;transform:scale(.97);}
.line-more-icon{display:block;width:23px;height:23px;fill:currentColor;stroke:none;pointer-events:none;}
.line-more-label{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-more-subsheet{position:absolute;inset:0;z-index:75;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(0,0,0,.26);animation:line-more-in .2s cubic-bezier(.2,.82,.2,1);overflow:hidden;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
.line-more-dialog{width:min(270px,calc(100vw - 44px));max-height:calc(100% - 44px);display:flex;flex-direction:column;overflow:hidden;border:.5px solid rgba(255,255,255,.42);border-radius:14px;background:rgba(248,248,248,.96);color:#111;box-shadow:0 12px 42px rgba(0,0,0,.24);-webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4);}
.line-more-dialog-body{min-height:0;overflow-y:auto;padding:19px 17px 17px;text-align:left;overscroll-behavior:contain;}
.line-more-dialog-title{display:block;margin-bottom:12px;text-align:center;font-size:17px;font-weight:var(--o3o-fw-650);line-height:1.25;}
.line-more-dialog-actions{flex:0 0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:.5px solid rgba(60,60,67,.18);}
.line-more-dialog-actions .line-more-sheet-button{min-height:44px;padding:0;text-align:center;font-size:15px;}
.line-more-dialog-actions .line-more-sheet-button+.line-more-sheet-button{border-left:.5px solid rgba(60,60,67,.18);}
.line-more-dialog-actions .line-more-sheet-button.is-primary{text-align:center;font-weight:var(--o3o-fw-650);}
.line-more-sheet-head{min-height:38px;display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;gap:4px;}
.line-more-sheet-head strong{text-align:center;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-more-sheet-button{border:0;background:transparent;color:#007aff;padding:8px 0;font:inherit;font-size:14px;text-align:left;}
.line-more-sheet-button.is-primary{text-align:right;font-weight:600;}
.line-more-form{display:flex;flex-direction:column;gap:10px;padding:5px 0 0;}
.line-more-field{display:flex;flex-direction:column;gap:6px;min-width:0;}
.line-more-field>span{padding-left:3px;color:#6e6e73;font-size:11.5px;}
.line-more-field input,.line-more-field textarea{width:100%;box-sizing:border-box;border:.5px solid rgba(60,60,67,.15);border-radius:12px;background:#fff;color:#111;font:inherit;font-size:15px;line-height:1.35;outline:0;padding:11px 12px;}
.line-more-field textarea{min-height:84px;resize:vertical;}
.line-more-field input:focus,.line-more-field textarea:focus{box-shadow:0 0 0 2px rgba(0,122,255,.18);border-color:#007aff;}
.line-more-hint,.line-more-error{font-size:11px;line-height:1.4;padding:0 3px;}
.line-more-hint{color:#8e8e93;}.line-more-error{color:#c6262e;}
.line-more-secondary{height:42px;border:0;border-radius:12px;background:#fff;color:#007aff;font:inherit;font-size:14px;font-weight:500;}
.line-more-camera{width:100%;display:block;max-height:38dvh;border-radius:13px;background:#111;object-fit:contain;}
.line-more-camera-preview{width:100%;max-height:38dvh;border-radius:13px;background:#111;object-fit:contain;display:block;}
.line-more-camera-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;}
.line-more-camera-actions button{height:44px;border:0;border-radius:12px;background:#fff;color:#007aff;font:inherit;font-size:14px;font-weight:600;}
.line-more-camera-actions button:only-child{grid-column:1/-1}.line-more-camera-actions button[hidden]{display:none}
.line-more-file-input{display:none;}
@keyframes line-more-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* Typed message cards. */
.msg-bubble.is-image,.msg-bubble.is-card,.msg-bubble.is-camera,.msg-bubble.is-sticker{padding:0;background:transparent;box-shadow:none;overflow:hidden;}
.msg-image-button{display:block;max-width:min(68vw,320px);border:0;border-radius:16px;background:#e5e5ea;padding:0;overflow:hidden;}
.msg-image-button img{display:block;width:100%;max-height:360px;object-fit:cover;}
.msg-image-caption{display:block;padding:7px 10px;background:#f2f2f2;color:#3a3a3c;font-size:12px;text-align:left;}
.msg-camera-button{display:block;width:150px;height:150px;border:0;border-radius:inherit;background:transparent;padding:0;overflow:hidden;}
.msg-camera-button img{display:block;width:150px;height:150px;object-fit:cover;}
.msg-voice-button{display:block;width:190px;min-width:0;max-width:100%;border:0;background:transparent;color:inherit;padding:0;text-align:left;font:inherit;transition:width .3s ease,max-width .3s ease;}
.msg-voice-summary{min-height:22px;display:flex;align-items:center;justify-content:space-between;gap:18px;}
.msg-voice-wave{height:20px;display:flex;align-items:center;gap:3px;overflow:hidden;}
.msg-voice-wave i{display:block;width:2px;border-radius:999px;background:currentColor;opacity:.62;transform-origin:center;}
.msg-voice-wave i:nth-child(1),.msg-voice-wave i:nth-child(5){height:6px}.msg-voice-wave i:nth-child(2),.msg-voice-wave i:nth-child(4){height:11px}.msg-voice-wave i:nth-child(3){height:17px}
.msg-voice-duration{font-size:12px;color:#6e6e73;}
.msg-voice-details{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .22s ease,opacity .18s ease;}
.msg-voice-details-inner{display:block;min-height:0;overflow:hidden;white-space:pre-wrap;word-break:break-word;}
.msg-voice-button.is-expanded{width:max-content;max-width:min(70vw,320px);}
.msg-voice-button.is-expanded .msg-voice-details{grid-template-rows:1fr;opacity:1;}
.msg-voice-button.is-expanded .msg-voice-details-inner{margin-top:8px;padding-top:8px;border-top:.5px solid rgba(60,60,67,.18);}
.msg-voice-button.is-expanded .msg-voice-wave i{animation:line-voice-wave 2.1s ease-in-out infinite;}
.msg-voice-button.is-expanded .msg-voice-wave i:nth-child(2){animation-delay:.15s}.msg-voice-button.is-expanded .msg-voice-wave i:nth-child(3){animation-delay:.3s}.msg-voice-button.is-expanded .msg-voice-wave i:nth-child(4){animation-delay:.45s}.msg-voice-button.is-expanded .msg-voice-wave i:nth-child(5){animation-delay:.6s}
@keyframes line-voice-wave{0%,100%{transform:scaleY(.68);opacity:.48}50%{transform:scaleY(1);opacity:.72}}
.msg-typed-card{width:min(70vw,286px);border-radius:16px;overflow:hidden;background:#fff;color:#111;box-shadow:inset 0 0 0 .5px rgba(60,60,67,.12);}
.msg-typed-card-main{padding:13px 14px;display:flex;flex-direction:column;gap:4px;}
.msg-typed-card-title{font-size:15px;font-weight:600;line-height:1.25;overflow-wrap:anywhere;}
.msg-typed-card-detail{font-size:12px;line-height:1.35;color:#6e6e73;overflow-wrap:anywhere;}
.msg-typed-card-foot{padding:6px 14px;border-top:.5px solid rgba(60,60,67,.12);font-size:10px;color:#8e8e93;}
.msg-typed-card.is-red-packet{background:#e9674d;color:#fff;box-shadow:none;}.msg-typed-card.is-red-packet .msg-typed-card-detail{color:rgba(255,255,255,.82);}.msg-typed-card.is-red-packet .msg-typed-card-foot{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.78);}
.msg-typed-card.is-transfer{background:#edf5fb;}.msg-typed-card.is-transfer .msg-typed-card-title{font-variant-numeric:tabular-nums;color:#315f82;}
.msg-typed-card.is-structure-error{background:#fff0f0;color:#9b1c25;}.msg-typed-card.is-structure-error .msg-typed-card-detail{color:#9b1c25;}
.msg-card-link{display:block;color:inherit;text-decoration:none}.msg-image-button.is-broken{min-height:120px}.msg-image-button.is-broken::after{content:"图片资源不可用";display:grid;place-items:center;min-height:120px;color:#8e8e93;font-size:12px}.msg-image-button.is-broken img{display:none}
.line-image-viewer{position:absolute;inset:0;z-index:80;background:rgba(0,0,0,.94);display:flex;align-items:center;justify-content:center;padding:54px 12px calc(24px + env(safe-area-inset-bottom));}
.line-image-viewer img{display:block;max-width:100%;max-height:100%;object-fit:contain;}
.line-image-viewer-close{position:absolute;right:14px;top:calc(12px + env(safe-area-inset-top));width:36px;height:36px;border:0;border-radius:50%;background:rgba(118,118,128,.38);color:#fff;padding:0;display:grid;place-items:center;}
.line-image-viewer-close svg{width:14px;height:14px;display:block;fill:currentColor;}
.line-camera-viewer{position:absolute;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(0,0,0,.38);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);}
.line-camera-detail-dialog{width:min(368px,calc(100vw - 44px));max-height:calc(100% - 44px);overflow-y:auto;border:.5px solid rgba(255,255,255,.42);border-radius:18px;background:rgba(248,248,248,.97);box-shadow:0 12px 42px rgba(0,0,0,.24);}
.line-camera-detail-header{display:flex;align-items:center;gap:10px;padding:14px 16px 11px;text-align:left;}
.line-camera-detail-avatar{width:38px;height:38px;flex:0 0 38px;}
.line-camera-detail-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px;}
.line-camera-detail-copy strong{max-width:100%;font-size:14px;font-weight:var(--o3o-fw-650);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-camera-detail-copy time{font-size:10.5px;color:#8e8e93;}
.line-camera-detail-image{display:block;width:min(280px,calc(100% - 32px));aspect-ratio:1;margin:0 auto;object-fit:cover;border-radius:14px;background:#e5e5ea;}
.line-camera-detail-text{padding:14px 16px 17px;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;}

/* Independent offline scene domain. */
.line-offline-scene{position:absolute;inset:0;z-index:58;background:#f2f2f7;color:#111;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC",sans-serif;}
.line-offline-header{min-height:64px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;background:rgba(249,249,249,.92);border-bottom:.5px solid rgba(60,60,67,.18);}
.line-offline-header>div{min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;}.line-offline-header strong{font-size:17px;font-weight:600;}.line-offline-header span{max-width:100%;font-size:10px;color:#8e8e93;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.line-offline-back,.line-offline-new{border:0;background:transparent;color:#007aff;padding:8px 0;font:inherit;font-size:14px;}.line-offline-new{text-align:right;}
.line-offline-messages{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain;}
.line-offline-row{max-width:min(88%,620px);padding:11px 13px;border-radius:16px;background:#fff;white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.55;box-shadow:0 .5px 0 rgba(0,0,0,.06);}.line-offline-row.me{align-self:flex-end;background:#dcebd7;}.line-offline-row.char{align-self:flex-start;}
.line-offline-row.is-error{align-self:center;max-width:100%;background:#fff0f0;color:#9b1c25;border:.5px solid rgba(155,28,37,.18)}
.line-offline-empty{margin:auto;color:#8e8e93;font-size:13px;text-align:center;}
.line-offline-composer{flex:0 0 auto;padding:9px 10px calc(9px + env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:8px;background:#fff;border-top:.5px solid rgba(60,60,67,.16);}.line-offline-composer textarea{flex:1;min-width:0;min-height:42px;max-height:120px;resize:none;border:0;border-radius:18px;background:#f2f2f7;padding:10px 12px;font:inherit;font-size:15px;line-height:22px;outline:0;}.line-offline-composer button{height:42px;border:0;border-radius:18px;background:#007aff;color:#fff;padding:0 15px;font:inherit;font-size:14px;font-weight:600;}.line-offline-composer button:disabled{opacity:.42;}

@media (prefers-reduced-motion:reduce){#chatComposerMore .line-chat-fa,.line-more-panel,.line-more-subsheet,.msg-voice-button,.msg-voice-details,.msg-voice-wave i{transition:none;animation:none;}}

/* Cross-engine scrollbar normalization for Android Chromium/WebView shells. */
.message-scroll::-webkit-scrollbar,.line-sticker-dialog-body::-webkit-scrollbar,.line-sticker-panel-body::-webkit-scrollbar,.line-chat-theme-wrap::-webkit-scrollbar,.line-more-dialog-body::-webkit-scrollbar,.line-camera-detail-dialog::-webkit-scrollbar,.line-offline-messages::-webkit-scrollbar{width:0;height:0;display:none;}
