*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;background:#17191d;color:#fff}body{display:flex;align-items:center;justify-content:center;flex-direction:column}.phone{width:min(100vw,420px,calc(100dvh * .49));height:min(100dvh,860px);aspect-ratio:390/844;position:relative;overflow:hidden;background:#111;border-radius:44px;box-shadow:0 12px 60px #0008;isolation:isolate}.wallpaper{position:absolute;inset:0;background-image:url('images/lock.webp');background-position:center center;background-size:cover;z-index:-2;transition:background-image .2s}.phone:not(.locked) .wallpaper{background-image:url('images/home.jpg');background-position:center 35%}.shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(#0005,transparent 30%,transparent 65%,#0005);pointer-events:none}.status{height:48px;display:flex;align-items:center;justify-content:space-between;padding:8px 28px 0;font-size:15px;font-weight:650;position:absolute;top:0;left:0;right:0;z-index:20}.island{position:absolute;left:50%;transform:translateX(-50%);top:12px;width:92px;height:26px;background:#080808;border-radius:30px}.signals{font-size:13px;letter-spacing:-1px}.hidden{display:none!important}.lock,.home,.app-screen,.call-overlay{position:absolute;inset:0}.lock-head{padding-top:12vh;text-align:center;text-shadow:0 1px 12px #0007}.lock-head #lockDate{font-size:19px;font-weight:600}.lock-head #lockTime{font-size:clamp(66px,20vw,88px);font-weight:250;letter-spacing:-4px;line-height:1.1}.lock-bottom{position:absolute;bottom:27px;width:100%}.lock-shortcuts{display:flex;justify-content:space-between;padding:0 38px;font-size:24px}.lock-shortcuts span{display:grid;place-items:center;width:49px;height:49px;border-radius:50%;background:#3339}.unlock{width:100%;border:0;background:none;color:white;text-shadow:0 1px 8px #000;font-size:13px;margin-top:18px;cursor:pointer}.unlock span{display:block;font-size:26px;line-height:15px}.home{padding:70px 18px 20px;display:flex;flex-direction:column}.apps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:min-content;column-gap:13px;row-gap:clamp(8px,1.7vh,18px);align-content:start}.app-icon{background:none;border:0;padding:0;color:#fff;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;font:inherit;text-shadow:0 1px 5px #000a}.app-icon.inert{cursor:default}.icon-art{width:min(100%,68px);aspect-ratio:1;border-radius:22%;overflow:hidden;display:grid;place-items:center;box-shadow:0 2px 6px #0003;background:#fff}.icon-art svg{width:100%;height:100%;display:block}.app-label{font-size:clamp(9px,2.8vw,12px);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.home-bottom{margin-top:auto}.search{width:max-content;margin:0 auto 18px;background:#9997;padding:6px 13px;border-radius:20px;font-size:12px;backdrop-filter:blur(15px)}.dock{border-radius:29px;padding:12px 13px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:#f1f2f27d;backdrop-filter:blur(22px)}.dock .app-label{display:none}.dock .app-icon{gap:0}.gesture{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);height:5px;width:35%;background:#fff;border-radius:8px;z-index:40;box-shadow:0 0 2px #0005;cursor:pointer}.app-screen{background:#f7f7fb;color:#111;z-index:10;padding-top:50px;display:flex;flex-direction:column}.app-header{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-bottom:1px solid #e6e6ea;background:#fff}.back{border:0;background:none;color:#1685f5;font-size:28px;cursor:pointer;display:flex;align-items:center;gap:4px}.back span{font-size:15px}.app-header b{font-size:17px}.header-space{width:70px}.app-content{overflow-y:auto;flex:1;padding:18px 16px 45px}.section-title{font-size:29px;font-weight:750;margin:7px 0 18px}.list{border-radius:13px;background:#fff;overflow:hidden;margin-bottom:16px}.list-item{display:flex;align-items:center;gap:12px;min-height:58px;padding:12px 14px;border-bottom:1px solid #eee;font-size:15px;cursor:pointer}.list-item:last-child{border:0}.list-item small{color:#8b8b93;display:block;margin-top:4px;font-size:12px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e5e7ec;font-weight:700;flex-shrink:0}.chevron{margin-left:auto;color:#a7a7ae}.bubble{max-width:80%;padding:11px 13px;background:#e9e9ed;border-radius:16px;margin:10px 0;font-size:14px;line-height:1.55}.bubble.me{background:#fee34a;margin-left:auto}.muted{font-size:13px;color:#8a8a93;line-height:1.7}.note{background:#fff;border-radius:14px;padding:16px;line-height:1.75}.pill{display:inline-block;padding:7px 11px;border-radius:11px;background:#e6e6ec;margin:4px;font-size:12px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.day{padding:10px 0;border-radius:50%;font-size:13px}.day.today{background:#f43d3d;color:#fff}.day.head{color:#8a8a93}.alarm{display:flex;justify-content:space-between;padding:17px 6px;border-bottom:1px solid #ddd;align-items:center}.alarm strong{font-size:29px;font-weight:300}.switch{width:44px;height:26px;border-radius:20px;background:#4ad66c;position:relative}.switch:after{content:'';position:absolute;right:3px;top:3px;width:20px;height:20px;background:#fff;border-radius:50%}.yt{background:#fff;border-radius:13px;overflow:hidden;margin-bottom:16px}.yt-thumb{height:145px;background:linear-gradient(135deg,#392f5c,#c9a8c5);display:grid;place-items:center;color:#fff;font-size:45px}.yt-text{padding:12px;font-weight:650}.call-overlay{z-index:30;background:linear-gradient(#4e5360,#12171d);display:flex;flex-direction:column;justify-content:space-between;padding:120px 35px 85px;text-align:center}.caller{font-size:40px;margin:8px}.caller-sub,.call-type{color:#c7c9cf}.call-bottom{display:flex;justify-content:space-between}.call-button{border:0;width:75px;height:75px;border-radius:50%;color:white;font-size:32px;position:relative;cursor:pointer}.call-button small{position:absolute;top:84px;left:0;width:100%;font-size:13px}.decline{background:#f04449}.answer{background:#40c85c}.toast{position:absolute;top:58px;left:15px;right:15px;z-index:35;padding:14px;border-radius:17px;background:#e7e8ebee;color:#222;box-shadow:0 3px 18px #0003;font-size:13px;backdrop-filter:blur(12px);cursor:pointer}.desktop-tip{font-size:12px;color:#a7a7ad;margin-top:15px}@media(max-width:500px){.phone{width:100vw;height:100dvh;aspect-ratio:auto;border-radius:0;box-shadow:none}.apps{column-gap:clamp(8px,3vw,16px);row-gap:clamp(10px,2vh,20px)}.icon-art{width:min(100%,72px)}.home{padding-left:20px;padding-right:20px}.desktop-tip{display:none}}@media(max-height:710px){.home{padding-top:58px}.apps{row-gap:7px}.icon-art{width:min(100%,54px)}.dock .icon-art{width:min(100%,55px)}.search{margin-bottom:8px}.dock{padding:8px 13px}}

/* v2: iOS reference layout and status bar */
.status{height:62px;padding:9px 26px 0;font-size:17px;align-items:flex-start;line-height:31px;text-shadow:0 1px 6px #0005}
.island{top:12px;width:106px;height:31px;background:#050505}
.signals{display:flex;gap:6px;align-items:center;height:31px;letter-spacing:normal}
.battery{height:19px;min-width:30px;border-radius:6px;background:#f5f5f5;color:#5b5b5b;font-size:12px;line-height:19px;text-align:center;font-weight:800;text-shadow:none;position:relative;margin-right:4px}
.battery:after{content:'';position:absolute;right:-4px;top:6px;width:3px;height:7px;background:#eee;border-radius:0 2px 2px 0}
.home{padding:96px 24px 25px}
.apps{column-gap:18px;row-gap:clamp(12px,2.1vh,20px)}
.icon-art{width:min(100%,70px);border-radius:22%;box-shadow:0 3px 8px #0003}
.icon-art img{width:100%;height:100%;display:block;object-fit:cover;border-radius:22%}
.app-label{font-size:12px;text-shadow:0 2px 5px #000c;font-weight:500}
.home-bottom{margin-top:auto}
.search{background:#aaa7;border:1px solid #ffffff28;color:white;font-weight:550;padding:6px 16px;margin-bottom:21px}
.dock{background:#e7e9e98a;border-radius:34px;padding:14px 12px;gap:15px;box-shadow:inset 0 1px 1px #fff6}
.dock .icon-art{width:min(100%,72px)}
.lock-head{padding-top:12.5vh}
.lock-head #lockTime{font-size:clamp(75px,22vw,97px);font-weight:250}
.phone.locked .wallpaper{background-position:center center}
@media(max-width:500px){.home{padding:clamp(87px,12vh,116px) 24px 27px}.apps{column-gap:clamp(10px,4vw,22px);row-gap:clamp(12px,2.15vh,22px)}.icon-art{width:min(100%,75px)}.dock .icon-art{width:min(100%,75px)}}
@media(max-height:740px){.home{padding-top:78px}.apps{row-gap:8px}.icon-art{width:min(100%,58px)}.dock .icon-art{width:min(100%,62px)}.search{margin-bottom:8px}}

/* v3 — real icon images cropped from the user-supplied iPhone reference */
.phone{background-color:#111}
.home{padding:clamp(88px,11vh,115px) 24px 27px}
.apps{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(12px,3.5vw,20px);row-gap:clamp(15px,2.2vh,22px)}
.app-icon{gap:6px}
.icon-art{width:min(100%,76px);border-radius:22.5%;box-shadow:0 2px 7px #0002}
.icon-art img{display:block;width:100%;height:100%;object-fit:cover;border-radius:22.5%}
.app-label{font-size:12px;line-height:16px;text-shadow:0 1px 3px #000d,0 2px 8px #0007}
.dock{padding:13px 12px 14px;background:rgba(224,229,231,.52);backdrop-filter:blur(30px) saturate(145%);-webkit-backdrop-filter:blur(30px) saturate(145%);border:1px solid #ffffff33}
.dock .icon-art{width:min(100%,76px)}
.home-bottom{padding-bottom:0}
.search{background:rgba(100,100,100,.3);border:1px solid #ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.phone.locked .wallpaper{background-position:center center}
.lock-head{padding-top:12vh}
.lock-bottom{bottom:30px}
.status{padding-left:27px;padding-right:25px}
@media(max-height:760px){.home{padding-top:77px;padding-bottom:22px}.apps{row-gap:8px}.icon-art{width:min(100%,62px)}.dock .icon-art{width:min(100%,65px)}.search{margin-bottom:10px}.dock{padding:9px 12px}}
@media(min-width:501px){.phone{width:min(100vw,420px,calc(100dvh * .49));height:min(100dvh,860px)}}
/* V4 — screenshot-inspired real HTML interfaces; no screenshot overlays */
.app-screen{padding-top:0;background:#fff}.app-header{display:none}.app-content{padding:0 0 24px;overflow-y:auto;background:#fff;scrollbar-width:none}.app-content::-webkit-scrollbar{display:none}.phone:has(.app-screen:not(.hidden)) .status{color:#080808;text-shadow:none}.phone:has(.app-screen:not(.hidden)) .status svg{filter:brightness(0)}.phone:has(.app-screen:not(.hidden)) .status .battery{background:#141414;color:#fff}.phone:has(.v4-clock) .status,.phone:has(.v4-youtube) .status{color:#fff}.phone:has(.v4-clock) .status svg,.phone:has(.v4-youtube) .status svg{filter:none}.phone:has(.v4-clock) .status .battery,.phone:has(.v4-youtube) .status .battery{background:#f5f5f5;color:#333}.v4-page{height:100%;min-height:100%;position:relative;padding-top:70px;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;overflow:hidden}.v4-top{height:51px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;flex-shrink:0}.v4-left,.v4-right{display:flex;align-items:center;gap:9px;min-width:40px}.v4-center{font-size:18px;font-weight:700;text-align:center;flex:1}.v4-action{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.v4-heading{display:flex;align-items:center;justify-content:space-between;padding:0 17px 14px}.v4-heading h1,.v4-titlebar h1,.v4-simple h1{font-size:30px;letter-spacing:-1.5px;margin:0;font-weight:750}.v4-tools{display:flex;gap:2px}.v4-tools .v4-action{width:37px}.v4-kakao{color:#171717;background:#fff}.v4-top-spacer{height:4px}.v4-filters{display:flex;gap:6px;padding:0 15px 16px;overflow:auto;flex-shrink:0}.v4-filters button{border:0;border-radius:22px;background:#f2f2f3;padding:9px 15px;font-size:13px;font-weight:650;white-space:nowrap;color:#666}.v4-filters button.on{background:#191919;color:white}.v4-filters b{background:#ff5b24;color:white;border-radius:12px;padding:2px 5px;margin-left:4px}.v4-ad{position:relative;background:#f4f4f4;border-radius:14px;margin:0 16px 12px;padding:22px 16px;display:flex;flex-direction:column;gap:5px;color:#666}.v4-ad strong{font-size:16px}.v4-ad span{font-size:12px}.v4-ad small{position:absolute;right:9px;top:7px;border:1px solid #bbb;border-radius:20px;padding:0 5px}.v4-rows,.v4-message-rows{flex:1;overflow-y:auto;scrollbar-width:none}.v4-chat-row{display:flex;width:100%;align-items:center;gap:11px;text-align:left;border:0;background:transparent;padding:12px 16px;min-height:76px;color:inherit;cursor:pointer}.v4-avatar{height:49px;width:49px;border-radius:50%;background:linear-gradient(135deg,#dce6f2,#a2b8d5);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;font-weight:700;font-size:20px}.v4-row-body{min-width:0;display:flex;flex-direction:column;gap:5px;flex:1}.v4-row-name{font-size:16px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v4-row-preview{font-size:13px;color:#929297;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v4-row-time{align-self:flex-start;font-size:11px;color:#929297;white-space:nowrap}.v4-nav{height:70px;background:#fffffff0;border-top:1px solid #eee;display:flex;justify-content:space-around;align-items:center;flex-shrink:0;backdrop-filter:blur(12px);padding-bottom:10px}.v4-nav button{border:0;background:none;color:#b4b6b9;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:50px}.v4-nav button.selected{color:#171717}.v4-nav small{font-size:10px}.v4-messages{color:#111;background:#fff}.v4-messages .v4-top{padding:0 15px}.v4-messages .v4-action{background:#f7f7f8}.v4-titlebar{padding:16px 18px 9px}.v4-messages .v4-chat-row{min-height:80px;padding:12px 18px}.v4-messages .v4-row-body{border-bottom:1px solid #f0f0f0;padding-bottom:13px}.v4-messages .v4-avatar{background:linear-gradient(135deg,#adc5e2,#7e89c1)}.v4-msg-bottom{padding:12px 16px 20px;display:flex;align-items:center;gap:8px;background:#ffffffdf}.v4-search{border-radius:24px;background:#f5f5f7;padding:10px 15px;display:flex;gap:12px;align-items:center;color:#999;flex:1}.v4-msg-bottom .v4-action{background:#f4f4f5}.v4-chat-k{background:#b3c6d9;color:#111}.v4-chat-ios{background:#fff;color:#111}.v4-chat-top{background:#ffffffba}.v4-chat-history{padding:14px 15px;overflow-y:auto;flex:1}.v4-chat-date{text-align:center;color:#74787e;font-size:11px;margin:12px}.v4-bubble-row{display:flex;gap:7px;align-items:flex-start;margin:14px 0}.v4-bubble-row .v4-avatar{width:31px;height:31px;font-size:14px}.v4-bubble-row.mine{justify-content:flex-end}.v4-chat-bubble{background:white;border-radius:14px;padding:10px 12px;max-width:78%;font-size:14px;line-height:1.5}.v4-bubble-row.mine .v4-chat-bubble{background:#ffe357}.v4-chat-ios .v4-bubble-row.mine .v4-chat-bubble{background:#2889ff;color:white}.v4-chat-ios .v4-bubble-row .v4-chat-bubble{background:#e9e9ec}.v4-chat-ios .v4-bubble-row.mine .v4-chat-bubble{background:#2889ff}.v4-placeholder{font-size:11px;color:#687583;text-align:center;margin-top:25px}.v4-chat-input{height:60px;background:#fff;display:flex;gap:12px;align-items:center;padding:8px 15px}.v4-chat-input div{flex:1;border:1px solid #ddd;border-radius:20px;padding:8px 13px;color:#aaa;font-size:13px}.v4-calendar{color:#111;background:#fff}.v4-calendar .v4-center{font-size:24px}.v4-month{font-size:23px;font-weight:750;border:0;background:none}.v4-cal-nav{display:flex;align-items:center;justify-content:space-between;color:#888;padding:0 18px 13px;font-size:12px}.v4-cal-nav button{border:0;background:none;font-size:26px;color:#666}.v4-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;padding-bottom:9px;font-size:12px}.v4-weekdays .sun{color:#ff4d6b}.v4-weekdays .sat{color:#5579ff}.v4-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(var(--rows),minmax(68px,1fr));flex:1;min-height:0}.v4-calendar-cell{border:0;border-top:1px solid #ededed;background:white;min-width:0;display:flex;flex-direction:column;align-items:stretch;padding:5px 2px;gap:7px;color:#111;text-align:center}.v4-calendar-cell.off{color:#ccc}.v4-calendar-cell.active{background:#f4f4f5}.v4-daynum{font-size:13px;width:26px;height:26px;line-height:26px;margin:0 auto;border-radius:50%}.v4-calendar-cell.active .v4-daynum{background:#232323;color:#fff;font-weight:700}.v4-event{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:3px;text-align:left;padding:2px}.v4-event.pink{color:#ff4061;background:#ffe7ed}.v4-event.gray{color:#777;background:#eee}.v4-event.blue{color:#475c7a;background:#e3efff}.v4-cal-selected{font-size:11px;color:#777;padding:8px 20px 28px;display:flex;gap:10px}.v4-cal-selected b{color:#111}.v4-add{position:absolute;bottom:55px;right:22px;width:53px;height:53px;background:#262626;color:white;font-size:35px;border-radius:50%;border:0;box-shadow:0 3px 10px #0003}.v4-clock{background:#000;color:#fff}.v4-clock .v4-top{margin-bottom:10px}.v4-textbtn{color:white;background:#1c1c1e;border:1px solid #333;border-radius:20px;padding:9px 15px}.v4-clock h1{font-size:34px;padding:4px 18px 18px;margin:0}.v4-alarm-group{padding:0 18px}.v4-alarm-group h3{font-size:17px;font-weight:550;margin:24px 0 10px}.v4-alarm-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-top:1px solid #2e2e31;min-height:96px}.v4-time{font-size:43px;font-weight:250;letter-spacing:-2px}.v4-time.muted-time{color:#85858b}.v4-alarm-row small{color:#999;font-size:12px}.v4-change{background:#242426;border:0;color:#ff9e2b;border-radius:17px;padding:7px 12px}.v4-toggle{background:#3a3a3e;border:0;border-radius:18px;width:51px;height:30px;padding:3px;display:flex;justify-content:flex-start;align-items:center}.v4-toggle span{height:24px;width:24px;background:#fff;border-radius:50%}.v4-toggle.on{background:#32cc69;justify-content:flex-end}.v4-clock-nav{height:70px;flex-shrink:0;margin-top:auto;display:flex;justify-content:space-around;align-items:center;border-radius:30px;background:#222c;margin:0 12px 13px;backdrop-filter:blur(15px)}.v4-clock-nav button{color:#eee;background:none;border:0;display:flex;flex-direction:column;gap:4px;align-items:center}.v4-clock-nav button.on{color:#ff9e2b}.v4-clock-nav small{font-size:10px}.v4-clock-empty{flex:1;display:grid;place-content:center;text-align:center;color:#999}.v4-clock-empty small{font-size:12px}.v4-youtube{background:#111;color:#fff}.v4-youtube .v4-top{gap:4px}.v4-yt-search{background:#282828;border-radius:22px;display:flex;align-items:center;padding:0 10px;height:36px;min-width:0}.v4-yt-search input{background:none;border:0;outline:none;color:white;min-width:0;width:100%;font-size:13px}.v4-yt-search button{border:0;background:none;color:#fff;font-size:19px}.v4-yt-chips{display:flex;overflow:auto;gap:8px;padding:10px 12px 13px;flex-shrink:0}.v4-yt-chips button{white-space:nowrap;border:0;border-radius:8px;background:#2c2c2c;color:#eee;padding:9px 12px;font-size:12px}.v4-yt-chips button.on{background:#f4f4f4;color:#111}.v4-yt-results{overflow-y:auto;flex:1}.v4-yt-video{background:none;color:inherit;border:0;padding:0;width:100%;display:block;text-align:left;margin-bottom:15px}.v4-yt-thumb{height:195px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:20px 25px;position:relative;overflow:hidden}.v4-yt-thumb.cassette{background:radial-gradient(ellipse at 85% 25%,#504c48,#151313 55%,#050505)}.v4-yt-thumb.red{background:radial-gradient(ellipse at 80% 20%,#86242b,#170b11 65%,#080808)}.v4-yt-thumb.purple{background:radial-gradient(ellipse at 80% 20%,#3b2b65,#07070d 65%)}.v4-yt-thumb span{font-size:20px;font-weight:900}.v4-yt-thumb strong{font-size:37px;letter-spacing:-2px;line-height:1.15;text-shadow:2px 2px #000}.v4-yt-thumb em{position:absolute;bottom:8px;right:8px;font-style:normal;background:#000b;padding:3px 5px;border-radius:4px;font-size:12px}.v4-yt-meta{display:flex;gap:10px;padding:11px 14px;align-items:flex-start}.v4-yt-meta .v4-avatar{width:37px;height:37px;background:#303030;font-size:16px}.v4-yt-meta div{flex:1}.v4-yt-meta b{font-size:14px;line-height:1.4}.v4-yt-meta small{display:block;color:#999;font-size:11px;margin-top:6px}.v4-video-player{height:230px;background:#000;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:45px;gap:10px}.v4-video-player small{font-size:12px;color:#aaa}.v4-video-detail{padding:20px}.v4-video-detail h2{font-size:20px}.v4-video-detail p{color:#aaa;font-size:13px}.v4-simple{color:#111;background:#f8f8fa}.v4-simple h1{padding:18px}.v4-note-item{background:white;padding:17px;margin:7px 15px;border-radius:13px}.v4-note-item p{font-size:13px;color:#888}.v4-simple .v4-chat-row{background:white;margin-bottom:1px}.v4-page button{font-family:inherit}.v4-page button:focus-visible{outline:2px solid #1985ff;outline-offset:-2px}@media(max-height:720px){.v4-page{padding-top:57px}.v4-yt-thumb{height:150px}.v4-time{font-size:36px}.v4-alarm-row{min-height:75px}.v4-cal-grid{grid-template-rows:repeat(var(--rows),minmax(50px,1fr))}}

/* V5 — fine-grained iOS-inspired interface polish. */
:root{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','Apple SD Gothic Neo','Malgun Gothic',sans-serif;-webkit-font-smoothing:antialiased}
.phone{isolation:isolate;overflow:hidden;--safe-bottom:env(safe-area-inset-bottom,0px)}
.phone .status{z-index:35;position:absolute;left:0;right:0;top:0;height:58px;display:flex;align-items:center;justify-content:space-between;padding:11px 25px 0 27px;line-height:1;text-shadow:none;pointer-events:none;font-size:16px;font-weight:680;letter-spacing:-.3px;color:#fff;transition:color .18s}
.phone .status .island{position:absolute;left:50%;top:11px;transform:translateX(-50%);height:30px;width:110px;border-radius:25px;background:#050505;box-shadow:inset 0 0 1px #555}
.status .signals{height:30px;gap:5px;display:flex;align-items:center}
.status .signals svg{flex-shrink:0}.status .silent{display:inline-flex;margin-right:2px}
.status .battery{height:19px;min-width:30px;padding:0 4px;border-radius:6px;background:#fff;color:#202020;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;margin-left:1px}
.phone:has(.app-screen:not(.hidden)) .status{color:#111}
.phone:has(.v4-clock) .status,.phone:has(.v4-youtube) .status,.phone:has(.v4-chat-k) .status{color:#fff}
.phone:has(.app-screen:not(.hidden)) .status .signals svg{stroke:currentColor}
.phone:has(.app-screen:not(.hidden)) .status .signals svg[fill="white"]{fill:currentColor}
.phone:has(.app-screen:not(.hidden)) .battery{background:#777;color:white}
.phone:has(.v4-clock) .battery,.phone:has(.v4-youtube) .battery{background:#fff;color:#171717}
.home{padding:clamp(100px,12.7vh,130px) 22px max(22px,env(safe-area-inset-bottom));}
.apps{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(12px,3.5vw,22px);row-gap:clamp(14px,2.1vh,22px)}
.app-icon{min-width:0;gap:5px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.icon-art{width:min(100%,73px);border-radius:22%;box-shadow:0 2px 5px #0002;overflow:hidden}
.icon-art img{border-radius:22%;width:100%;height:100%;object-fit:cover}
.app-label{font-size:11.5px;font-weight:550;line-height:15px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%;text-align:center;text-shadow:0 1px 4px #000d}
.dock{border:1px solid #ffffff52;background:rgba(225,229,230,.46);backdrop-filter:blur(35px) saturate(155%);-webkit-backdrop-filter:blur(35px) saturate(155%);border-radius:34px;padding:12px 10px 11px;box-shadow:inset 0 1px 0 #fff5;gap:13px}
.dock .app-label{display:none}.dock .icon-art{width:min(100%,73px)}
.search{border-radius:23px;display:table;margin:0 auto 19px;padding:5px 14px;font-size:12px;line-height:18px;background:#8887;color:white;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.gesture{width:116px;height:5px;border-radius:6px;background:#fff;bottom:9px;z-index:55;box-shadow:0 1px 3px #0002}
.phone:has(.app-screen:not(.hidden)) .gesture{background:#2228;box-shadow:none}
.phone:has(.v4-clock) .gesture,.phone:has(.v4-youtube) .gesture{background:#fff}
.lock-head{padding-top:12.5vh}.lock-head #lockTime{font-weight:240;letter-spacing:-5px}
.lock-bottom{bottom:36px}
.call-overlay{z-index:50;background:linear-gradient(155deg,#555a67 0%,#272b37 38%,#0e1017 100%);color:white;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px)}
.call-overlay:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 28%,#ffffff18,transparent 53%);pointer-events:none}
.call-top{top:17%;text-align:center;left:0;right:0}.caller{font-size:38px;font-weight:500;letter-spacing:-1px;margin:8px 0}.caller-sub{font-size:15px;opacity:.7}.call-type{font-size:15px;opacity:.68}
.call-bottom{bottom:clamp(72px,11vh,115px);left:34px;right:34px;display:flex;flex-direction:column;gap:38px}
.call-extras{display:flex;justify-content:space-around;gap:60px;text-align:center;color:#fff9;font-size:26px}.call-extras span{display:flex;flex-direction:column;gap:8px}.call-extras small{font-size:12px}
.call-actions{display:flex;justify-content:space-between;align-items:center;padding:0 10px}.call-button{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;position:relative}.call-button small{position:absolute;top:83px;left:50%;transform:translateX(-50%);font-size:13px;white-space:nowrap;color:white}.decline{background:#ff453a}.answer{background:#30d158}
.toast{position:absolute;z-index:60;top:57px;left:11px;right:11px;width:auto;border:1px solid #ffffff7a;background:rgba(235,237,241,.92);backdrop-filter:blur(35px) saturate(180%);-webkit-backdrop-filter:blur(35px) saturate(180%);border-radius:22px;padding:13px 14px;display:flex;gap:11px;align-items:flex-start;box-shadow:0 8px 25px #0003;color:#18181a;transform:translateY(0);animation:banner-in .38s cubic-bezier(.2,.8,.2,1);cursor:pointer;text-align:left}
.toast.hidden{display:none}.toast.leaving{transform:translateY(-145%);opacity:0;transition:transform .3s,opacity .3s}
.notification-icon{height:35px;width:35px;flex-shrink:0}.notification-icon img{height:100%;width:100%;border-radius:9px}.notification-copy{flex:1;min-width:0;font-size:13px}.notification-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.notification-title b{font-size:12px;font-weight:700}.notification-title small{font-size:11px;color:#888}.notification-copy strong{font-size:14px;font-weight:650}.notification-copy p{margin:3px 0 0;line-height:1.35;font-size:13px;white-space:normal}
@keyframes banner-in{from{transform:translateY(-150%);opacity:0}to{transform:translateY(0);opacity:1}}
.v4-page{font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif}
.v4-top{min-height:57px}.v4-action{border-radius:50%}.v4-chat-row{transition:background .15s}.v4-chat-row:active{background:#e7e7e780}
.v4-calendar .v4-calendar-cell{cursor:pointer}.v4-messages .v4-msg-bottom{backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.v4-clock-nav{background:rgba(42,42,44,.9);border:1px solid #5555}
@media(max-height:760px){.home{padding-top:82px}.apps{row-gap:8px}.icon-art{width:min(100%,60px)}.dock .icon-art{width:min(100%,65px)}.search{margin-bottom:9px}.dock{padding:8px 11px}.call-bottom{bottom:75px}}
@media(min-width:501px){.phone{border-radius:44px;box-shadow:0 18px 55px #0008;border:5px solid #161616}}

/* V6 touch transitions and native-like navigation */
#appScreen{transition:transform .23s cubic-bezier(.2,.8,.2,1);will-change:transform}
#appScreen.ios-swiping{transition:none;transform:translateX(var(--swipe-offset,0px));box-shadow:-10px 0 28px #0002}
#appScreen.ios-back-transition{animation:ios-back-anim .24s ease-out}
@keyframes ios-back-anim{from{opacity:.88;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
#phone{overscroll-behavior:contain}
.v4-page,.app-content{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}

/* V7 · compact iPhone-like home grid and passcode screen */
.phone{border:3px solid #292b32;outline:1px solid #555a62;outline-offset:4px}
@media(max-width:500px){.phone{border:0;outline:0}}
.home{padding:clamp(83px,10.7vh,101px) 19px max(20px,env(safe-area-inset-bottom))}
.apps{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row dense;grid-auto-rows:minmax(0,73px);column-gap:10px;row-gap:14px;align-content:start}
.app-icon{gap:4px;justify-content:start;min-height:0}
.icon-art{width:min(100%,57px);border-radius:23%;box-shadow:0 3px 7px #0005}
.app-label{font-size:10px;line-height:14px;text-shadow:0 1px 4px #000b;letter-spacing:-.3px}
.calendar-widget{grid-column:span 2;grid-row:span 2;border:0;border-radius:20px;background:#fefeff;box-shadow:0 5px 15px #0003;display:flex;flex-direction:column;align-items:stretch;text-align:left;color:#111;padding:13px 13px 10px;min-width:0;cursor:pointer;font-family:inherit}
.widget-weekday{font-size:11px;font-weight:700}.widget-date{font-size:39px;font-weight:380;line-height:1.1;margin-top:1px}
.widget-event{margin-top:auto;display:flex;align-items:center;gap:6px;min-width:0}.widget-event-line{background:#bd58ff;width:3px;height:33px;border-radius:3px;flex-shrink:0}.widget-event b,.widget-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-event b{font-size:10px}.widget-event small{font-size:9px;color:#777}
.home-bottom{margin-top:auto}.search{background:#353544a8;color:white;padding:5px 13px;margin-bottom:13px;font-size:11px;border-radius:25px;box-shadow:0 2px 8px #0002}
.dock{border-radius:30px;padding:12px 10px 11px;background:rgba(213,217,226,.47);border:1px solid #fff5;gap:11px;box-shadow:inset 0 1px 0 #fff4}
.dock .icon-art{width:min(100%,58px);box-shadow:0 2px 7px #0004}
.passcode-screen{position:absolute;inset:0;z-index:19;display:flex;flex-direction:column;align-items:center;color:#fff;overflow:hidden}
.passcode-backdrop{position:absolute;inset:-24px;background-image:url('images/lock.webp');background-position:center;background-size:cover;filter:blur(32px) brightness(.56);transform:scale(1.12);z-index:-1}
.passcode-screen:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(155deg,#4178a990,#081139a0 75%,#000b)}
.passcode-body{width:100%;padding-top:clamp(120px,17vh,170px);display:flex;align-items:center;flex-direction:column}
.passcode-lock-icon{margin-bottom:13px;display:flex}.passcode-heading{font-size:17px;font-weight:600;letter-spacing:.1px}
.passcode-dots{display:flex;gap:22px;margin-top:22px;margin-bottom:42px;justify-content:center}
.passcode-dots span{height:12px;width:12px;border:1px solid #fff;border-radius:50%;background:transparent;transition:background .1s}
.passcode-dots span.filled{background:#fff}
.passcode-dots.wrong{animation:passcode-shake .36s ease-in-out}
@keyframes passcode-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-10px)}40%,80%{transform:translateX(10px)}}
.passcode-pad{display:grid;grid-template-columns:repeat(3,1fr);column-gap:16px;row-gap:13px;width:min(76%,276px);justify-items:center}
.passcode-pad button{height:71px;width:71px;border:0;border-radius:50%;background:#ffffff37;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:inherit;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);touch-action:manipulation}
.passcode-pad button:active{background:#ffffff75}.passcode-pad button strong{font-weight:400;font-size:32px;line-height:36px}.passcode-pad button small{font-size:9px;font-weight:700;letter-spacing:1.5px;line-height:11px}
.passcode-pad .passcode-delete{background:transparent;font-size:24px}
.passcode-actions{position:absolute;bottom:45px;left:25px;right:25px;display:flex;justify-content:space-between}
.passcode-actions button{border:0;background:transparent;color:#fff;font-size:14px;cursor:pointer}
.phone.entering-passcode .lock{display:none}
.phone.entering-passcode .status{color:white}
.phone.entering-passcode .gesture{z-index:55}
@media(max-height:740px){.apps{grid-auto-rows:63px;row-gap:9px}.icon-art{width:min(100%,49px)}.dock .icon-art{width:min(100%,53px)}.calendar-widget{border-radius:17px}.passcode-body{padding-top:100px}.passcode-dots{margin-bottom:24px}.passcode-pad{row-gap:7px}.passcode-pad button{width:62px;height:62px}}

/* V8 fixes: hidden screen specificity and full-screen tappable passcode */
.passcode-screen.hidden{display:none!important}
.passcode-screen{touch-action:manipulation}
.passcode-pad{position:relative;z-index:2}
.passcode-pad button{appearance:none;-webkit-appearance:none;user-select:none;-webkit-user-select:none;pointer-events:auto}
.passcode-pad button:active{transform:scale(.96)}
.passcode-actions{z-index:3}
.apps{grid-auto-flow:row;grid-auto-rows:minmax(0,73px)}
@media(max-height:740px){.apps{grid-auto-rows:63px}}

/* V9: desktop edge swipe */
#appScreen.ios-mouse-dragging{cursor:grabbing;user-select:none;-webkit-user-select:none}
#phone.ios-mouse-back-ready #appScreen{box-shadow:-12px 0 28px rgba(0,0,0,.16)}

/* V10 polish */
.lock-head{padding-top:clamp(86px,11.5vh,108px)}
.lock-head #lockDate{font-size:18px;font-weight:650;letter-spacing:-.3px}
.lock-head #lockTime{font-size:clamp(78px,24vw,100px);font-weight:680;letter-spacing:-3.8px;line-height:1.06}
.lock-shortcuts{padding:0 38px;align-items:center}
.lock-shortcuts .lock-shortcut{border:0;width:47px;height:47px;display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.42);color:#fff;padding:0;cursor:default}
.lock-shortcuts .lock-shortcut svg{display:block}
.lock-bottom{bottom:35px}
.app-header,.app-header .back{display:none!important}
.gesture{cursor:pointer;touch-action:none}
.call-overlay{pointer-events:auto;user-select:none}
.call-overlay .call-actions .call-button{display:flex;align-items:center;justify-content:center;pointer-events:none}
.call-overlay .call-extras{pointer-events:none}
.v4-add{display:grid!important;place-items:center!important;line-height:1!important;padding:0 0 4px!important;font-family:Arial,sans-serif!important}
.v4-pinned{background:#fff!important}
.v4-pin-icon{font-size:12px;color:#aaa;filter:grayscale(1);margin-left:7px;vertical-align:1px}
.v10-youtube{overflow:hidden!important;height:100%!important;display:flex!important;flex-direction:column!important}
.v10-youtube .v4-yt-results{overflow:hidden!important;min-height:0;display:flex;flex-direction:column;flex:1}
.v10-youtube .v4-yt-video{margin:0!important;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.v10-youtube .v4-yt-thumb{padding:0!important;flex:1;min-height:0;height:auto!important;display:block;position:relative}
.v10-youtube .v4-yt-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.v10-youtube .v4-yt-meta{flex-shrink:0;padding:7px 12px 9px;min-height:57px}
.v10-youtube .v4-yt-meta b{font-size:12px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v10-youtube .v4-yt-meta small{font-size:10px;margin-top:2px}
.v10-youtube .v4-yt-chips{overflow:hidden;padding-top:7px;padding-bottom:8px}
.v10-youtube .v4-nav{flex-shrink:0}
.v10-youtube .v4-yt-thumb em{z-index:1}
@media(max-height:740px){.v10-youtube .v4-yt-meta{min-height:47px;padding:5px 10px}.v10-youtube .v4-yt-chips{padding:4px 8px}.v10-youtube .v4-yt-meta small{display:none}}

/* V11: no blue text selection/drag previews anywhere in the simulated phone */
#phone,#phone *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;-webkit-tap-highlight-color:transparent!important}
#phone img{-webkit-user-drag:none!important;user-drag:none!important;pointer-events:none!important}
#phone input,#phone textarea{-webkit-user-select:text!important;user-select:text!important}
#phone{touch-action:pan-y}
#appScreen.ios-mouse-dragging,#appScreen.ios-mouse-dragging *{cursor:grabbing!important}
/* Calendar top controls like the provided monthly view */
.v4-calendar .v11-calendar-top{min-height:56px;padding:3px 18px 0;display:grid;grid-template-columns:40px 1fr 40px;align-items:center}
.v4-calendar .v11-calendar-top .v4-left,.v4-calendar .v11-calendar-top .v4-right{display:flex;align-items:center}
.v4-calendar .v11-calendar-top .v4-right{justify-content:flex-end}
.v4-calendar .v11-calendar-top .v4-center{text-align:center;white-space:nowrap}
.v4-calendar .v11-calendar-top .v4-action{border:0;background:none;padding:4px;color:#080808}
.v4-calendar .v4-month{font-size:clamp(20px,5.9vw,28px);letter-spacing:-1px;font-weight:800;white-space:nowrap}
.v11-caret{font-size:12px;vertical-align:3px;margin-left:1px}
.v11-calendar-subtitle{text-align:center;color:#8c8c8c;font-size:13px;margin:-1px 0 14px}
.v4-calendar .v4-weekdays{padding:0 4px 13px;font-size:14px}
.v4-calendar .v4-add{padding:0!important;line-height:1!important;transform:translateY(-2px)}
/* Kakao chat list header matching reference proportions */
.v11-kakao{padding-top:76px!important}
.v11-kakao .v4-heading{padding:0 17px 13px;align-items:center}
.v11-kakao .v4-heading h1{font-size:30px;letter-spacing:-1.3px;margin:0}
.v11-kakao .v4-tools{display:flex;align-items:center;gap:13px}
.v11-kakao .v4-tools .v4-action{border:0;background:none;padding:2px;display:grid;place-items:center;color:#171717}
.v11-kakao .v4-filters{padding:8px 16px 16px;gap:6px;display:flex;overflow:hidden;align-items:center;flex-shrink:0}
.v11-kakao .v4-filters>button{white-space:nowrap;font-size:13px;padding:10px 13px;flex-shrink:0}
.v11-kakao .v4-filters>button.on{background:#171717;color:#fff}
.v11-kakao .v4-filters b{background:#ff5b25;color:white;border-radius:20px;padding:2px 5px;margin-left:4px}
.v11-kakao .v4-filters .v11-filter-settings{width:39px;height:39px;padding:0;display:grid;place-items:center;position:relative;background:#f2f2f2;color:#5d5d5d;border-radius:50%}
.v11-filter-settings i{position:absolute;top:9px;right:9px;width:5px;height:5px;background:#ff5b25;border-radius:50%}
.v11-kakao .v4-ad{position:relative;margin:0 16px 5px;padding:15px 16px;min-height:87px;border-radius:13px;background:#f3f3f3;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;color:#606060}
.v11-kakao .v4-ad>strong{font-size:16px;color:#5a5a5a}
.v11-kakao .v4-ad>span{font-size:12px;color:#888}
.v11-kakao .v4-ad>small{position:absolute;right:9px;top:7px;border:1px solid #aaa;color:#999;border-radius:12px;padding:1px 4px}
.v11-ad-mark{position:absolute;right:12px;top:32px;font-size:9px;color:#555;text-align:right;line-height:1.6}
.v11-ad-mark small{font-size:8px}
.v11-kakao .v4-chat-row{padding:12px 17px;min-height:70px}
.v11-heart{width:19px;height:20px;object-fit:contain;vertical-align:-4px;display:inline-block}
.v11-pin{width:15px;height:15px;vertical-align:-2px;margin-left:8px;color:#999}
/* Clock: white status bar icons remain readable, fixed chrome with scrollable alarms */
.phone:has(.v11-clock) .status,.phone:has(.v11-clock) #statusTime,.phone:has(.v11-clock) .signals{color:#fff!important;opacity:1!important;visibility:visible!important}
.phone:has(.v11-clock) .signals svg{stroke:#fff!important;opacity:1!important}
.phone:has(.v11-clock) .signals svg[fill=white]{fill:#fff!important}
.phone:has(.v11-clock) .status .battery{background:#fff!important;color:#141414!important}
.v11-clock{padding-top:66px!important;background:#000!important;overflow:hidden!important}
.v11-clock-header{flex-shrink:0;background:#000}
.v11-clock .v4-top{height:59px;margin:0!important;padding:0 18px;display:flex;justify-content:space-between;align-items:center}
.v11-clock .v4-top .v4-right{display:flex;justify-content:flex-end}
.v11-clock .v4-top .v4-textbtn,.v11-clock .v11-clock-plus{color:#fff;background:#19191b;border:1px solid #363638;border-radius:25px;padding:9px 13px;display:grid;place-items:center;min-height:40px}
.v11-clock .v11-clock-plus{width:43px;height:43px;padding:0}
.v11-clock h1{font-size:34px;margin:4px 0 0;padding:6px 17px 18px}
.v11-clock-scroll{min-height:0;flex:1;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:12px;scrollbar-width:none}
.v11-clock-scroll::-webkit-scrollbar{display:none}
.v11-clock .v4-alarm-group{padding:0 17px}
.v11-clock .v4-alarm-group h3{margin:17px 0 12px;font-size:16px}
.v11-clock .v4-alarm-row{min-height:100px;padding:11px 0}
.v11-clock .v4-time{font-size:clamp(38px,10.5vw,49px);font-weight:250;letter-spacing:-2.2px;line-height:1.1;white-space:nowrap}
.v11-clock .v11-ampm{font-size:.46em;letter-spacing:-.8px;vertical-align:2px;margin-right:3px}
.v11-clock .v4-alarm-row small{font-size:12px;color:#a1a1a6;display:block;margin-top:7px}
.v11-clock .v4-toggle{flex-shrink:0;margin-left:10px}
.v11-clock .v4-clock-nav{margin:0 11px 18px;flex-shrink:0;z-index:2}
@media(max-height:740px){.v11-clock .v4-alarm-row{min-height:91px}.v11-clock h1{padding-bottom:10px}.v11-kakao{padding-top:64px!important}}

/* V12: accurate Kakao toolbar and persistent light status symbols on black Clock */
.v11-kakao .v4-tools{gap:12px}
.v11-kakao .v4-tools .v4-action{width:34px;height:36px;display:grid;place-items:center;padding:0}
.phone:has(.v11-clock) .status{z-index:120!important;mix-blend-mode:normal!important;opacity:1!important;color:white!important}
.phone:has(.v11-clock) .status .signals{display:flex!important;visibility:visible!important;opacity:1!important;gap:6px!important}
.phone:has(.v11-clock) .status .signals svg{display:block!important;visibility:visible!important;stroke:#fff!important;opacity:1!important;filter:none!important}
.phone:has(.v11-clock) .status .signals svg[fill=white]{fill:#fff!important}
.phone:has(.v11-clock) .status .battery{display:flex!important;opacity:1!important;background:#fff!important;color:#111!important}
.icon-art img{image-rendering:auto;object-fit:cover;display:block;width:100%;height:100%;backface-visibility:hidden}

/* V13 — interactive lockscreen and photographic blurred passcode wallpaper */
#lock{touch-action:none;transform:translateY(var(--lift,0px));will-change:transform}
#lock.lock-dragging{transition:none}
#lock.lock-lifting{transition:transform .36s cubic-bezier(.24,.78,.22,1)}
#lock.lock-reset{transition:transform .28s ease-out}
#lock .unlock span{display:none!important}
#lock .unlock{margin-top:21px;letter-spacing:.15px;pointer-events:auto}
.passcode-backdrop{inset:-36px;background-image:url('images/lock.webp')!important;background-position:center center!important;background-size:cover!important;filter:blur(27px) brightness(.65) saturate(.95)!important;transform:scale(1.14)}
.passcode-screen:after{background:linear-gradient(180deg,#00000012,#00000036 62%,#00000050)!important}
#lock,#lock *{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}

/* V15: clock detail refinements */
.v11-clock .v4-alarm-group h3{display:flex;align-items:center;gap:6px}
.v11-clock .v15-bed{flex:none;display:inline-block;vertical-align:middle}
.v11-clock .v4-clock-nav button:disabled{cursor:default;pointer-events:none}
/* V16: remove the unwanted white app-content strip, but retain the home gesture bar. */
.phone:has(.v11-clock) .app-screen,
.phone:has(.v11-clock) .app-content{background:#000!important}
.phone:has(.v11-clock) .app-content{padding-bottom:0!important;min-height:0!important}
.phone:has(.v11-clock) .v11-clock{height:100%!important;min-height:0!important;background:#000!important}
.phone:has(.v11-clock)>.gesture{display:block!important;background:#fff!important;z-index:140!important;bottom:9px!important}
.phone:has(.v11-clock) .v4-clock-nav{margin-bottom:24px!important}

/* V17: compact Kakao chat list with right-aligned dates and unread counters */
.v11-kakao .v4-rows{overflow-y:auto;min-height:0;flex:1;scrollbar-width:none;padding-bottom:12px}
.v11-kakao .v4-rows::-webkit-scrollbar{display:none}
.v11-kakao .v17-kakao-row{width:100%;display:flex;align-items:center;min-height:73px;padding:10px 16px;border:0;background:#fff;text-align:left;gap:12px;color:#171717;font-family:inherit}
.v11-kakao .v17-kakao-row .v4-avatar{width:47px;height:47px;border-radius:17px;font-size:16px;flex-shrink:0;background:linear-gradient(135deg,#b8d4e4,#c9c0e9)}
.v11-kakao .v17-kakao-row:nth-child(5n+3) .v4-avatar{background:linear-gradient(135deg,#f5d6b4,#f2a9a9)}
.v11-kakao .v17-kakao-row:nth-child(5n+4) .v4-avatar{background:linear-gradient(135deg,#9ce4d6,#7db4ea)}
.v11-kakao .v17-kakao-row:nth-child(5n+5) .v4-avatar{background:linear-gradient(135deg,#ffe5a3,#ffc15d)}
.v11-kakao .v17-kakao-row .v4-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.v11-kakao .v17-kakao-row .v4-row-name{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v11-kakao .v17-kakao-row .v4-row-preview{font-size:13px;color:#8b8b8e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}
.v17-row-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:8px;align-self:stretch;min-width:60px;padding-top:3px}
.v17-row-side .v4-row-time{font-size:11px;color:#909093;white-space:nowrap;margin:0}
.v17-unread{background:#ff5b25;color:#fff;border-radius:15px;min-width:21px;height:21px;padding:0 6px;font-size:12px;display:grid;place-items:center;font-weight:650}
.v17-inert{cursor:default!important}
.v11-kakao .v4-filters{padding-bottom:14px}

/* V18: align dates and unread badges to exactly the same right edge */
.v11-kakao .v17-row-side{width:77px;min-width:77px;align-items:flex-end;flex-shrink:0;padding-right:0;justify-content:flex-start}
.v11-kakao .v17-row-side .v4-row-time{align-self:flex-end;text-align:right}
.v11-kakao .v17-unread{align-self:flex-end}
/* Chrome home and focused search */
.v18-chrome{background:#eaf2ff;color:#16181b;padding-top:62px!important;overflow:hidden}
.v18-chrome-profile{height:75px;display:flex;align-items:center;justify-content:space-between;padding:0 18px}
.v18-edit{width:40px;height:40px;border-radius:12px;background:#fff9;display:grid;place-items:center;color:#1685e9;font-size:27px}
.v18-profile-avatar{height:36px;width:36px;background:#bfa0ea;border-radius:50%;display:grid;place-items:center;color:#fff}
.v18-google-logo{font-size:55px;font-weight:600;letter-spacing:-4px;text-align:center;margin:8px 0 34px;font-family:Arial,sans-serif}
.v18-google-logo span:nth-child(1),.v18-google-logo span:nth-child(4){color:#4285f4}.v18-google-logo span:nth-child(2),.v18-google-logo span:nth-child(6){color:#ea4335}.v18-google-logo span:nth-child(3){color:#fbbc05}.v18-google-logo span:nth-child(5){color:#34a853}
.v18-chrome-home-search{padding:0 17px}
.v18-chrome-search{height:57px;background:#d4deef;border-radius:34px;display:flex;align-items:center;gap:12px;padding:0 17px;width:100%;min-width:0}
.v18-chrome-search input{min-width:0;flex:1;border:0;background:transparent;font-size:15px;outline:0;color:#222;font-family:inherit}
.v18-chrome-search input::placeholder{color:#505963;opacity:1}
.v18-search-plus{font-size:30px;font-weight:300;line-height:1}.v18-search-tool{display:flex;flex-shrink:0}
.v18-chrome-chips{display:flex;gap:9px;padding:10px 17px 0}.v18-chrome-chips div{background:#d4deef;flex:1;text-align:center;border-radius:35px;padding:13px 4px;font-size:13px}
.v18-shortcuts{margin:24px 8px 0;border-radius:24px;background:#fff;padding:20px 18px 26px}.v18-shortcuts strong{font-size:14px}.v18-shortcut-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:19px;text-align:center}.v18-shortcut-grid>div{display:flex;align-items:center;flex-direction:column;gap:10px}.v18-shortcut-grid span{height:49px;width:49px;background:#e6f0ff;border-radius:14px;display:grid;place-items:center;color:#1683ed;font-size:29px}.v18-shortcut-grid small{font-size:11px;color:#6b6b6b}
.v18-chrome-bottom{margin-top:auto;background:white;height:77px;display:flex;align-items:center;justify-content:space-around;color:#878d91;padding-bottom:13px;border-top:1px solid #eee}.v18-bottom-plus{font-size:29px;background:#e9ecef;width:43px;height:43px;border-radius:50%;display:grid;place-items:center}.v18-tabs{border:2px solid #868b91;border-radius:7px;padding:2px 5px;font-size:15px}
.v18-chrome-focused{background:#fff}.v18-chrome-searchline{display:flex;gap:8px;padding:4px 10px 13px;align-items:center}.v18-chrome-searchline .v18-chrome-search{background:#e9ecef;height:48px;flex:1;padding:0 12px;gap:9px}.v18-chrome-searchline .v18-chrome-search input{font-size:12px}.v18-close{border:0;background:#e9ecef;border-radius:50%;height:38px;width:38px;font-size:20px;color:#777;flex-shrink:0}
.v18-search-history{flex:1;overflow-y:auto;scrollbar-width:none}.v18-history-item{display:flex;width:100%;height:59px;padding:0 17px;align-items:center;gap:18px;border:0;background:#fff;color:#111;text-align:left;font-size:15px}.v18-history-item>span:first-child{color:#8b9499}.v18-history-text{flex:1;border-bottom:1px solid #f1f2f3;height:100%;display:flex;align-items:center}.v18-history-arrow{color:#087eff;font-size:22px}
.v18-keyboard{background:#e4e5e9;padding:10px 6px 8px;border-radius:25px 25px 0 0;flex-shrink:0}.v18-keyboard-row{display:flex;gap:4px;justify-content:center;margin-bottom:9px}.v18-keyboard-row span{background:white;flex:1;max-width:40px;height:43px;border-radius:6px;display:grid;place-items:center;font-size:20px;box-shadow:0 1px 1px #a4a4aa}.v18-keyboard-last span{font-size:15px}.v18-keyboard-last .v18-space{flex:4;max-width:none;color:#999}.v18-keyboard-last .v18-enter{background:#087fff;color:white}.v18-keyboard-footer{display:flex;justify-content:space-between;padding:0 24px 8px;font-size:22px}

/* V19 user-provided KakaoTalk profile photos */
.v11-kakao .v17-kakao-row .v4-avatar.v19-profile{overflow:hidden;background:#f4f4f5!important;display:block;padding:0;border-radius:17px}
.v11-kakao .v17-kakao-row .v19-profile img{width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none}

/* V20: move the entire status bar (time, island, cellular, Wi-Fi, battery) with the lock screen. */
.phone.locked .status{transform:translateY(var(--status-lift,0px));will-change:transform}
.phone.locked.lock-status-dragging .status{transition:none!important}
.phone.locked.lock-status-lifting .status{transition:transform .36s cubic-bezier(.24,.78,.22,1)!important}
.phone.locked.lock-status-reset .status{transition:transform .28s ease-out!important}

/* V21: dynamic island remains stationary as other status bar elements travel up */
.phone.locked .status .island{transform:translate(-50%, calc(-1 * var(--status-lift, 0px)))!important}
/* V21: nudge KakaoTalk unread count by 1px */
.v11-kakao .v17-unread{transform:translateY(-1px)}
/* V21: iOS-style messages list */
.v21-messages{padding-top:68px!important;background:#fff;overflow:hidden}
.v21-msg-head{display:flex;justify-content:space-between;align-items:center;padding:0 17px 8px;height:55px;flex-shrink:0}
.v21-msg-edit,.v21-msg-filter{border:0;background:#f9f9fa;color:#111;height:44px;min-width:58px;border-radius:25px;font-size:16px;padding:0 15px;box-shadow:0 5px 18px #00000008}
.v21-msg-filter{min-width:44px;width:44px;display:grid;place-items:center;padding:0}
.v21-msg-title{font-size:35px;font-weight:760;letter-spacing:-1.4px;padding:5px 17px 15px;margin:0;flex-shrink:0}
.v21-msg-list{padding:0 0 5px;overflow-y:auto;flex:1}
.v21-msg-row{display:flex;align-items:center;width:100%;border:0;background:white;text-align:left;gap:12px;padding:0 14px 0 19px;min-height:80px;color:#111;font-family:inherit}
.v21-msg-avatar{width:49px;height:49px;flex-shrink:0;display:block;border-radius:50%;overflow:hidden}
.v21-msg-avatar svg{display:block;width:100%;height:100%}
.v21-msg-info{min-width:0;flex:1;min-height:80px;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid #e5e5e7;padding:10px 0 10px}
.v21-msg-first{display:flex;justify-content:space-between;align-items:baseline;gap:7px;min-width:0}
.v21-msg-first strong{font-size:15px;font-weight:680;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.v21-msg-date{font-size:11px;color:#8d8d92;white-space:nowrap;display:flex;gap:9px;align-items:center;flex-shrink:0}
.v21-chevron{font-size:24px;color:#c8c8cc;font-weight:300;line-height:10px}
.v21-msg-preview{font-size:12.5px;line-height:1.4;color:#8e8e93;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:36px;margin-top:4px;overflow-wrap:anywhere}
.v21-msg-bottom{height:76px;flex-shrink:0;display:flex;align-items:center;gap:10px;padding:0 16px 12px;background:#ffffffd9;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.v21-msg-search{flex:1;display:flex;align-items:center;gap:12px;border-radius:28px;background:#f5f5f7;color:#777;height:46px;padding:0 15px;font-size:14px}
.v21-msg-mic{margin-left:auto;display:flex;color:#111}
.v21-msg-compose{border:0;background:#f8f8fa;border-radius:50%;height:46px;width:46px;display:grid;place-items:center;color:#111}
/* Keep Dynamic Island absolutely fixed; move only time and signal indicators. */
.phone.locked .status{transform:none!important}
.phone.locked .status #statusTime,.phone.locked .status .signals{transform:translateY(var(--status-lift,0px));will-change:transform}
.phone.locked.lock-status-dragging .status #statusTime,.phone.locked.lock-status-dragging .status .signals{transition:none!important}
.phone.locked.lock-status-lifting .status #statusTime,.phone.locked.lock-status-lifting .status .signals{transition:transform .36s cubic-bezier(.24,.78,.22,1)!important}
.phone.locked.lock-status-reset .status #statusTime,.phone.locked.lock-status-reset .status .signals{transition:transform .28s ease-out!important}
.phone.locked .status .island{transform:translateX(-50%)!important}

/* V22: non-interactive SMS previews and heart contact label */
.v22-msg-inert{cursor:default!important;user-select:none;-webkit-user-select:none;}
.v21-msg-row .v11-heart{width:20px;height:20px;object-fit:contain;vertical-align:middle;display:inline-block;}

/* V23: reference-inspired iOS SMS thread with interactive Korean keyboard */
.v23-mystery{background:#fff;color:#111;padding-top:61px;min-height:0;height:100%;}
.v23-chat-head{height:85px;flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;padding:7px 12px 0;position:relative;background:linear-gradient(#fff 75%,#ffffffee);border-bottom:1px solid #f3f3f4;}
.v23-back{display:flex;align-items:center;gap:0;color:#087bfa;background:#f7f7f9;border:0;border-radius:25px;padding:7px 10px 7px 5px;font-size:12px;cursor:pointer;}
.v23-contact{position:absolute;left:50%;transform:translateX(-50%);top:3px;display:flex;flex-direction:column;align-items:center;gap:4px;white-space:nowrap;}
.v23-contact-avatar{height:43px;width:43px;display:block;}.v23-contact-avatar svg{height:100%;width:100%;}.v23-contact strong{font-size:12px;font-weight:600;}
.v23-header-blank{width:45px;}.v23-history{flex:1;overflow-y:auto;min-height:0;padding:10px 13px 12px;scrollbar-width:none;}.v23-history::-webkit-scrollbar{display:none;}
.v23-date{text-align:center;color:#8e8e93;font-size:10px;margin:8px 0 19px;}.v23-message-line{display:flex;margin:7px 0;align-items:flex-end;}.v23-theirs{justify-content:flex-start;}.v23-mine{justify-content:flex-end;}
.v23-bubble{max-width:79%;padding:9px 12px;border-radius:18px;background:#e9e9eb;font-size:13.5px;line-height:1.38;word-break:keep-all;overflow-wrap:anywhere;white-space:pre-line;}.v23-theirs .v23-bubble{border-bottom-left-radius:5px;}.v23-mine .v23-bubble{background:#34c759;color:#fff;border-bottom-right-radius:5px;}
.v23-delivering{display:flex;gap:4px;padding:10px 14px;width:max-content;background:#e9e9eb;border-radius:18px;margin:8px 0;}.v23-delivering i{height:5px;width:5px;border-radius:50%;background:#929298;animation:v23dots 1s infinite alternate;}.v23-delivering i:nth-child(2){animation-delay:.2s}.v23-delivering i:nth-child(3){animation-delay:.4s}@keyframes v23dots{to{opacity:.2;transform:translateY(-2px)}}
.v23-composer{display:flex;align-items:center;gap:9px;padding:6px 12px 12px;flex-shrink:0;min-height:57px;background:#fff;}.v23-add{border:0;border-radius:50%;background:#ededf0;color:#777;width:27px;height:27px;font-size:23px;line-height:1;flex-shrink:0;}.v23-input{border:1px solid #e5e5e9;border-radius:21px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;color:#b0b0b5;font-size:12px;flex:1;text-align:left;min-width:0;cursor:text;}.v23-input span{font-size:13px;color:#8d8d94;}
.v23-keyboard{height:240px;flex-shrink:0;background:#d5d8df;padding:8px 4px 7px;display:flex;flex-direction:column;justify-content:space-between;border-radius:12px 12px 0 0;}.v23-keys{display:flex;flex-direction:column;gap:8px;}.v23-key-row{display:flex;justify-content:center;gap:4px;height:38px;}.v23-key-row span{flex:1;background:#fff;border-radius:5px;display:grid;place-items:center;font-size:19px;color:#111;box-shadow:0 1px 1px #8d929b;}.v23-key-special span:first-child,.v23-key-special span:last-child{background:#aeb5c1;}.v23-key-last span{font-size:13px;}.v23-key-last .v23-space{flex:4;font-size:11px;color:#aaa;}.v23-key-last .v23-key-enter{background:#aeb5c1;}.v23-key-foot{display:flex;justify-content:space-between;padding:0 24px 0;font-size:17px;height:21px;}
.v23-keyboard-open .v23-composer{padding-bottom:5px;min-height:51px;}.phone:has(.v23-keyboard-open) .gesture{background:#222!important;z-index:150;}
.v21-msg-row:has([alt="❤️"]){cursor:pointer;}

.v23-key-last .v23-key-enter{flex:1;border:0;border-radius:6px;background:#1687fa;color:#fff;font-size:23px;cursor:pointer;box-shadow:0 1px 1px #8d929b;}

/* V24: blue iMessage bubbles, receipts, realistic keyboard footer and no blank white strip */
.v23-mine .v23-bubble{background:#55a8f7!important;color:#fff!important;border-bottom-right-radius:5px!important}
.v24-message-stack{display:flex;flex-direction:column;align-items:flex-start;max-width:79%}
.v23-mine .v24-message-stack{align-items:flex-end}
.v24-message-stack .v23-bubble{max-width:100%}
.v24-receipt{color:#919197;font-size:11px;font-weight:600;margin:4px 8px 0 0;text-align:right}
.v23-mystery{padding-bottom:0!important;min-height:0!important;overflow:hidden!important}
.phone:has(.v23-mystery) .app-screen,.phone:has(.v23-mystery) .app-content{background:#fff!important;padding-bottom:0!important;min-height:0!important;overflow:hidden!important}
.phone:has(.v23-mystery) .v23-mystery{height:100%!important;max-height:100%!important}
.phone:has(.v23-mystery)>.gesture{z-index:180!important;background:#151515!important;bottom:9px!important}
.v23-keyboard{border-radius:12px 12px 0 0!important;padding-bottom:3px!important}
.v23-key-foot{height:31px!important;align-items:center;padding:0 25px!important;color:#101115}
.v23-key-foot .v24-globe,.v23-key-foot .v24-microphone{display:flex;align-items:center;justify-content:center}
.v23-keyboard-open .v23-composer{padding-bottom:4px!important}

/* V25: keyboard footer raised, empty spacebar and animated incoming typing bubble */
.v23-key-foot{transform:translateY(-6px);padding-left:25px!important;padding-right:25px!important}
.v23-key-last .v23-space{color:transparent!important}
.v25-typing-line{display:flex;justify-content:flex-start;margin:9px 0 8px 10px}
.v25-typing-bubble{display:flex;align-items:center;gap:5px;background:#e9e9eb;padding:11px 13px;border-radius:18px;border-bottom-left-radius:5px;min-width:53px;height:33px}
.v25-typing-bubble i{height:7px;width:7px;border-radius:50%;background:#939398;animation:v25-typing 1.2s infinite ease-in-out}
.v25-typing-bubble i:nth-child(2){animation-delay:.16s}.v25-typing-bubble i:nth-child(3){animation-delay:.32s}
@keyframes v25-typing{0%,60%,100%{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

/* V27 — home-screen geometry only. Preserve app assets, positions, and interactions. */
.home{padding-left:20px!important;padding-right:20px!important;}
.home .apps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:12px!important;row-gap:clamp(18px,2.6vh,25px)!important;justify-items:center;align-content:start;}
.home .apps .app-icon{width:100%;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px!important;}
.home .apps .icon-art{width:clamp(58px,16.4vw,68px)!important;height:clamp(58px,16.4vw,68px)!important;aspect-ratio:1/1;flex:0 0 auto;overflow:hidden;border-radius:22.5%;}
.home .apps .icon-art img{width:100%!important;height:100%!important;object-fit:cover!important;display:block;}
.home .apps .app-label{width:100%;max-width:100%;font-size:12px!important;line-height:16px!important;font-weight:500;text-align:center;}
.home .dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center;column-gap:7px!important;padding:13px 10px!important;}
.home .dock .app-icon{width:100%;display:flex;justify-content:center;align-items:center;}
.home .dock .icon-art{width:clamp(59px,16.7vw,70px)!important;height:clamp(59px,16.7vw,70px)!important;aspect-ratio:1/1;overflow:hidden;}
.home .dock .icon-art img{width:100%!important;height:100%!important;object-fit:cover!important;}
@media(max-width:350px){.home{padding-left:14px!important;padding-right:14px!important}.home .apps{column-gap:7px!important;row-gap:14px!important}.home .apps .icon-art{width:58px!important;height:58px!important}.home .dock .icon-art{width:59px!important;height:59px!important}}

/* V30 — intentionally based on V27, not V28/V29. */
/* Preserve the existing 4-column geometry; make app names visible again. */
.home .apps .app-label{display:block!important;visibility:visible!important;opacity:1!important;color:#fff!important;text-shadow:0 1px 3px #000e,0 2px 7px #000b!important;font-size:11.5px!important;line-height:16px!important;white-space:nowrap!important;overflow:visible!important;}
.home .dock .app-label{display:none!important}
/* Align the lone zero vertically within the circular key. */
.passcode-pad button[data-digit="0"] strong{transform:translateY(4px)}
/* Screenshot-like status bar, retaining V27 placement and other behaviors. */
.phone .status{padding-left:clamp(27px,7vw,34px)!important;padding-right:clamp(24px,6vw,30px)!important;font-size:17px!important;font-weight:700!important;letter-spacing:-.45px!important;}
.phone .status .island{width:clamp(110px,32vw,142px)!important;height:34px!important;top:10px!important;background:#000!important;border-radius:23px!important;box-shadow:none!important}
.phone .status .signals{gap:6px!important;}
.phone .status .signals .silent{display:none!important}
.phone .status .signals svg:first-of-type{width:21px;height:18px}
.phone .status .signals svg:nth-of-type(2){width:22px;height:18px}
.phone .status .battery{position:relative;min-width:26px!important;width:26px!important;height:15px!important;border:1.8px solid currentColor!important;border-radius:5px!important;background:transparent!important;color:inherit!important;font-size:0!important;padding:0!important;margin-left:2px!important;}
.phone .status .battery::before{content:'';position:absolute;left:2px;top:2px;bottom:2px;width:68%;background:currentColor;border-radius:2px}
.phone .status .battery::after{content:'';position:absolute;right:-4px;top:4px;width:2px;height:5px;background:currentColor;border-radius:0 2px 2px 0}
.v4-calendar{touch-action:pan-y}
.v30-month-enter .v4-cal-grid{animation:v30CalIn .22s ease-out}
@keyframes v30CalIn{from{opacity:.65;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}

/* V31: allow a full label line inside each home grid cell on mobile. */
.home .apps{grid-auto-rows:92px!important;row-gap:8px!important;}
.home .apps .app-icon{gap:2px!important;overflow:visible!important;}
.home .apps .app-label{display:block!important;position:relative!important;margin-top:0!important;line-height:17px!important;min-height:17px!important;flex:0 0 17px!important;z-index:2!important;white-space:nowrap!important;overflow:visible!important;}
@media(max-height:740px){.home .apps{grid-auto-rows:82px!important;row-gap:5px!important}.home .apps .icon-art{width:clamp(48px,14vw,60px)!important;height:clamp(48px,14vw,60px)!important}}

/* V32: detailed KakaoTalk conversation */
.v32-kakao-chat{background:#b3c6d5!important;color:#111;display:flex;flex-direction:column;min-height:0;height:100%;padding-bottom:0!important}
.v32-chat-top{background:#b3c6d5!important;flex-shrink:0;border-bottom:0;min-height:51px}
.v32-chat-top .v4-action{background:transparent!important;color:#10171c}
.v32-chat-top .v4-right{display:flex;align-items:center;gap:2px}
.v32-chat-top .v11-heart{height:24px;max-width:30px}
.v32-chat-scroll{flex:1;min-height:0;overflow-y:auto;padding:10px 11px 20px;scrollbar-width:none;overscroll-behavior:contain}
.v32-chat-scroll::-webkit-scrollbar{display:none}
.v32-day{display:flex;justify-content:center;margin:18px 0 23px}
.v32-day span{background:#a1b7c7b8;color:#28323a;font-size:11px;padding:7px 12px;border-radius:18px}
.v32-msg{display:flex;gap:6px;align-items:flex-start;margin:6px 0}
.v32-msg-avatar{flex:0 0 33px;width:33px;height:33px}
.v32-msg-avatar img{width:33px;height:33px;object-fit:cover;border-radius:12px}
.v32-msg-content{max-width:calc(100% - 39px);min-width:0}
.v32-sender{font-size:12px;color:#333e46;margin-bottom:5px}
.v32-msg-line{display:flex;gap:4px;align-items:flex-end}
.v32-bubble{background:#fff;border-radius:12px;padding:9px 11px;line-height:1.4;font-size:14px;max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}
.v32-msg-meta{display:flex;flex-direction:column;gap:2px;min-width:max-content;align-items:flex-start}
.v32-msg-meta small{font-size:10px;color:#53616b;white-space:nowrap}
.v32-msg-meta b{font-size:11px;color:#d3a700}
.v32-msg.mine{flex-direction:row-reverse}
.v32-msg.mine .v32-msg-avatar{display:none}
.v32-msg.mine .v32-msg-line{flex-direction:row-reverse}
.v32-msg.mine .v32-bubble{background:#ffe34c}
.v32-msg.mine .v32-msg-meta{align-items:flex-end}
.v32-msg.photo .v32-bubble{padding:0;overflow:hidden;max-width:195px;background:transparent}
.v32-photo{display:block;width:100%;max-height:255px;object-fit:cover;border-radius:11px}
.v32-msg.call .v32-bubble{background:white;min-width:145px;min-height:53px;display:flex;align-items:center;padding:9px 11px}
.v32-call{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;white-space:nowrap;font-size:14px}
.v32-call-icon{color:#48b94b;font-size:24px;font-weight:700;line-height:1}
.v32-call-icon.missed{color:#999}
.v32-chat-compose{display:flex;gap:12px;align-items:center;background:#fff;padding:8px 13px;min-height:49px;flex-shrink:0;color:#8a8d91}
.v32-chat-compose>div{border:1px solid #e3e3e3;border-radius:19px;padding:8px 12px;flex:1;font-size:12px}
.v32-chat-compose>span{font-size:23px}
.v4-calendar .v4-event.school{background:#dcefff;color:#37759b}
.v4-calendar .v4-event.daeyoung{background:#dff3db;color:#3c8255}
.v4-calendar .v4-event.other{background:#fff3ca;color:#97751d}
.v4-calendar .v4-event.home{background:#e9eaec;color:#626b72}
.v4-calendar .v4-calendar-cell{gap:3px}
.v4-calendar .v4-event{font-size:9px;line-height:1.25;padding:2px 3px}

/* V33: KakaoTalk reference header proportions and reliable calendar day targets */
.v32-chat-top{padding:0 12px!important;gap:0;height:58px!important;min-height:58px!important}
.v32-chat-top .v4-left{min-width:48px;flex:0 0 48px}
.v32-chat-top .v4-center{font-size:21px!important;letter-spacing:-.5px;display:flex;justify-content:center;align-items:center}
.v33-heart-title{font-size:22px;line-height:1;font-weight:500}
.v32-chat-top .v4-right{min-width:126px;flex:0 0 126px;justify-content:flex-end;gap:1px!important}
.v32-chat-top .v4-action{width:40px!important;height:44px!important;padding:7px!important}
.v32-chat-top .v4-left .v4-action{width:44px!important}
.v4-calendar .v4-cal-grid{overflow-y:auto;overflow-x:hidden;min-height:0;align-content:start;touch-action:pan-y;grid-template-rows:repeat(var(--rows),minmax(68px,auto))}
.v4-calendar .v4-calendar-cell{position:relative;z-index:1;cursor:pointer;touch-action:manipulation;min-height:68px;overflow:hidden}
.v4-calendar .v4-calendar-cell:not(.off){pointer-events:auto!important}
.v4-calendar .v4-calendar-cell .v4-event{pointer-events:none}
.v4-calendar .v4-cal-selected{flex-shrink:0;min-height:44px;padding-bottom:14px}
.v4-calendar .v4-add{pointer-events:none}
@media(max-height:720px){.v4-calendar .v4-cal-grid{grid-template-rows:repeat(var(--rows),minmax(55px,auto))}.v4-calendar .v4-calendar-cell{min-height:55px}}

/* V34: reference-like Kakao header with a mathematically centered contact name. */
.v32-chat-top{position:relative!important;display:flex!important;align-items:center!important;height:60px!important;min-height:60px!important;padding:0 13px!important;justify-content:space-between!important}
.v32-chat-top .v4-left{flex:0 0 44px!important;min-width:44px!important;z-index:2}
.v32-chat-top .v4-center{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:auto!important;min-width:0!important;flex:none!important;z-index:1;white-space:nowrap}
.v32-chat-top .v4-right{margin-left:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;flex:0 0 auto!important;min-width:0!important;gap:4px!important;z-index:2}
.v32-chat-top .v4-action{width:36px!important;height:43px!important;padding:3px!important;display:grid!important;place-items:center!important}
.v32-chat-top .v4-left .v4-action{width:36px!important}
.v32-chat-top .v4-left svg{width:30px;height:30px;stroke-width:2.5}
.v32-chat-top .v33-heart-title{font-size:22px!important;line-height:1}
/* Show the timestamp only on the final bubble of each same-time sender run. */
.v32-msg-meta:empty{display:none}
/* Range strips run edge-to-edge across adjacent date cells, with one colored label. */
.v4-calendar .v4-cal-grid{column-gap:0!important;overflow-y:auto!important;overflow-x:hidden!important}
.v4-calendar .v4-calendar-cell{overflow:visible!important;padding-left:0!important;padding-right:0!important;isolation:auto!important;z-index:auto!important}
.v4-calendar .v4-event{margin-left:2px;margin-right:2px;position:relative;z-index:2}
.v4-calendar .v4-event.v34-range{margin-left:0!important;margin-right:0!important;border-radius:0!important;min-height:18px;display:block;padding:2px 3px!important;overflow:visible!important;white-space:nowrap!important;z-index:3}
.v4-calendar .v4-event.v34-range-start{border-radius:4px 0 0 4px!important;margin-left:2px!important}
.v4-calendar .v4-event.v34-range-end{border-radius:0 4px 4px 0!important;margin-right:2px!important}
.v4-calendar .v4-event.v34-range-start.v34-range-end{border-radius:4px!important}
.v4-calendar .v4-event.home{background:#e9eaec!important;color:#626b72!important}
.v4-calendar .v4-calendar-cell.active{background:#f8f8fa}

/* V35 KakaoTalk: tighter authentic bubble scale and typography */
.v32-kakao-chat{font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif!important}
.v32-chat-scroll{background:#b2c4d1!important;padding:11px 10px 14px!important}
.v32-msg{gap:6px!important;margin:4px 0!important}
.v32-msg-avatar,.v32-msg-avatar img{width:34px!important;height:34px!important;flex-basis:34px!important}
.v32-msg-avatar img{border-radius:13px!important}
.v32-sender{font-size:12px!important;margin-bottom:5px!important;color:#343b42!important}
.v32-bubble{font-size:14px!important;font-weight:400!important;line-height:1.46!important;letter-spacing:-.35px!important;padding:8px 10px!important;border-radius:13px!important;box-shadow:none!important}
.v32-msg-meta small{font-size:10px!important;color:#53616b!important}
.v32-msg.mine .v32-bubble{background:#fee448!important}
.v32-msg.call .v32-bubble{background:#fff!important}
.v32-call-icon{display:inline-flex;align-items:center}
.v32-call-icon img{width:23px;height:23px;object-fit:contain;display:block}
.v32-call-icon.missed img{opacity:.42}
.v32-day{margin:18px 0 22px!important}
.v32-day span{font-size:11px!important}
/* Playable billiards message */
.v35-pool-wrap{padding:8px 12px 16px;color:#444}
.v35-pool-date{text-align:center;color:#929292;font-size:11px;margin:12px 0 22px}
.v35-pool-sender{font-size:12px;color:#999;margin:0 0 8px 5px}
.v35-pool-invite{display:block;overflow:hidden;border:1px solid #e2e2e2;border-radius:18px;background:#f5f5f5;padding:0;width:min(100%,300px);cursor:pointer;color:#444}
.v35-pool-invite strong{display:block;padding:11px;text-align:center;font-size:15px}
.v35-pool-mini{height:158px;position:relative;background:linear-gradient(90deg,#69442f 0 5%,#176f62 5% 95%,#69442f 95%);border:10px solid #795038;box-shadow:inset 0 0 0 4px #cba87b;display:flex;align-items:center;justify-content:center}
.v35-pool-play{background:#14251fe0;border:3px solid #b2e94e;color:#b2e94e;border-radius:50%;height:65px;width:65px;display:grid;place-items:center;font-size:30px;padding-left:4px;z-index:1}
.v35-pool-rack{position:absolute;right:25px;font-size:24px}
.v35-pool-game{margin-top:10px;background:#f5f5f5;padding:9px;border-radius:12px;width:min(100%,340px)}
.v35-pool-score{font-size:12px;display:flex;justify-content:space-between;gap:6px;margin-bottom:8px}
#v35-pool-canvas{width:100%;height:auto;touch-action:none;border-radius:6px;display:block}
.v35-pool-actions{display:flex;justify-content:space-between;align-items:center;font-size:10px;padding-top:8px}
.v35-pool-actions button{border:0;border-radius:8px;padding:7px;background:#e3e3e3}

/* V36 — KakaoTalk conversation proportions from supplied reference */
.v32-kakao-chat,.v32-chat-top{background:#b2c5d3!important}
.v32-chat-scroll{background:#b2c5d3!important;padding:12px 10px 20px!important}
.v32-msg{gap:8px!important;margin:9px 0!important;align-items:flex-start!important}
.v32-msg-avatar{flex:0 0 37px!important;width:37px!important;height:37px!important}
.v32-msg-avatar img{width:37px!important;height:37px!important;border-radius:50%!important}
.v32-msg-content{max-width:calc(100% - 45px)!important}
.v32-sender{font-size:13px!important;line-height:1.3!important;margin:0 0 7px!important;letter-spacing:-.2px!important;color:#29343d!important}
.v32-msg-line{gap:5px!important;align-items:flex-end!important}
.v32-bubble{font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif!important;font-size:15px!important;line-height:1.43!important;letter-spacing:-.35px!important;padding:10px 12px!important;border-radius:17px!important;position:relative;word-break:keep-all!important;overflow-wrap:break-word!important}
.v32-msg.theirs .v32-bubble{border-top-left-radius:5px!important}
.v32-msg.mine .v32-bubble{border-top-right-radius:5px!important;background:#ffe548!important}
.v32-msg.theirs .v32-bubble::before{content:'';position:absolute;left:-5px;top:1px;width:11px;height:12px;background:#fff;clip-path:polygon(100% 0,0 0,100% 100%)}
.v32-msg.mine .v32-bubble::after{content:'';position:absolute;right:-5px;top:1px;width:11px;height:12px;background:#ffe548;clip-path:polygon(0 0,100% 0,0 100%)}
.v32-msg-meta small{font-size:11px!important;letter-spacing:-.15px!important;color:#4d606c!important}
.v32-msg-meta b{font-size:11px!important}
.v32-msg.mine{margin-left:40px!important}
.v32-msg.mine .v32-msg-content{max-width:100%!important}
.v32-msg.photo .v32-bubble{padding:0!important;overflow:hidden!important;border-radius:12px!important}
.v32-msg.photo .v32-bubble::before,.v32-msg.photo .v32-bubble::after{display:none!important}
.v32-msg.call .v32-bubble{min-height:53px!important;min-width:148px!important;padding:10px 12px!important;border-radius:17px!important}
.v32-day{margin:21px 0 25px!important}
.v32-day span{font-size:11px!important}

/* V37 — tighter, text-fitted KakaoTalk bubbles; two-line ended-call labels */
.v32-bubble{font-size:13.5px!important;line-height:1.36!important;letter-spacing:-.25px!important;padding:7px 9px!important;border-radius:14px!important;width:fit-content!important;max-width:100%!important;}
.v32-msg.theirs .v32-bubble{border-top-left-radius:4px!important}
.v32-msg.mine .v32-bubble{border-top-right-radius:4px!important}
.v32-msg{margin:6px 0!important}
.v32-sender{font-size:12px!important;margin-bottom:5px!important}
.v32-msg-line{gap:4px!important}
.v32-msg-meta small{font-size:10px!important}
.v32-msg.call .v32-bubble{min-height:0!important;min-width:0!important;padding:8px 10px!important}
.v32-call{font-size:13.5px!important;gap:11px!important;justify-content:flex-start!important;line-height:1.32!important}
.v37-call-ended{display:flex;flex-direction:column;align-items:flex-start;gap:2px;white-space:nowrap}
.v37-call-duration{display:block;font-size:12px;line-height:1.3;color:#555}
.v32-msg.photo .v32-bubble{padding:0!important;width:auto!important}

/* V39: very subtle bubble breathing room over V37; keep line-height and message spacing unchanged */
.v32-msg:not(.photo) .v32-bubble{padding:8px 11px!important}
.v32-msg.call .v32-bubble{padding:9px 12px!important}

/* V40: only the first bubble in each uninterrupted sender group has a tail. */
.v32-msg.v40-group-cont .v32-bubble::before,.v32-msg.v40-group-cont .v32-bubble::after{content:none!important;display:none!important}
/* Keep the specified parcel message on one line without an adjacent timestamp. */
.v32-msg.v40-single-line .v32-bubble{white-space:nowrap!important;font-size:10.6px!important;letter-spacing:-.55px!important;word-break:normal!important;overflow-wrap:normal!important;max-width:none!important}
.v32-msg.v40-single-line .v32-msg-meta{display:none!important}

/* V41: restore standard KakaoTalk text without altering other bubble sizing */
.v32-msg.v41-original-font .v32-bubble{font-size:13.5px!important;letter-spacing:normal!important;white-space:normal!important;overflow-wrap:break-word!important;max-width:100%!important}
.v32-msg.v41-original-font .v32-msg-meta{display:none!important}
.v41-pool-overlay{position:absolute;inset:0;z-index:950;background:linear-gradient(#d6d6d6,#b8b8b8);display:flex;flex-direction:column;color:#222;overflow:hidden}
.v41-pool-head{height:76px;padding:37px 16px 8px;display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700}
.v41-pool-head span{font-size:11px;color:#555}
.v41-pool-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:4px 22px 56px;position:relative}
#v41-pool-canvas{width:100%;max-width:345px;max-height:100%;aspect-ratio:300/520;object-fit:contain;touch-action:none;filter:drop-shadow(0 5px 8px #0006)}
.v41-pool-exit{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);width:48px;height:48px;border:0;border-radius:50%;background:#0009;color:#fff;display:grid;place-items:center;font-size:25px;z-index:3;cursor:pointer}
.v41-pool-bottom{height:75px;padding:10px 15px 25px;display:flex;justify-content:space-between;align-items:center;font-size:12px}
.v41-pool-bottom button{border:0;border-radius:20px;padding:10px 14px;background:#fff9;color:#333;font-weight:700}
.v41-voice{background:#fff;color:#111;height:100%;display:flex;flex-direction:column;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif}
.v41-voice-top{display:flex;align-items:center;justify-content:space-between;padding:15px 17px 3px;font-size:15px}
.v41-voice-top button{border:0;background:none;font-size:15px;color:#222}
.v41-voice h1{font-size:27px;margin:13px 17px 10px;letter-spacing:-1px}
.v41-voice-list{overflow:auto;flex:1;padding:0 16px 60px;scrollbar-width:none}
.v41-voice-item{width:100%;background:white;border:0;border-top:1px solid #e7e7e7;text-align:left;padding:10px 0 9px;color:#111;display:block}
.v41-voice-item strong{display:block;font-size:14px;font-weight:650}
.v41-voice-sub{display:flex;justify-content:space-between;color:#929292;font-size:11px;margin-top:4px}
.v41-voice-player{padding:9px 0 12px;border-top:1px solid #eee}
.v41-voice-player input{width:100%;accent-color:#111;height:5px}
.v41-voice-controls{display:flex;align-items:center;justify-content:space-between;margin-top:13px}
.v41-voice-controls button{border:0;background:none;font-size:22px;color:#171717;cursor:pointer}
.v41-voice-controls .play{font-size:28px}
.v41-voice-footer{height:77px;flex-shrink:0;display:grid;place-items:center;background:linear-gradient(#fff,#fffffff0)}
.v41-voice-record{width:55px;height:55px;background:#f21e41;border:5px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #ddd;cursor:pointer}
.v41-voice-record.recording{border-radius:14px;transform:scale(.65)}

/* V42: cinematic iMessage pool table and accurate compact iOS Voice Memos list */
.v41-pool-overlay{background:radial-gradient(ellipse at 50% 42%,#e6e3db 0%,#c5c4bf 75%,#a7a7a5 100%)!important}
.v41-pool-head{height:51px!important;padding:24px 14px 3px!important;font-size:11px!important;opacity:.55}
.v41-pool-stage{padding:0 22px 8px!important;align-items:center!important}
#v41-pool-canvas{max-width:315px!important;filter:drop-shadow(0 5px 8px #0008)!important}
.v41-pool-exit{bottom:13%!important;width:42px!important;height:42px!important;background:rgba(0,0,0,.65)!important;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);padding:0!important}
.v41-pool-bottom{height:48px!important;padding:0 17px 12px!important;opacity:.75}
.v41-voice{font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif!important}
.v41-voice-top{height:12px!important;min-height:12px!important;padding:0!important;visibility:hidden!important;overflow:hidden!important}
.v41-voice h1{font-size:29px!important;font-weight:750!important;line-height:1.15!important;margin:15px 16px 18px!important;letter-spacing:-1.2px!important}
.v41-voice-list{padding:0 16px 22px!important}
.v41-voice-item{padding:14px 0 13px!important;min-height:68px!important}
.v41-voice-item strong{font-size:15.5px!important;font-weight:600!important;line-height:1.4!important;letter-spacing:-.3px!important}
.v41-voice-sub{font-size:12.5px!important;margin-top:4px!important;color:#858585!important}
.v41-voice-player{padding:13px 0 18px!important}
.v41-voice-player input{accent-color:#3d87f4!important}
.v41-voice-controls button{font-size:23px!important}
.v41-voice-controls .play{font-size:30px!important}
.v41-voice-footer{height:72px!important}

/* V43: iMessage pool preview uses same felt/wood/pocket style as opened table */
.v35-pool-mini{height:138px!important;position:relative!important;border:9px solid #704936!important;border-radius:10px 10px 1px 1px!important;background:linear-gradient(90deg,#633a30 0 4%,#c19a70 4% 5.5%,#146d60 5.5% 94.5%,#c19a70 94.5% 96%,#633a30 96%)!important;box-shadow:inset 0 0 0 5px #382722,inset 0 0 20px #0004!important;overflow:hidden}
.v35-pool-mini:before{content:'';position:absolute;inset:6px 13px;background:radial-gradient(ellipse at 42% 30%,#228476,#08645b 72%,#074f47);box-shadow:inset 0 0 10px #0005}
.v35-pool-mini:after{content:'';position:absolute;inset:4px 12px;pointer-events:none;background:radial-gradient(circle at 0% 0%,#050808 0 7px,transparent 8px),radial-gradient(circle at 100% 0%,#050808 0 7px,transparent 8px),radial-gradient(circle at 0% 100%,#050808 0 7px,transparent 8px),radial-gradient(circle at 100% 100%,#050808 0 7px,transparent 8px),radial-gradient(circle at 0% 50%,#050808 0 7px,transparent 8px),radial-gradient(circle at 100% 50%,#050808 0 7px,transparent 8px)}
.v35-pool-play{position:relative;z-index:2!important;width:59px!important;height:59px!important;font-size:29px!important;background:#071e1bbd!important;border:2px solid #b9eb4e!important;color:#b9eb4e!important}
.v35-pool-rack{position:absolute;right:21px;top:50%;transform:translateY(-50%);z-index:2;background:radial-gradient(circle at 30% 25%,#777,#24222d 65%,#080808);color:#fff;font:bold 10px Arial!important;border-radius:50%;width:21px;height:21px;display:grid;place-items:center;box-shadow:1px 2px 3px #0007}
/* Voice Memos: respect iPhone's status bar and Dynamic Island */
.phone:has(.v41-voice) .app-content{padding:0!important;overflow:hidden!important}
.v41-voice{padding-top:75px!important;height:100%!important;min-height:0!important}
.v41-voice-top{display:none!important}
.v41-voice h1{margin:4px 17px 16px!important;font-size:29px!important;line-height:1.25!important;flex-shrink:0}
.v41-voice-list{min-height:0!important;flex:1!important;overflow-y:auto!important}
.v41-voice-sub svg{vertical-align:middle;margin-left:5px;color:#888;flex-shrink:0}
.v41-voice-controls{margin-top:24px!important;margin-bottom:3px!important;gap:3px!important}
.v41-voice-controls button{display:flex;align-items:center;justify-content:center;min-width:38px;min-height:42px;padding:0!important}
.v41-voice-controls .v43-blue{color:#3888e9!important}
.v41-voice-controls .play{font-size:31px!important;color:#080808!important}
.v41-voice-player{padding-top:22px!important;padding-bottom:16px!important}
.v41-voice-player input{appearance:none;-webkit-appearance:none;height:6px!important;border-radius:8px;background:#e3e3e3}
.v41-voice-player input::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;border-radius:50%;background:#888}
.v41-voice-footer{height:72px!important}

/* V44: source-image accurate iOS Voice Memos controls */
.v41-voice{font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","SF Pro Display","Malgun Gothic",sans-serif!important}
.v41-voice h1{font-size:28px!important;font-weight:750!important;letter-spacing:-1.05px!important}
.v41-voice-item strong{font-size:15px!important;font-weight:650!important;letter-spacing:-.3px!important}
.v41-voice-sub{font-size:12px!important;letter-spacing:-.15px!important;align-items:center!important}
.v41-voice-sub>span:first-child{display:inline-flex;align-items:center;gap:6px}
.v41-voice-sub .v44-comment{width:19px;height:19px;object-fit:contain;margin:0!important;vertical-align:middle}
.v41-voice-controls{margin-top:32px!important;margin-bottom:9px!important;align-items:center!important;justify-content:space-between!important;gap:0!important}
.v41-voice-controls button{min-width:44px!important;min-height:45px!important}
.v41-voice-controls img{display:block;object-fit:contain;pointer-events:none}
.v41-voice-controls .v44-15{width:32px;height:34px}
.v41-voice-controls .v44-wave{width:26px;height:35px}
.v41-voice-controls .v44-trash{width:30px;height:36px}
.v41-voice-controls .play{font-family:Arial,sans-serif;font-size:34px!important}
.v41-voice-player{padding-top:25px!important;padding-bottom:22px!important}
.v41-voice-player input{margin:0!important}
.v41-voice-player .v41-voice-sub{margin-top:9px!important;font-size:12px!important}

/* V54: unread counter 1px higher than V49 */
.v11-kakao .v17-unread{transform:translateY(-2px)}

/* V55: overlay animated hands on the custom clock face. */
.icon-art[data-icon-name="시계"]{position:relative;}
.icon-art[data-icon-name="시계"] .live-clock-hands{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;}
.live-clock-hands line{transform-box:view-box;transform-origin:256px 256px;stroke-linecap:round;}
.live-hour{stroke:#111;stroke-width:18;}
.live-minute{stroke:#111;stroke-width:14;}
.live-second{stroke:#ffa000;stroke-width:5;}
/* V56 Sakuyа messages */
.v56-sak .v23-history{padding-bottom:22px}.v56-game-card{display:flex;align-items:center;text-align:left;gap:9px;width:178px;min-height:72px;border:1px solid #e3e5e9;border-radius:15px;background:#f4f5f8;color:#24252a;padding:8px;cursor:default;box-shadow:0 1px 3px #00000012}.v56-game-card[data-v56="play"]{cursor:pointer}.v56-game-art{display:block;width:55px;height:55px;flex:none;border-radius:12px;overflow:hidden;background:#101b36}.v56-game-art img{width:100%;height:100%;object-fit:cover}.v56-game-caption{display:flex;flex-direction:column;gap:5px}.v56-game-caption b{font-size:14px}.v56-game-caption small{font-size:10px;color:#72747b;white-space:nowrap}.v56-play{margin-left:auto;color:#007aff}.v56-list-avatar{width:100%;height:100%;object-fit:cover;border-radius:50%}.v56-sak .v23-back{cursor:pointer}

/* V57: compact 8 Ball records and a full-size playable invitation */
.v57-eightball-record{display:inline-flex;align-items:center;gap:7px;padding:2px 4px;min-height:35px;color:#929292;font-size:17px;font-weight:400}.v57-eightball-record img{width:36px;height:36px;object-fit:cover;border-radius:50%}.v57-pool-invite{display:block;width:min(100%,300px);border:1px solid #e6e6e6;border-radius:20px;overflow:hidden;padding:0;background:#f5f5f5;text-align:center;cursor:pointer;box-shadow:none}.v57-pool-table{display:block;position:relative;width:100%;background:#eee}.v57-pool-table svg{display:block;width:100%;height:auto}.v57-pool-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:58px;height:58px;border:4px solid #b3e44d;border-radius:50%;background:#09271f;color:#b3e44d;font-size:25px;padding-left:4px}.v57-pool-caption{display:block;padding:11px 0 12px;font-size:19px;color:#404040}.v56-sak .v23-message-line:has(.v57-pool-invite){width:100%}

/* V58: smaller 8-ball event markers, photo-real reference game invitation */
.v56-sak .v57-eightball-record{font-size:12px!important;gap:4px!important;min-height:23px!important;padding:0 2px!important;line-height:1.1!important}
.v56-sak .v57-eightball-record img{width:23px!important;height:23px!important;flex-shrink:0!important}
.v56-sak .v57-pool-invite{width:min(100%,300px)!important;border:0!important;border-radius:20px!important;background:#f5f5f5!important;overflow:hidden!important;display:block!important;line-height:0!important}
.v56-sak .v58-pool-photo{display:block!important;width:100%!important;height:auto!important;border-radius:19px!important}
.v4-calendar .v4-month,.v4-calendar .v4-month *{color:#111!important;-webkit-text-fill-color:#111!important}

/* V59: clock status icons remain white; home screen returns to white after leaving clock. */
.phone:not(:has(.app-screen:not(.hidden))) .status,.phone:not(:has(.app-screen:not(.hidden))) .status .battery{color:#fff!important}
.phone:not(:has(.app-screen:not(.hidden))) .status .signals svg{stroke:#fff!important}
.phone:not(:has(.app-screen:not(.hidden))) .status .signals svg[fill="white"]{fill:#fff!important}
.phone:has(.v11-clock) .status .battery{color:#fff!important;background:transparent!important}

/* V60 refinements */
.v60-kakao .v32-chat-scroll{overscroll-behavior:contain}
.v60-kakao .v32-bubble{font-size:13.5px!important;line-height:1.48!important;letter-spacing:normal!important;white-space:pre-wrap!important}
.v60-kakao .v32-msg{margin:6px 0!important}
.v60-kakao .v32-msg-avatar img{object-fit:cover}
.v60-kakao .v32-chat-compose{display:flex!important;gap:8px!important;align-items:center!important}
.v60-compose-input{flex:1;min-width:0;border:0;border-radius:18px;background:#fff;padding:10px 12px;font-size:14px;outline:0;color:#222}
.v60-send{border:0;border-radius:50%;background:#fee548;width:35px;height:35px;font-size:18px;color:#333;flex-shrink:0}
.v60-block-controls{display:flex;align-items:center;justify-content:space-around;padding:13px 8px;background:rgba(255,255,255,.9);border-radius:14px;margin:4px 12px}
.v60-block-controls button{border:0;background:none;color:#222;font-size:13px;display:flex;align-items:center;gap:5px}
.v60-block-controls button:last-child{color:#f26735}
.v60-block-notice{margin:auto 12px 16px;padding:18px 10px;background:#e4edf5;border:1px solid white;border-radius:40px;text-align:center;color:#9ca2a9;font-size:13px}
.v60-blocked .v32-chat-scroll{flex:1}
.v60-kakao .v32-chat-scroll{scroll-behavior:auto}
.v60-kakao .v32-chat-compose span{display:none}
.v4-chat-bubble,.v23-bubble,.v21-bubble{line-height:1.4}
.v23-mystery .v23-chat-bubble{padding-top:1px}
#callOverlay .call-actions .call-button{font-size:32px!important}
#callOverlay .call-actions .decline{background:#ff3b30!important;color:white!important}
#callOverlay .call-actions .answer{background:#34c759!important;color:white!important}
#callOverlay .call-extras{display:flex!important;justify-content:space-around!important}
#callOverlay .call-extras span{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:26px}
#callOverlay .caller{ text-decoration:none!important; -webkit-text-decoration:none!important; animation:none!important;caret-color:transparent!important}
#passcodeScreen .passcode-grid{max-width:315px;margin-left:auto;margin-right:auto}


/* V60 iOS reference sizing */
.passcode-pad{width:min(82%,300px)!important;column-gap:19px!important;row-gap:16px!important}
.passcode-pad button{width:clamp(68px,20vw,77px)!important;height:clamp(68px,20vw,77px)!important}
.passcode-pad button strong{font-size:33px!important}
.v60-call-extra-icon{display:block;font-size:31px;color:white;line-height:36px}
.v60-handset{font-size:31px;line-height:1;display:inline-block;transform:rotate(-35deg)}
.v60-hangup{transform:rotate(135deg)}
#callOverlay .call-actions .call-button small{font-size:13px;position:absolute;top:85px}
#callOverlay .call-extras small{color:white;font-size:13px}
.v60-kakao .v32-msg-line{align-items:flex-end}
/* Message bubble baseline +1px without changing bubble dimensions */
.v23-bubble{padding-top:10px!important;padding-bottom:8px!important}
.v4-chat-ios .v4-chat-bubble{padding-top:11px!important;padding-bottom:9px!important}
/* KakaoTalk consistency for other legacy conversations */
.v4-chat-k .v4-chat-bubble{font-size:13.5px!important;line-height:1.48!important;padding:8px 11px!important}
