:root{font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Helvetica Neue",sans-serif;color:#141414;--blue:#007aff;--gray:#8e8e93;--divider:#e5e5ea;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html,body,#app{height:100%;width:100%;margin:0;overflow:hidden}html{height:-webkit-fill-available}body{touch-action:pan-y;background:#0d1731}button,input,textarea{font:inherit}button{border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}input,textarea{outline:none;border:0}#app{position:fixed;inset:0;height:100dvh;min-height:100%;isolation:isolate;overflow:hidden}#app>*{position:absolute;inset:0}.wallpaper{position:absolute;inset:-6%;background:radial-gradient(ellipse 58% 54% at 81% 10%,#f3d3dca8 0%,#c0badd20 70%,transparent 90%),radial-gradient(ellipse 72% 60% at 21% 70%,#afc6eb 0%,#b6b4eb7a 48%,transparent 95%),linear-gradient(135deg,#536184 0%,#778cc0 37%,#6e73a4 63%,#292f63 100%);filter:saturate(.95)}.wallpaper:before{content:"";position:absolute;inset:8% -28% 25% -25%;background:linear-gradient(135deg,transparent 0%,#e9dcf58c 44%,#9caddb2e 62%,transparent 88%);filter:blur(40px);transform:rotate(-17deg);border-radius:47%}.wallpaper:after{content:"";position:absolute;width:110%;height:34%;left:-12%;bottom:-14%;background:linear-gradient(15deg,#252951a9,#e4bfc888,transparent);border-radius:50%;filter:blur(22px)}.wallpaper.silver{background:radial-gradient(ellipse 60% 40% at 77% 12%,#e9dfef 0%,transparent 80%),radial-gradient(ellipse 70% 48% at 32% 82%,#dfeaf8 0%,transparent 90%),linear-gradient(140deg,#b4c4d1,#7b90a9 55%,#37446e)}.wallpaper.blue{background:radial-gradient(ellipse at 20% 0%,#a4ccda,transparent 70%),radial-gradient(ellipse at 87% 86%,#bba5df,transparent 60%),linear-gradient(135deg,#172b4b,#556d9c 60%,#2a3666)}
.ios-screen{position:absolute;inset:0;overflow:hidden}.status{position:absolute;z-index:80;top:calc(max(var(--safe-top),0px) + 0px);left:0;right:0;height:54px;padding:13px 26px 0 28px;display:flex;align-items:flex-start;justify-content:space-between;color:#151515;font-size:15px;letter-spacing:-.35px;font-weight:650;pointer-events:none}.status.light{color:white}.status-left{padding-top:3px;line-height:21px}.status-right{display:flex;align-items:center;gap:7px;padding-top:5px}.status-right svg{width:17px;height:16px}.battery{position:relative;height:12px;width:25px;border:1.6px solid currentColor;border-radius:4px;display:flex;align-items:center;padding:1.5px}.battery:after{content:"";position:absolute;right:-4px;width:2px;height:5px;border-radius:0 2px 2px 0;background:currentColor}.battery-fill{height:100%;width:66%;border-radius:1.4px;background:currentColor}.island{position:absolute;z-index:90;left:50%;transform:translateX(-50%);top:calc(max(var(--safe-top),0px) + 10px);width:109px;height:27px;border-radius:22px;background:#09090c;box-shadow:inset 1px 1px 2px #20202566;pointer-events:none}.island:before{content:"";position:absolute;right:12px;top:10px;width:7px;height:7px;border-radius:50%;background:#171922;box-shadow:inset 0 0 2px #575d6b}.home-indicator{position:absolute;z-index:89;bottom:calc(max(var(--safe-bottom),0px) + 8px);height:5px;width:132px;background:#101010;left:50%;transform:translateX(-50%);border-radius:5px;padding:0;box-shadow:none}.home-indicator.light{background:#fff}
.lock{position:absolute;inset:0;color:white;text-align:center}.lock-main{position:absolute;top:clamp(92px,15vh,148px);width:100%;padding:0 18px;display:flex;flex-direction:column;align-items:center}.lock-date{font-weight:450;font-size:20px;letter-spacing:-.4px}.lock-time{font-weight:230;letter-spacing:-5px;font-size:clamp(77px,23vw,104px);line-height:1.04;font-variant-numeric:tabular-nums}.lock-notifs{position:absolute;left:14px;right:14px;bottom:calc(135px + max(var(--safe-bottom),0px));display:flex;flex-direction:column;gap:9px}.lock-notification{width:100%;padding:12px 15px 13px;display:flex;align-items:flex-start;text-align:left;gap:10px;border-radius:19px;background:rgba(255,255,255,.47);color:#262833;backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);box-shadow:0 5px 16px #171c2d14}.notif-icon{flex:none;display:grid;place-items:center;width:31px;height:31px;border-radius:9px;font-size:17px}.notif-copy{min-width:0;flex:1}.notif-app{font-size:11px;font-weight:700;color:#40414b;margin-bottom:2px}.notif-title{font-size:14px;font-weight:680}.notif-body{font-size:13px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-age{color:#61616d;font-size:11px}.lock-actions{position:absolute;bottom:calc(48px + max(var(--safe-bottom),0px));left:36px;right:36px;display:flex;justify-content:space-between}.lock-circle{width:49px;height:49px;border-radius:50%;background:#1d203850;color:white;display:grid;place-items:center;backdrop-filter:blur(10px)}.swipe-hint{position:absolute;bottom:calc(116px + max(var(--safe-bottom),0px));left:0;right:0;text-align:center;font-size:14px;text-shadow:0 1px 4px #0003;opacity:.87;animation:blink 2.5s infinite}@keyframes blink{50%{opacity:.46}}
.home{position:absolute;inset:0;color:white}.home-content{position:absolute;inset:calc(64px + max(var(--safe-top),0px)) 0 117px;padding:17px clamp(18px,6vw,35px) 0;overflow-y:auto;scrollbar-width:none}.home-content::-webkit-scrollbar{display:none}.home-grid-width{max-width:540px;margin:0 auto}.widgets{display:flex;gap:13px;margin-bottom:26px}.widget{height:145px;flex:1;border-radius:23px;padding:16px;background:#ffffff28;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:inset 0 1px 0 #ffffff30;position:relative;overflow:hidden;text-align:left;color:#fff}.widget-label{font-size:11px;opacity:.9;font-weight:570}.widget-weather{font-size:38px;font-weight:270;letter-spacing:-1px;margin-top:9px}.widget-bottom{font-size:11px;line-height:1.5;margin-top:5px}.widget-day{font-size:42px;font-weight:260;margin-top:12px}.widget-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78}.widget-photo-shade{position:absolute;inset:0;background:linear-gradient(#0005 0%,transparent 55%,#0003)}.app-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:8px;row-gap:22px;justify-items:center}.app-launch{background:none;color:white;display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;min-width:0;padding:0}.app-logo{position:relative;width:clamp(51px,15.7vw,64px);height:clamp(51px,15.7vw,64px);display:grid;place-items:center;border-radius:15px;box-shadow:0 2px 9px #0002;overflow:hidden}.app-logo svg{display:block}.app-caption{font-size:11px;white-space:nowrap;line-height:16px;text-shadow:0 1px 3px #0008;letter-spacing:-.3px}.app-badge{position:absolute;top:-4px;right:-4px;border-radius:15px;padding:1px 6px;background:#f54e5b;color:white;font-size:11px;z-index:2;box-shadow:0 1px 3px #0005;min-width:18px}.home-dock{position:absolute;bottom:calc(max(var(--safe-bottom),0px) + 23px);left:16px;right:16px;max-width:520px;margin:auto;height:89px;padding:11px 9px;border-radius:31px;display:grid;grid-template-columns:repeat(4,1fr);justify-items:center;align-items:center;background:#f4f4fa61;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);box-shadow:inset 0 1px 0 #ffffff70}.dock-launch{display:grid;place-items:center;background:none;padding:0;position:relative}.dock-launch .app-logo{width:57px;height:57px;border-radius:14px}.dock-dots{display:flex;gap:5px;justify-content:center;margin:20px auto 0}.dock-dot{width:6px;height:6px;background:#fff6;border-radius:50%}.dock-dot.active{background:#fff}
.app-shell{position:absolute;inset:0;background:#fff;color:#111;display:flex;flex-direction:column;padding-top:calc(56px + max(var(--safe-top),0px));padding-bottom:calc(22px + max(var(--safe-bottom),0px));overflow:hidden}.app-shell.pale{background:#f2f2f7}.app-shell.kakao-bg{background:#abc0d1}.app-shell.darkapp{background:#090a0d;color:#f9f9f9}.app-header{flex:none;position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;min-height:49px;padding:2px 18px 0;background:inherit}.app-header-title{font-size:16px;font-weight:650;max-width:64%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-back{display:inline-flex;align-items:center;gap:1px;color:#007aff;background:transparent;padding:8px 2px;font-size:16px;font-weight:480}.app-back svg{width:20px;height:22px}.head-actions{display:flex;gap:16px;align-items:center}.head-button{display:grid;place-items:center;background:transparent;color:inherit;width:24px;height:27px;font-size:24px;font-weight:300;padding:0}.head-button.blue{color:#007aff}.scroll-pane{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.scroll-pane::-webkit-scrollbar{display:none}.page-padded{padding:0 20px 25px;max-width:650px;margin:0 auto}.large-title{font-size:34px;font-weight:720;letter-spacing:-1.5px;margin:10px 0 18px}.search-pill{height:38px;border-radius:11px;background:#e9e9ee;display:flex;align-items:center;gap:7px;color:#8c8c92;padding:0 12px;font-size:16px;margin-bottom:12px}.search-pill input{flex:1;width:0;background:transparent;font-size:16px;color:#222}.filter-row{display:flex;align-items:center;gap:10px;padding:0 0 15px}.filter-pill{font-size:13px;padding:7px 12px;border-radius:15px;background:#f0f0f4;color:#505056}.filter-pill.active{background:#e5efff;color:#0064cf;font-weight:600}.section-label{font-size:11px;letter-spacing:.1px;color:#98989e;font-weight:550;margin:10px 0}.thread-list{border-top:1px solid #e5e5e8}.thread-row{width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:13px 0 12px;border-bottom:1px solid #e9e9ed;background:none;color:#121212}.avatar{width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,#c8c8d2,#f2f2f5);display:grid;place-items:center;flex:none;font-size:22px;font-weight:470;color:#5e6570}.avatar.kakao{background:#fbe05d;color:#4b3a10}.thread-text{flex:1;min-width:0}.thread-top{display:flex;align-items:baseline;justify-content:space-between;gap:7px}.thread-name{font-size:16px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-time{font-size:12px;color:#a5a5aa;flex:none}.thread-preview{font-size:14px;color:#85858c;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:5px}.unread-dot{margin-right:1px;background:#007aff;border-radius:50%;width:9px;height:9px;flex:none}
.chat-head{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2px 0 9px;border-bottom:1px solid #eeeff1;background:#fff}.chat-head .avatar{height:41px;width:41px;font-size:18px}.chat-head-name{font-size:12px;margin-top:2px;font-weight:560}.chat-head-arrow{font-size:10px;color:#868686}.chat-body{flex:1;min-height:0;overflow-y:auto;padding:17px 17px 20px;background:#fff;scrollbar-width:none}.chat-date{text-align:center;font-size:11px;color:#98989f;margin:17px 0 25px}.bubble-row{display:flex;margin:6px 0;align-items:flex-end;gap:5px}.bubble-row.me{justify-content:flex-end}.bubble{max-width:76%;min-width:18px;padding:9px 13px 10px;border-radius:18px;font-size:16px;line-height:1.42;white-space:pre-wrap;overflow-wrap:anywhere;letter-spacing:-.25px}.bubble.them{background:#e9e9eb;color:#18181b;border-bottom-left-radius:6px}.bubble.mine{background:#007aff;color:white;border-bottom-right-radius:6px}.bubble-time{font-size:10px;color:#8f9098;padding-bottom:4px}.chat-compose{height:57px;background:#fff;border-top:1px solid #ededf0;flex:none;display:flex;align-items:center;gap:10px;padding:7px 15px}.circleplus{font-size:27px;color:#888a92;font-weight:250;line-height:30px}.compose-field{border:1px solid #d1d2d7;background:#fff;height:35px;flex:1;border-radius:21px;display:flex;align-items:center;padding:0 5px 0 13px;gap:4px}.compose-field input{flex:1;width:0;font-size:15px;background:transparent}.send-round{border-radius:50%;width:26px;height:26px;background:#087efa;color:white;display:grid;place-items:center;font-size:21px;line-height:22px}.send-round:disabled{background:#d0d2d7}.chat-inline-sub{font-size:12px;text-align:center;color:#9b9ba0;margin:7px 0 20px}
.kakao-top{background:#fff}.kakao-heading{font-size:32px;font-weight:700;margin:12px 0 5px}.kakao-list .thread-row{padding:12px 0}.kakao-chat-header{background:#abc0d1}.kakao-chat{background:#abc0d1;padding:19px 12px}.kakao-date{color:#5b6973;text-align:center;font-size:11px;border-radius:17px;background:#869db299;padding:6px 12px;width:max-content;margin:7px auto 22px}.kakao-msg{display:flex;align-items:flex-start;gap:7px;margin-bottom:14px}.kakao-msg.mine{justify-content:flex-end}.kakao-mini-avatar{height:35px;width:35px;border-radius:13px;background:#f3d6a3;display:grid;place-items:center;font-size:13px;flex:none}.kakao-name{color:#293948;font-size:11px;font-weight:560;margin-bottom:5px}.kakao-bubble-line{display:flex;align-items:flex-end;gap:5px}.kakao-msg.mine .kakao-bubble-line{flex-direction:row-reverse}.kakao-bubble{max-width:min(69vw,315px);background:white;color:#17191a;padding:9px 10px;font-size:14px;line-height:1.48;border-radius:4px;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:0 1px 0 #0000000d}.kakao-msg.mine .kakao-bubble{background:#fce44b}.kakao-time{font-size:10px;color:#596c79;padding-bottom:2px;white-space:nowrap}.kakao-compose{height:52px;padding:6px 11px;background:white;display:flex;align-items:center;gap:10px;flex:none}.kakao-compose input{background:#f4f4f4;padding:9px 12px;border-radius:6px;flex:1;min-width:0;font-size:14px}.kakao-plus{font-size:26px;font-weight:280;color:#7e848b}.kakao-send{background:#fce44b;border-radius:5px;font-size:13px;font-weight:650;padding:8px 12px}
.photo-top-title{font-size:30px;font-weight:720;letter-spacing:-1px;margin:8px 0 0}.photo-meta{font-size:13px;color:#85858b;margin:4px 0 18px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.photo-thumb{aspect-ratio:1/1;background:#ddd;padding:0;overflow:hidden}.photo-thumb img{width:100%;height:100%;display:block;object-fit:cover}.photo-viewer{position:absolute;inset:0;background:#050506;color:white;z-index:30;display:flex;flex-direction:column;padding-top:calc(60px + var(--safe-top));padding-bottom:calc(38px + var(--safe-bottom))}.photo-viewer-top{display:flex;justify-content:space-between;padding:9px 17px;align-items:center;font-size:14px;min-height:44px}.photo-image-zone{display:grid;place-items:center;flex:1;min-height:0}.photo-image-zone img{display:block;max-width:100%;max-height:100%;object-fit:contain}.photo-viewer-bottom{display:flex;justify-content:space-around;align-items:center;height:59px}.photo-viewer-bottom button{color:white;background:none;font-size:21px}
.safari-shell{background:#f5f6f8}.safari-content{background:#fff}.safari-top{display:flex;align-items:center;gap:8px;padding:4px 15px 10px;border-bottom:1px solid #ededed;color:#222;background:#fff}.safari-heading-logo{background:#2764a4;color:white;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;font-size:17px;font-weight:800;font-style:italic}.safari-brand{font-size:20px;font-weight:790;letter-spacing:-.9px}.safari-nav{display:flex;justify-content:space-around;gap:8px;padding:13px 12px;border-bottom:1px solid #ededee;background:#fff}.safari-chip{font-size:14px;border-radius:19px;padding:6px 14px;background:#f2f3f6;color:#5a5a62}.safari-chip.selected{color:white;background:#2068ac}.article-list{padding:15px 16px 25px}.news-section-title{font-size:15px;font-weight:740;margin:13px 0}.news-row{padding:14px 0;border-bottom:1px solid #efefef;display:flex;gap:13px;text-align:left;width:100%;background:#fff;color:#181818}.news-title{font-size:16px;line-height:1.43;font-weight:640}.news-byline{color:#8a8a90;margin-top:10px;font-size:11px}.news-thumb{width:92px;height:82px;object-fit:cover;flex:none;border-radius:5px;background:linear-gradient(145deg,#a8b4d5,#2b335f)}.news-generic-art{display:grid;place-items:center;color:#fff;font-size:28px}.rank-number{font-weight:800;font-style:italic;font-size:24px;color:#175da5}.article-page{background:#fff;padding:18px 20px 30px}.article-category{font-size:12px;color:#337bc9;font-weight:740}.article-title{font-size:25px;letter-spacing:-.7px;font-weight:770;line-height:1.36;margin:12px 0}.article-byline{font-size:12px;color:#85858d;border-bottom:1px solid #e7e7e9;padding-bottom:18px;line-height:1.7}.article-photo{width:100%;display:block;margin:20px 0 5px;aspect-ratio:16/9;object-fit:cover;border-radius:3px}.article-photo-caption{text-align:center;color:#9d9da3;font-size:11px;margin:6px 0 18px}.article-paragraph{font-size:15.5px;letter-spacing:-.2px;line-height:1.83;margin:17px 0;color:#2a2a2a}.article-divider{border:0;border-top:1px solid #eeeeef;margin:25px 0 15px}.safari-bottom{height:58px;flex:none;padding:4px 15px 8px;background:#f7f7f9;border-top:1px solid #e6e7ea;display:flex;flex-direction:column;justify-content:space-between;gap:7px}.url-pill{font-size:12px;font-weight:560;color:#4b4b50;background:#e9e9ed;padding:5px 15px;border-radius:10px;text-align:center}.browser-icons{display:flex;align-items:center;justify-content:space-between;color:#007aff;font-size:20px;padding:0 7px;line-height:1}
.dm-card{margin:22px 18px 12px;background:#fff;border-radius:20px;padding:18px;box-shadow:0 2px 14px #c8c6d327}.dm-banner{background:linear-gradient(135deg,#d6cce9,#f0ebf6);border-radius:16px;padding:20px 15px;display:flex;align-items:center;gap:12px}.dm-face{width:55px;height:55px;border-radius:50%;background:#7967b2;color:white;display:grid;place-items:center;font-weight:760;font-size:25px}.dm-name{font-size:19px;font-weight:700}.dm-sub{font-size:12px;color:#7c758a;margin-top:4px}.dm-msg{margin-top:24px;background:#f5f1fa;border-radius:17px;padding:14px;color:#676173;font-size:14px;line-height:1.65}.dm-small{font-size:12px;color:#8d8496;margin-top:14px}.dm-tabbar{height:50px;flex:none;border-top:1px solid #e9e4ee;background:white;display:flex;align-items:center;justify-content:space-around;color:#7867aa;font-size:12px}
.x-header{font-size:27px;font-weight:750;margin:5px 0 8px;text-align:center}.x-feed{border-top:1px solid #e5e5e5}.x-post{display:flex;gap:10px;padding:14px 16px;border-bottom:1px solid #efefef}.x-avatar{width:38px;height:38px;border-radius:50%;background:#d6daea;display:grid;place-items:center;flex:none;font-size:17px}.x-content{min-width:0;flex:1}.x-meta{font-size:13px;display:flex;align-items:center;gap:4px}.x-user{font-weight:740}.x-handle{color:#8f9199;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.x-body{font-size:14px;line-height:1.52;margin:6px 0 11px}.x-stats{display:flex;justify-content:space-between;max-width:290px;color:#8f959a;font-size:12px}
.notes-list{border-radius:12px;overflow:hidden;background:white;padding:0 15px}.note-row{display:flex;flex-direction:column;padding:15px 1px;border-bottom:1px solid #efeff3;width:100%;text-align:left;color:#171717;background:white}.note-row:last-child{border-bottom:0}.note-title{font-size:16px;font-weight:650}.note-snippet{font-size:13px;color:#888890;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-page{padding:23px 24px;font-size:18px;line-height:1.7;white-space:pre-wrap}.calendar-top{padding:11px 20px 9px}.calendar-month{font-size:29px;font-weight:730;letter-spacing:-1px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:10px 13px 20px;row-gap:8px}.calendar-cell{text-align:center;padding:8px 0;font-size:16px;min-height:38px;color:#151515;background:none}.calendar-cell.head{font-size:12px;color:#aaaab0}.calendar-cell.today{background:#ee5058;color:white;border-radius:50%;width:37px;margin:0 auto}.calendar-event{padding:13px 18px;margin:4px 16px;background:#f2f2f7;border-radius:10px;border-left:4px solid #4a79a1;font-size:14px;line-height:1.6}.calendar-event b{font-weight:720}.settings-row{padding:17px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ececef;background:#fff;font-size:16px}.toggle{width:48px;height:29px;background:#bbb;border-radius:18px;padding:3px;display:flex;align-items:center}.toggle.on{background:#35c85a;justify-content:flex-end}.toggle-knob{width:23px;height:23px;border-radius:50%;background:white;box-shadow:0 1px 2px #0003}
.phone-item{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid #eeeeef}.phone-name{font-size:16px;font-weight:650}.phone-detail{font-size:13px;color:#929299;margin-top:4px}.phone-time{margin-left:auto;color:#929299;font-size:13px}.contact-face{width:96px;height:96px;border-radius:50%;margin:18px auto 9px;background:#e8e5ed;color:#8270ac;display:grid;place-items:center;font-size:45px}.contact-name{text-align:center;font-size:26px;font-weight:640}.contact-actions{display:flex;justify-content:space-around;margin:20px 10px;gap:8px}.contact-action{flex:1;background:#f0f2f8;padding:13px 4px;color:#2274e8;border-radius:14px;font-size:13px;display:grid;gap:7px;justify-items:center}.call-modal{position:absolute;z-index:98;inset:0;background:linear-gradient(#555365,#121525);color:white;display:flex;flex-direction:column;align-items:center;padding-top:15vh}.call-modal .person{margin-top:20px;font-size:35px;font-weight:610}.call-modal .calling{font-size:14px;opacity:.8;margin-top:12px}.call-modal .call-buttons{margin-top:auto;display:flex;gap:46px;margin-bottom:110px}.call-big-button{width:73px;height:73px;border-radius:50%;background:#343c4e;color:white;display:grid;place-items:center;font-size:30px}.call-big-button.end{background:#ff3b30}
.toast-layer{position:absolute;z-index:120;top:calc(58px + var(--safe-top));left:11px;right:11px;pointer-events:none;display:flex;flex-direction:column;gap:8px}.toast{pointer-events:auto;display:flex;gap:10px;align-items:center;padding:12px 13px;background:#f7f7f9ed;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);box-shadow:0 6px 32px #0003;border-radius:19px;color:#202027;animation:drop .35s cubic-bezier(.2,.8,.2,1)}.toast-text{min-width:0;flex:1}.toast-title{font-size:12px;font-weight:730;display:flex;justify-content:space-between}.toast-sub{font-size:13px;margin-top:4px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@keyframes drop{from{opacity:0;transform:translateY(-35px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:700px){.home-content{padding-left:max(18px,calc((100vw - 530px)/2));padding-right:max(18px,calc((100vw - 530px)/2))}.page-padded{width:min(100%,650px)}}@media(max-height:720px){.widgets{margin-bottom:17px}.widget{height:113px}.home-content{top:55px}.app-grid{row-gap:13px}.lock-main{top:82px}.lock-notifs{bottom:125px}}@media(max-width:340px){.app-grid{row-gap:15px}.app-logo{width:49px;height:49px}.widgets{margin-bottom:20px}.lock-time{font-size:75px}.thread-name{font-size:14px}.bubble{font-size:14px}} 
.app-launch{position:relative}.app-launch .app-badge{top:-3px;right:calc(50% - 40px)}.dock-launch .app-badge{top:-4px;right:-1px}.app-grid .app-logo{overflow:hidden}
.head-button.text-btn{width:auto;min-width:40px;max-width:55px;height:auto;font-size:15px;letter-spacing:-.4px;white-space:nowrap}.ios-chat{display:flex;flex-direction:column;justify-content:flex-end}.ios-chat>.chat-date{flex:none}.ios-chat>.bubble-row{flex:none}

/* Keep iMessage history scrollable from newest to oldest. */
.ios-chat{display:block!important;justify-content:initial!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.ios-chat>.chat-date{margin-top:26px;margin-bottom:20px;}
.ios-chat>.sms-date:first-child{margin-top:7px;}
.ios-chat .bubble-row{margin-top:3px;margin-bottom:4px;}
.ios-chat .bubble{max-width:min(78%,355px);font-size:16px;line-height:1.43;padding:10px 13px;border-radius:19px;}
.ios-chat .bubble.them{border-bottom-left-radius:6px;}
.ios-chat .bubble.mine{border-bottom-right-radius:6px;}
.sms-gift-wrap{display:flex;justify-content:flex-start;margin:15px 0 20px;}
.sms-gift{background:#e9e9ed;display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:17px;max-width:83%;font-size:13px;line-height:1.4;color:#414147;}
.sms-gift-icon{background:#fff;border-radius:9px;width:40px;height:40px;display:grid;place-items:center;font-size:22px;flex:none;}
.sms-gift-copy{font-weight:570;}
.ios-chat .bubble-row + .sms-date{margin-top:30px;}

.avatar.photo,.avatar.kakao.photo,.kakao-mini-avatar.photo{background:#ddd;overflow:hidden;padding:0}
.avatar-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.kakao-count{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#ff5c63;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;flex:none}
.reaction-row{display:flex;gap:16px;flex-wrap:wrap;color:#7c7c84;font-size:12px;border-top:1px solid #f0f0f1;padding-top:12px;margin-top:12px}

.dm-thread-scroll{background:#faf8fd;padding-bottom:28px}.dm-artist-profile{display:flex;flex-direction:column;align-items:center;margin:15px auto 25px;gap:5px}.dm-artist-profile span{font-size:12px;color:#8d8299}.dm-artist-img{width:82px;height:82px;object-fit:cover;object-position:center 25%;border-radius:50%;margin-bottom:8px}.dm-day{text-align:center;color:#9b94a4;font-size:11px;margin:10px 0 22px}.dm-artist-row{display:flex;align-items:flex-end;gap:9px;margin:11px 18px}.dm-small-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:none}.dm-author{font-size:11px;font-weight:650;color:#73687b}.dm-balloon{background:#fff;color:#2e2934;border:1px solid #f0eaf5;border-radius:15px 15px 15px 4px;padding:11px 12px;max-width:285px;font-size:15px;line-height:1.5;margin-top:5px;box-shadow:0 1px 3px #e6ddee55}.dm-sent-time{font-size:10px;color:#a299ae}.dm-reply{display:flex;justify-content:flex-end;margin:10px 17px}.dm-reply span{background:#a586df;color:white;border-radius:16px;padding:11px;font-size:14px;max-width:80%}.dm-inbox{margin:12px 16px;background:#fff;border-radius:17px;padding:20px 17px;box-shadow:0 3px 18px #ddd3e44d}.dm-inbox-title{font-weight:750;font-size:23px;margin:0 0 14px}.dm-inbox-row{display:flex;gap:12px;width:100%;align-items:center;text-align:left;background:transparent;color:#221c27;padding:12px 0}.dm-inbox-img{width:53px;height:53px;border-radius:50%;object-fit:cover;object-position:center 25%;flex:none}.dm-inbox-row b{font-size:15px}.dm-inbox-row small{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#918999;margin-top:6px}.dm-unread{font-size:11px;color:#a586df}.toast .notif-icon,.lock-notification .notif-icon{display:grid;place-items:center;overflow:hidden}

/* Improved legibility in real device viewport */
.ios-chat .bubble{font-size:17px;line-height:1.48;max-width:min(82%,365px);padding:11px 14px}
.dm-balloon{font-size:16px;line-height:1.55;padding:12px 14px;max-width:min(77vw,315px)}
.dm-artist-row{margin:13px 15px;gap:10px}
.dm-author{font-size:12px}
.dm-thread-scroll{scroll-behavior:smooth}
.dm-inbox-row small{font-size:13px}
.ios-chat .sms-date{font-size:12px}
@media(max-width:340px){.ios-chat .bubble{font-size:16px}.dm-balloon{font-size:15px}}
/* iPhone interaction polish — v12 */
.toast-layer{top:calc(env(safe-area-inset-top,0px) + 56px);left:12px;right:12px;max-width:520px;margin:0 auto;z-index:155;gap:6px}
.toast{width:100%;height:auto;min-height:68px;max-height:83px;align-items:center;text-align:left;padding:10px 12px;gap:10px;background:rgba(250,250,253,.92);border:1px solid rgba(255,255,255,.78);border-radius:21px;box-shadow:0 6px 21px rgba(20,28,52,.18);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);overflow:hidden;touch-action:pan-y}
.toast .notif-icon{height:36px;width:36px;flex:0 0 36px;border-radius:10px}
.toast-text{display:flex;flex-direction:column;min-width:0;flex:1;gap:3px;line-height:1.28}
.toast-title{font-size:12px;font-weight:670;line-height:1.1;color:#27292f;display:flex;justify-content:space-between;gap:6px}
.toast-title small{color:#96969d;font-weight:450;font-size:11px}
.toast-sub{font-size:13px;color:#27292f;line-height:1.35;margin:0;white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;max-height:36px}
.toast-sub strong{font-weight:700}
.lock-notification{gap:10px;padding:10px 12px 11px;border-radius:18px;align-items:center;background:rgba(255,255,255,.58)}
.lock-notification .notif-icon{width:35px;height:35px;border-radius:10px}
.lock-notification .notif-body{font-size:12px}
.lock-notification .notif-title{font-size:13px}
@media (max-width:360px){.toast-layer{left:9px;right:9px}.toast{padding:9px 10px}.toast-sub{font-size:12px}}
.typing-indicator{display:flex;gap:4px;align-items:center;padding:13px 16px;margin:10px auto 10px 0;width:max-content;border-radius:20px;background:#e9e9ec}
.typing-indicator i{height:6px;width:6px;border-radius:50%;background:#8c8c95;animation:typing-bob 1.1s ease-in-out infinite}
.typing-indicator i:nth-child(2){animation-delay:.16s}.typing-indicator i:nth-child(3){animation-delay:.32s}
.kakao-typing{background:white;margin-left:40px}
@keyframes typing-bob{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
/* Article community */
.comment-jump{color:#717b8c;text-decoration:none;cursor:pointer}
.comment-section{margin:26px -20px 28px;padding:24px 20px 12px;background:#f9fafc;border-top:7px solid #f0f2f5;border-bottom:7px solid #f0f2f5}
.comment-section-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:13px}
.comment-section-head h2{font-size:19px;letter-spacing:-.6px;font-weight:760;margin:0}
.comment-section-head h2 span{color:#2d71b7}
.comment-sort{display:flex;gap:11px}
.comment-sort button{background:none;color:#9b9da6;font-size:12px;padding:4px 1px}
.comment-sort button.active{color:#222;font-weight:720}
.comment-compose{display:flex;gap:8px;align-items:center;margin:7px 0 18px}
.comment-compose input{background:#fff;border:1px solid #dddfe6;border-radius:9px;padding:11px 12px;font-size:13px;min-width:0;flex:1}
.comment-compose button{background:#337fc8;border-radius:9px;color:white;padding:11px 13px;font-size:12px;font-weight:660}
.article-comment{border-top:1px solid #e8ebf0;padding:17px 0 15px;color:#272931}
.comment-head{display:flex;align-items:center;gap:7px;font-size:12px;min-height:26px}
.comment-head strong{font-size:12px;font-weight:720}.comment-head small{color:#a0a3ad;font-size:11px;margin-left:auto}
.comment-pfp{height:25px;width:25px;display:grid;place-items:center;flex:0 0 25px;background:#e6eaf0;border-radius:50%;color:#69788a;font-size:11px;font-weight:700}
.comment-pfp.small{height:22px;width:22px;flex-basis:22px;background:#f4f0e5;color:#85765c}
.comment-more{background:transparent;color:#a1a6b2;font-size:20px;padding:1px 3px}
.comment-text{font-size:13.5px;line-height:1.58;padding:8px 0 7px;overflow-wrap:anywhere}
.comment-actions{display:flex;gap:17px}
.comment-actions button{color:#9da3ae;font-size:11px;background:none;padding:2px 0}
.comment-actions button.hearted{color:#e75c79}
.comment-replies{border-radius:10px;background:#f1f3f6;padding:6px 12px;margin:10px 0 0}
.comment-reply{padding:10px 0 9px;border-bottom:1px solid #e5e8ed}
.comment-reply:last-child{border-bottom:0}
.comment-reply .comment-text{padding:7px 0 2px;font-size:12.7px}
.reply-love{font-size:11px;color:#969fa7;margin:3px 0 2px}
/* X timeline */
.x-scroll{background:#fff}.x-post{align-items:flex-start}.x-avatar{font-size:15px;font-weight:780}
.x-media{width:100%;max-height:270px;object-fit:cover;display:block;border-radius:13px;margin:9px 0}
.x-stats{max-width:none;width:100%;gap:3px;align-items:center}
.x-stats button{border:0;background:none;color:#8e959e;font-size:11px;padding:5px 1px;text-align:left}
.x-stats button.hearted{color:#f23877}.x-stats button.retweeted{color:#14ad91}
.x-stats button.selected{color:#4d90d7}
/* iOS-like call UI */
.call-modal{background:radial-gradient(ellipse at 50% -10%,#777d93 0%,#3b4056 38%,#161929 100%);padding:calc(env(safe-area-inset-top,0px) + 93px) 22px calc(env(safe-area-inset-bottom,0px) + 76px);z-index:112;text-align:center;overflow:hidden;align-items:center;justify-content:space-between}
.call-hero{display:flex;flex-direction:column;align-items:center;justify-content:center}
.call-contact-photo{height:90px;width:90px;border-radius:50%;overflow:hidden;background:#9da0a8;box-shadow:0 14px 30px #14172929}
.call-contact-photo img{width:100%;height:100%;object-fit:cover}
.call-modal .person{margin:13px 0 0;font-size:34px;font-weight:610;letter-spacing:-1.2px}
.call-modal .calling{margin-top:7px;font-size:15px;opacity:.85}
.call-modal .call-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;width:min(100%,330px);margin-top:auto;margin-bottom:36px}
.call-tool{background:#ffffff24;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;height:86px;min-width:0;border-radius:17px}
.call-tool span{font-size:12px;white-space:nowrap}.call-tool.selected{background:#fafaf9;color:#18202f}
.call-modal .call-buttons{display:flex;justify-content:center;align-items:center;gap:75px;margin:10px 0 8px;width:100%}
.call-big-button{width:76px;height:76px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;background:#434756;flex:0 0 76px}
.call-big-button span{font-size:12px;position:absolute;transform:translateY(61px);color:#fff}
.call-big-button.end{background:#fb3d40}.call-big-button.end svg{transform:rotate(135deg)}
.call-big-button.accept{background:#37c95a}
.call-audio-notice{min-height:22px;font-size:12px;color:#ecedf3;opacity:.77;margin:auto 0 18px}
.call-modal.incoming{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 110px)}
/* Device-area stability */
.ios-screen,.home,.lock{height:100%;height:100dvh}
.app-shell{min-height:0}
@media (prefers-reduced-motion:reduce){.toast,.typing-indicator i{animation:none}}

/* Minimal native-style call header without portrait */
.call-hero{padding-top:34px}
.call-modal .call-hero .person{margin-top:0}
