:root{--blue:#007aff;--bg:#f2f2f7;--line:#e7e7eb;--muted:#8e8e93;--ink:#151515;--iphoneW:390px;--iphoneH:844px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Apple SD Gothic Neo","Helvetica Neue",Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#eef0f4}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit;border:0;background:transparent;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5}input,textarea{min-width:0;border:0;outline:none}svg{display:block;flex-shrink:0}button svg{pointer-events:none}.stage{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#fff,#d5d9e1)}.device{width:calc(var(--iphoneW) + 12px);height:calc(var(--iphoneH) + 12px);border-radius:58px;position:relative;background:linear-gradient(95deg,#7c838d,#fafcfe 6%,#c4c8ce 14%,#6a717b 50%,#eff2f5 91%,#8d939b);padding:5px;box-shadow:0 28px 74px #35394340,0 0 0 1px #9299a1,inset 0 0 0 1px #f8fafc}.device:before{content:"";position:absolute;inset:2px;border-radius:56px;border:1px solid #a8acb5;pointer-events:none}.glass{background:#000;width:100%;height:100%;border:4px solid #121317;border-radius:52px;position:relative;overflow:hidden;isolation:isolate}.physical{position:absolute;z-index:2;border-radius:2px;background:linear-gradient(90deg,#9b9fa5,#e7ebed 52%,#8f979e);box-shadow:0 0 0 1px #8b929b}.physical-silent{height:27px;width:3px;left:-2px;top:115px}.physical-volume{height:83px;width:3px;left:-2px;top:176px}.physical-power{height:85px;width:4px;right:-4px;top:193px;cursor:pointer}.dynamic-island{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:117px;height:32px;border-radius:22px;background:#08090b;z-index:13;pointer-events:none}.dynamic-island:after{content:"";position:absolute;right:15px;top:13px;width:7px;height:7px;border-radius:50%;background:#172132;box-shadow:0 0 1px #536280}.status{position:absolute;top:0;left:0;right:0;height:57px;display:flex;align-items:center;justify-content:space-between;padding:12px 24px 0;z-index:12;color:#111;pointer-events:none;font-size:15px;font-weight:650}.status.white{color:#fff}.status-right{display:flex;gap:4px;align-items:center}.gesture{position:absolute;z-index:14;bottom:8px;left:50%;transform:translateX(-50%);width:134px;height:5px;border-radius:8px;background:#161616;opacity:.9}.gesture.white{background:#fff}#app{position:absolute;inset:0;overflow:hidden}#overlay,#notification{position:absolute;z-index:19;inset:0;pointer-events:none}#notification{z-index:18}.scene,.page{position:absolute;inset:0;overflow:hidden;background:var(--bg)}.page{display:flex;flex-direction:column;padding-top:58px;padding-bottom:25px}.scene .wallpaper{position:absolute;inset:0;background-position:center;background-size:cover;filter:saturate(.85)}.scene .wallpaper:after{content:"";position:absolute;inset:0;background:linear-gradient(#1b2c4480,#14213a3b 55%,#0c162860)}.content-scroll,.page-scroll{overflow:auto;flex:1;min-height:0;overscroll-behavior:contain;scrollbar-width:none}.content-scroll::-webkit-scrollbar,.page-scroll::-webkit-scrollbar{display:none}.ios-bar{height:47px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid #e2e2e48c;background:#fafafcec;flex-shrink:0}.ios-bar>strong{font-size:16px;font-weight:650}.ios-bar .back{display:flex;align-items:center;color:var(--blue);gap:1px;font-size:16px;min-width:65px;text-align:left}.ios-bar .bar-end{min-width:65px;display:flex;justify-content:flex-end;color:var(--blue);gap:9px}.ios-top-title{padding:18px 18px 8px;background:#fff}.ios-top-title h1{font-size:34px;letter-spacing:-1.1px;margin:8px 0 0;font-weight:760}.ios-top-title>button{display:flex;color:var(--blue);align-items:center;gap:1px}.bottom-tabs{height:60px;flex-shrink:0;background:#fafaf9f2;border-top:1px solid #ddd;display:flex;align-items:stretch;justify-content:space-around;padding-bottom:4px}.bottom-tabs button{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#8d8d91;font-size:9px;font-weight:500}.bottom-tabs button.selected{color:var(--blue)}.bottom-tabs span{white-space:nowrap}
/* lock + home */
.lock,.home{background:#203653}.lock-screen{position:absolute;inset:0;display:flex;flex-direction:column;color:#fff}.lock-time{padding-top:91px;text-align:center;text-shadow:0 2px 10px #14263a44}.lock-date{font-size:19px;font-weight:550;letter-spacing:-.35px}.lock-clock{font-size:83px;line-height:1.12;letter-spacing:-4.9px;font-weight:210;font-variant-numeric:tabular-nums}.lock-notices{padding:42px 18px 0}.lock-notice{background:#e1e5ed34;backdrop-filter:blur(16px);border-radius:14px;padding:13px;display:flex;align-items:center;gap:8px;font-size:13px}.lock-notice b{font-size:12px;margin-left:auto;font-weight:450}.unlock-area{margin:auto 24px 78px;z-index:2;display:flex;flex-direction:column;gap:10px;text-align:center}.unlock-area>label,.welcome-name{font-size:13px;font-weight:600;letter-spacing:.2px;text-shadow:0 1px 3px #131d26}.unlock-entry{display:flex;align-items:center;gap:7px;padding:5px 5px 5px 16px;border-radius:28px;background:#f0f4f737;backdrop-filter:blur(18px);border:1px solid #ffffff7a}.unlock-entry input{background:transparent;color:#fff;flex:1;font-size:16px;padding:9px 0}.unlock-entry input::placeholder{color:#e1e5ef}.unlock-entry button,.unlock-action{border-radius:40px;background:#ffffffdb;color:#17243a;font-size:18px;font-weight:700;padding:10px 16px}.unlock-action{background:#e9eef7bd;font-size:15px}.lock-shortcuts{display:flex;justify-content:space-between;position:absolute;bottom:41px;left:36px;right:36px;pointer-events:none}.lock-shortcuts>span{background:#10151e5c;border-radius:50%;padding:10px;display:block}.home-panel,.home-bottom{position:relative;z-index:1}.home-panel{padding:83px 16px 0;height:calc(100% - 136px);overflow-y:auto;scrollbar-width:none}.widget-grid{display:flex;gap:12px;margin:4px 2px 26px}.home-widget{flex:1;min-height:139px;border-radius:21px;text-align:left;background:#ffffffcc;backdrop-filter:blur(10px);color:#202e43;padding:13px;display:flex;flex-direction:column;gap:8px}.home-widget small{font-size:12px;color:#5f6776}.home-widget strong{font-size:21px;margin-top:7px;letter-spacing:-1px}.home-widget span{font-size:12px}.home-widget.weather{background:linear-gradient(150deg,#78a5ca,#334f83);color:white}.home-widget.weather strong{font-size:42px;font-weight:300;line-height:1.1}.home-widget.weather small{color:#fff}.icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:19px 5px;justify-items:center}.app-tile{width:75px;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.app-icon{height:59px;width:59px;overflow:hidden;border-radius:14px;display:grid;place-items:center;box-shadow:0 1px 4px #0000001a;color:white;font-size:27px;line-height:1;background:#fff}.app-icon img{height:100%;width:100%;object-fit:cover}.app-label{color:white;font-size:11px;white-space:nowrap;text-shadow:0 1px 2px #0008}.app-icon-kakao{background:#ffe812;color:#36290a}.kakao-brand{border-radius:50%;background:#392d20;color:#ffe812;font-size:9px;font-weight:900;letter-spacing:-.4px;padding:11px 5px}.app-icon-instagram{background:linear-gradient(135deg,#7037d4,#c931a5,#e95547,#ffd05b)}.ig-brand{font-size:55px;font-weight:100;line-height:1}.app-icon-photos{background:#fff}.flower{font-size:65px;line-height:1;background:conic-gradient(#ec4948,#eea644,#dbed50,#54ca77,#58bceb,#9869e2,#e35fac,#ec4948);-webkit-background-clip:text;background-clip:text;color:transparent}.app-icon-camera{background:linear-gradient(#ededf2,#bfc2c8);color:#42454d}.app-icon-music{background:linear-gradient(#fb6b8e,#ef285e)}.music-brand{font-size:48px;font-weight:650}.app-icon-phone{background:#55c65b}.app-icon-messages{background:#52c65a}.msg-brand{font-size:20px;letter-spacing:-4px}.app-icon-calendar{color:#222}.calendar-icon{display:flex;flex-direction:column;align-items:center;gap:0}.calendar-icon small{font-size:10px;color:#ec3443}.calendar-icon strong{font-size:36px;font-weight:390}.app-icon-clock{background:#171717}.clock-icon{display:block;border:2px solid white;height:44px;width:44px;border-radius:50%;position:relative}.clock-icon:after{content:"";position:absolute;height:16px;width:2px;background:white;top:6px;left:19px;transform-origin:bottom;transform:rotate(30deg)}.clock-icon:before{content:"";position:absolute;height:15px;width:2px;background:white;top:20px;left:20px;transform-origin:top;transform:rotate(85deg)}.app-icon-notes{color:#9d864c;background:linear-gradient(#ffcf43 0 23%,#fff 24%)}.notes-brand{font-size:43px}.app-icon-settings{background:#a2a3a6}.app-icon-weather{background:linear-gradient(#368fea,#7fd0e9)}.app-icon-safari{background:#fff}.safari-brand{color:#0789e6;font-size:51px}.app-icon-ai{background:#fff;color:#171717}.ai-brand{font-size:50px}.app-icon-files{background:#f3f3f4;color:#187bec}.home-bottom{height:136px;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;padding:0 15px 31px}.home-dots{text-align:center;color:#fff;font-size:9px}.dock{display:flex;justify-content:space-around;border-radius:25px;background:#ecf2f36b;backdrop-filter:blur(22px);padding:12px 6px 8px}.dock .app-label{display:none}
/* Kakao */
.kakao-app{background:#fff}.k-head{height:65px;padding:14px 17px 8px;display:flex;justify-content:space-between;align-items:center;background:#fff;flex-shrink:0}.k-head strong{font-size:29px;letter-spacing:-.8px}.k-head span{display:flex;gap:14px}.k-head span button{padding:4px}.kakaobody{background:white}.search-pill{display:flex;align-items:center;gap:8px;background:#ececf0;border-radius:12px;padding:9px 12px;margin:8px 15px 13px;color:#8b8d91}.search-pill input{background:transparent;flex:1;font-size:15px;color:#333}.k-room{width:100%;display:flex;align-items:center;text-align:left;gap:12px;padding:10px 16px;background:white;min-height:74px}.k-room[hidden],.phone-row[hidden],.ig-account[hidden],.note-row[hidden]{display:none}.avatar{width:48px;height:48px;border-radius:17px;display:grid;place-items:center;color:white;flex:none;overflow:hidden;font-size:18px;font-weight:550;line-height:1}.avatar img{height:100%;width:100%;object-fit:cover}.avatar.small{width:38px;height:38px;border-radius:13px}.avatar.tiny{width:29px;height:29px;border-radius:11px;font-size:12px}.avatar.big{height:93px;width:93px;border-radius:33px;font-size:41px}.avatar.extra{width:92px;height:92px;border-radius:50%;font-size:37px}.group-avatar{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;padding:3px;background:#dde1e6}.group-avatar i{display:grid;place-items:center;font-style:normal;border-radius:5px;font-size:11px;overflow:hidden}.group-avatar i img{width:100%;height:100%;object-fit:cover}.room-label{min-width:0;flex:1;display:flex;flex-direction:column;gap:6px}.room-label strong,.k-room strong{font-size:15px;font-weight:650}.room-label small{font-size:13px;color:#999;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:203px}.room-side{display:flex;align-items:flex-end;flex-direction:column;gap:8px;align-self:flex-start;padding-top:5px}.room-side small{font-size:11px;color:#a0a0a4}.badge-count{background:#f14543;border-radius:30px;color:#fff;font-size:11px;min-width:19px;line-height:19px;text-align:center;padding:0 4px}.k-friend-self,.k-friend{display:flex;align-items:center;gap:12px;padding:12px 17px}.k-friend-self{border-bottom:8px solid #f7f7f8}.k-friend{width:100%;text-align:left}.k-friend span:nth-child(2){flex:1;font-size:15px}.k-friend .mini-profile{color:#aaa}.section-note{font-size:12px;color:#777;padding:13px 17px}.kakao-tabs .selected{color:#292929}.kakao-tabs button{color:#a5a6a9}.more-grid{display:flex;justify-content:space-around;padding:28px 10px}.more-grid button{display:flex;flex-direction:column;align-items:center;gap:9px;font-size:12px}
.kchat-app{background:#b1c0d0}.kchat-head{display:flex;align-items:center;height:54px;gap:12px;padding:4px 15px;flex-shrink:0}.kchat-head strong{flex:1;text-align:center;font-size:17px;font-weight:600}.kchat-head span{display:flex;gap:12px}.chat-history{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:15px 12px 25px;scrollbar-width:none}.day-divider,.im-day{font-size:11px;color:#fff;background:#56687b55;text-align:center;border-radius:22px;padding:6px 13px;margin:12px auto 25px;width:max-content}.bubble-row{display:flex;align-items:flex-end;gap:6px;margin-bottom:13px}.bubble-row.mine{flex-direction:row-reverse}.bubble-main{max-width:76%;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.mine .bubble-main{align-items:flex-end}.bubble-sender{font-size:11px;margin-bottom:5px}.chat-bubble,.file-bubble{background:white;padding:10px 11px;box-shadow:0 1px 2px #0000000e;border-radius:11px;max-width:100%;font-size:14px;line-height:1.5;text-align:left;word-break:keep-all;overflow-wrap:anywhere}.mine .chat-bubble{background:#ffeb40}.bubble-time{font-size:10px;color:#596571;white-space:nowrap;margin-bottom:2px}.file-bubble{display:flex;align-items:center;gap:8px;min-width:195px}.file-bubble .file-preview{width:50px;height:50px;object-fit:cover;border-radius:5px}.file-bubble span{display:flex;flex-direction:column;gap:5px}.file-bubble b{font-size:12px;max-width:166px;word-break:break-word}.file-bubble small{font-size:10px;color:#888}.chat-compose{background:#fff;min-height:56px;display:flex;align-items:center;padding:7px 11px;gap:8px;flex-shrink:0}.chat-compose>button:first-child{color:#90959a}.chat-compose input{background:#f8f9fa;border:1px solid #ededed;border-radius:18px;padding:10px 13px;font-size:14px;flex:1}.send-circle{color:#565e67}.profile-scene{background:#64728a}.profile-page{height:100%;display:flex;flex-direction:column;color:white;background:linear-gradient(#536b8190,#222e42cc)}.profile-page header{padding:79px 24px}.profile-center{flex:1;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:14px}.profile-center h2{font-size:20px;margin:0}.profile-center small{opacity:.8}.profile-actions{display:flex;justify-content:center;gap:70px;border-top:1px solid #ffffff47;padding:18px 0 55px}.profile-actions button{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px}.profile-actions button svg{width:25px;height:25px}
/* Instagram */
.instagram-app{background:white}.ig-head{display:flex;align-items:center;justify-content:space-between;height:55px;padding:4px 15px;background:#fff;flex-shrink:0}.ig-head>span{display:flex;gap:19px}.ig-head strong.ig-logo{font-family:Georgia,serif;font-style:italic;font-size:27px;letter-spacing:-1.3px}.ig-head.compact strong{font-size:17px}.ig-tabs button.selected{color:#171717}.stories-strip{display:flex;gap:11px;overflow-x:auto;padding:11px 12px 13px;scrollbar-width:none;border-bottom:1px solid #eee}.story-tile{flex:none;width:66px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px}.story-ring{height:68px;width:68px;border-radius:50%;background:conic-gradient(#cc339d,#fd5e59,#ffc44a,#cc339d);padding:3px;display:grid;place-items:center}.story-ring.seen{background:#c9c9cc}.story-ring .avatar{border-radius:50%;width:60px;height:60px;border:3px solid white}.story-tile small{font-size:10px;white-space:nowrap;text-overflow:ellipsis;max-width:70px;overflow:hidden}.ig-post{margin-bottom:18px}.ig-post>header{display:flex;align-items:center;justify-content:space-between;height:55px;padding:8px 13px;font-size:12px}.ig-post>header button{display:flex;gap:8px;align-items:center}.ig-post>header span{font-size:11px;color:#929294}.post-image{display:block;width:100%;padding:0;aspect-ratio:1/1;background:#e9e9ed;overflow:hidden}.post-image img{width:100%;height:100%;object-fit:cover}.post-controls{display:flex;align-items:center;gap:13px;padding:11px 13px 8px}.post-controls button.liked{color:#f42b50}.post-controls .push-right{margin-left:auto}.post-content{padding:2px 13px 9px;font-size:13px}.post-content strong{font-size:13px}.post-content p{margin:8px 0 6px;line-height:1.5}.comments-link{padding:0;font-size:12px;color:#8c8c90}.ig-comments{padding:12px 16px;min-height:70px;font-size:13px}.ig-comment-form{padding:8px 13px;display:flex;gap:9px;border-top:1px solid #eee}.ig-comment-form input{flex:1;font-size:13px}.ig-comment-form button{color:var(--blue);font-weight:600}.ig-search .ig-account{width:100%;display:flex;align-items:center;padding:8px 15px;gap:11px;text-align:left}.ig-account span:nth-child(2){display:flex;flex-direction:column;gap:3px}.ig-account small{color:#aaa}.ig-profile-head{display:flex;align-items:center;padding:15px;gap:18px}.ig-stats{display:flex;justify-content:space-around;flex:1}.ig-stats>span{display:flex;flex-direction:column;align-items:center;font-size:14px;gap:5px}.ig-stats small{font-size:11px}.ig-biography{display:flex;flex-direction:column;gap:6px;padding:0 16px 15px;font-size:13px}.ig-action{display:flex;gap:8px;padding:4px 13px 16px}.ig-action button{background:#eeeef1;border-radius:9px;flex:1;padding:9px;font-size:13px;font-weight:600}.profile-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.profile-photo-grid button{aspect-ratio:1}.profile-photo-grid img{height:100%;width:100%;object-fit:cover}.ig-activity{display:flex;align-items:center;gap:10px;padding:12px}.ig-activity span{flex:1;font-size:12px}.ig-activity>img{width:44px;height:44px;object-fit:cover}
.story-scene{background:#161c2a}.ig-story-bg{height:100%;position:relative;color:white}.story-media,.ig-story-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.story-shade{position:absolute;inset:0;background:linear-gradient(#0009,#0000 32%,#0001 75%,#0007)}.story-top{position:absolute;top:65px;left:12px;right:12px;z-index:2}.story-progress{display:flex;gap:3px}.story-progress span{height:2px;flex:1;background:#ffffff5f;border-radius:4px;overflow:hidden}.story-progress b{display:block;height:100%;background:white}.story-head{display:flex;align-items:center;gap:9px;padding-top:11px}.story-head strong{font-size:12px}.story-head>span{font-size:11px;color:#ddd}.story-head button{margin-left:auto}.story-center{position:absolute;top:48%;left:15px;right:15px;text-align:center;transform:translateY(-50%);font-size:23px;line-height:1.5;font-weight:650;text-shadow:0 2px 18px #0008;pointer-events:none}.story-footer{position:absolute;bottom:37px;left:13px;right:13px;display:flex;align-items:center;gap:13px}.story-footer>span{border-radius:30px;border:1px solid #ffffffad;padding:12px 16px;flex:1;font-size:12px}.story-hit{position:absolute;top:165px;bottom:100px;width:27%;opacity:0}.story-hit.left{left:0}.story-hit.right{right:0}
/* Phone */
.phone-app{background:#f8f8fa}.phone-head{padding:22px 22px 13px;display:flex;align-items:center;justify-content:space-between;background:#fff}.phone-head h1{font-size:32px;letter-spacing:-1px;margin:0}.phone-scroll{background:white}.phone-seg{display:flex;background:#e6e6ea;border-radius:9px;margin:10px auto;width:190px;padding:3px}.phone-seg button{flex:1;font-size:13px;padding:6px}.phone-seg .selected{background:white;border-radius:7px;box-shadow:0 1px 3px #0002}.phone-row{display:flex;width:100%;align-items:center;text-align:left;padding:11px 19px;border-bottom:1px solid #ededf0;gap:12px;min-height:64px}.phone-row>span:not(.avatar){display:flex;flex-direction:column;gap:4px;flex:1}.phone-row b{font-size:16px;font-weight:550}.phone-row b.missed{color:#e14d4d}.phone-row small{font-size:12px;color:#a0a0a4}.phone-row .phone-right{align-items:flex-end;gap:7px}.phone-right .info-bubble{color:var(--blue);font-size:21px;font-style:normal;position:relative;z-index:2}.phone-tabs button.selected{color:var(--blue)}.dial-number{height:76px;text-align:center;font-size:29px;padding:20px}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:280px;margin:8px auto}.keypad button{display:flex;align-items:center;flex-direction:column;justify-content:center;height:69px;width:69px;border-radius:50%;background:#e5e5e8;font-size:29px;font-weight:350;margin:auto}.keypad button small{font-size:10px;letter-spacing:2px}.keypad-actions{display:flex;align-items:center;justify-content:center;gap:50px;padding:15px}.keypad-actions .green-round{border-radius:50%;width:62px;height:62px;display:grid;place-items:center;background:#4ec66a;color:#fff}.contact-body{padding:20px 18px}.contact-hero{display:flex;align-items:center;flex-direction:column;gap:8px;margin:20px 0 22px}.contact-hero h1{font-size:25px;margin:4px 0}.contact-hero>span:last-child{color:#9a9a9c;font-size:13px}.contact-actions{display:flex;gap:10px}.contact-actions button{display:flex;flex:1;align-items:center;gap:6px;flex-direction:column;padding:13px 3px;background:white;border-radius:13px;color:var(--blue);font-size:11px}.ios-card{background:white;padding:17px;border-radius:12px;display:flex;flex-direction:column;gap:6px;margin-top:16px}.ios-card small{color:#888}.ios-card strong{color:var(--blue)}.voicemail-page{display:flex;align-items:center;flex-direction:column;padding:55px 20px;gap:16px}.voicemail-page h2{margin:0}.voicemail-page>small{color:#777}.voicemail-audio{width:100%;margin-top:15px}.voicemail-page p{color:#999;font-size:12px}
.call-scene{background:linear-gradient(#67768c,#181d26);color:white}.call-view{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:110px 24px 62px}.call-person{display:flex;align-items:center;flex-direction:column;gap:14px}.call-person h1{margin:5px 0 0;font-size:31px;font-weight:520}.call-person #call-duration{font-size:14px;color:#d6dbe5}.call-bottom{display:flex;align-items:center;justify-content:space-around}.call-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;width:90px;height:90px;border-radius:50%;color:#fff}.call-btn.red{background:#f34e56}.call-btn.green{background:#4cc568}.call-btn small{position:absolute;transform:translateY(67px);font-size:13px;white-space:nowrap}.call-btn.centered{margin:auto}.in-call-tools{display:grid;grid-template-columns:repeat(2,90px);justify-content:center;gap:20px}.in-call-tools button{display:flex;flex-direction:column;align-items:center;gap:9px;font-size:12px}.in-call-tools button svg{border-radius:50%;height:65px;width:65px;padding:19px;background:#ffffff27}.in-call-tools button.active svg{background:#fff;color:#222}
/* iMessage */
.im-app{background:#fff}.im-list-row{display:flex;width:100%;align-items:center;text-align:left;gap:11px;padding:12px 14px;border-bottom:1px solid #ededed}.teacher-avatar{background:#9199a5}.im-list-row>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.im-list-row small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;color:#8c8c91}.im-list-row time{font-size:11px;color:#aaa;align-self:flex-start}.im-history{background:#fff}.im-day{background:transparent;color:#aaa}.im-bubble-row{display:flex;margin-bottom:13px}.im-bubble-row.mine{justify-content:flex-end}.im-bubble-row span{display:block;max-width:78%;padding:10px 15px;border-radius:19px;background:#e9e9eb;font-size:14px}.im-bubble-row.mine span{background:#2582f6;color:#fff}.im-compose{display:flex;align-items:center;gap:10px;padding:9px 12px}.im-compose>span{font-size:27px;color:#999}.im-compose input{border:1px solid #d9d9df;padding:10px 15px;border-radius:23px;flex:1}.im-compose button{border-radius:50%;background:#1685ff;color:white;width:31px;height:31px}
/* Photos + camera */
.photos-app{background:#fff}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:14px}.photo-grid button{position:relative;aspect-ratio:1}.photo-grid img{height:100%;width:100%;object-fit:cover}.video-label{position:absolute;right:7px;top:6px;color:white;text-shadow:0 1px 3px #000}.mini-tabs,.music-footer{color:#8f8f92;font-size:12px;text-align:center;padding:15px;border-top:1px solid #eee}.photo-detail{background:#000}.dark-simple-bar{height:50px;display:flex;align-items:center;padding:6px 15px;color:#fff}.dark-simple-bar button{display:flex;align-items:center;gap:4px;color:#fff}.photo-full{display:flex;align-items:center;justify-content:center;flex:1}.photo-full img,.photo-full video{max-height:100%;max-width:100%;object-fit:contain}.photo-caption{text-align:center;color:#fff;padding:16px 0 25px;font-size:14px}.photo-caption small{color:#aaa;display:block;margin-top:4px}.camera-app{background:#09090a;color:white;padding-top:58px;padding-bottom:23px}.camera-top{height:50px;display:flex;justify-content:space-between;align-items:center;padding:0 17px}.camera-screen{height:calc(100% - 235px);display:grid;place-items:center;overflow:hidden;background:#222}.camera-screen video,.camera-preview,.camera-preview img{height:100%;width:100%;object-fit:cover}.camera-bottom{padding:13px 25px 34px;flex:1}.camera-modes{display:flex;justify-content:center;gap:35px;font-size:13px}.camera-modes .selected{color:#eecb48}.camera-controls{display:flex;justify-content:space-between;align-items:center;padding-top:24px}.camera-controls>button{color:white}.camera-controls .cam-thumbnail{height:45px;width:45px;border-radius:7px;overflow:hidden;border:1px solid white}.cam-thumbnail img{height:100%;width:100%;object-fit:cover}.shutter{height:72px;width:72px;border-radius:50%;border:4px solid white;display:grid;place-items:center}.shutter span{height:57px;width:57px;border-radius:50%;background:white}.shutter.capture-pulse span{background:#d54b4b}
/* music */
.music-app{background:#fff}.music-header{height:54px;display:flex;align-items:center;justify-content:space-between;padding:5px 19px}.music-header strong{color:#ed3460;font-size:13px}.music-list{padding:12px 18px}.music-list h1{font-size:34px;margin:6px 0 21px}.music-track{display:flex;align-items:center;width:100%;gap:12px;min-height:69px;border-bottom:1px solid #eee;text-align:left}.music-track img{height:55px;width:55px;border-radius:7px;object-fit:cover}.music-track>span{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}.music-track strong{font-size:14px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.music-track small{color:#999;font-size:12px}.music-track i{font-style:normal;font-size:23px;color:#bbb}.music-player-app{padding-top:58px;padding-bottom:24px;color:white;background:#364d5d}.music-player-top{display:flex;align-items:center;justify-content:space-between;height:50px;padding:0 20px;background:#4c5b69}.music-player-top>span{font-size:12px}.player-background{flex:1;min-height:0;display:flex;flex-direction:column;padding:20px 30px 21px;align-items:stretch;justify-content:space-between}.record-art{aspect-ratio:1;margin:10px auto 13px;width:min(100%,285px);box-shadow:0 13px 35px #0005;border-radius:8px;overflow:hidden}.record-art img{height:100%;width:100%;object-fit:cover}.record-heading{display:flex;align-items:center;justify-content:space-between}.record-heading h2{font-size:20px;margin:0 0 5px}.record-heading span{font-size:16px;opacity:.7}.music-slider input{width:100%;accent-color:#fff;height:3px}.music-slider>div{display:flex;justify-content:space-between;font-size:10px;opacity:.7;margin-top:8px}.music-controls{display:flex;justify-content:space-around;align-items:center;padding:3px 0 0}.music-tools{display:flex;justify-content:space-between;font-size:22px;padding:8px 14px}.music-volume{display:flex;align-items:center;gap:13px}.music-volume input{flex:1;accent-color:white}.music-noaudio{font-size:10px;text-align:center;color:#ffffffb0;margin-top:7px}
/* Notes */
.notes-app{background:#f9f9fb}.notes-top{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.notes-top button{display:flex;align-items:center;gap:3px;color:#d39c21;font-size:15px}.notes-scroll{padding-bottom:20px}.note-row{width:calc(100% - 30px);background:white;margin:0 15px;padding:16px 15px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;border-bottom:1px solid #eee;text-align:left}.note-row:first-of-type{border-radius:12px 12px 0 0}.note-row strong{font-size:16px}.note-row small{font-size:12px;color:#929295;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notes-bottom{height:45px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;color:#9b9a9e;font-size:12px;background:#f9f9fb}.notes-bottom button{color:#d6a027}.note-bar .back,.note-bar .bar-end{color:#ce9a22}.note-full{padding:19px 23px;line-height:1.72;word-break:keep-all;background:#fff}.note-full>small{display:block;color:#aaa;text-align:center}.note-full h2{font-size:23px;margin:9px 0 18px}.note-full>div{font-size:15px}.link-row{display:block;color:#bf8c10;margin-top:22px}.note-edit{flex:1;padding:17px 20px;background:white;display:flex;flex-direction:column}.note-edit input{font-size:24px;font-weight:700;margin-bottom:16px}.note-edit textarea{height:100%;resize:none;font-size:15px;line-height:1.6}
/* calendar */
.calendar-app{background:white}.cal-top{height:55px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;color:var(--blue)}.cal-top>button{display:flex;gap:3px;align-items:center}.cal-top>div{display:flex;gap:15px;align-items:center}.calendar-body{padding:8px 17px}.cal-month{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.cal-month h1{font-size:22px;margin:0}.cal-month button{font-size:27px;color:var(--blue)}.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px 2px;text-align:center}.cal-days>span{font-size:11px;color:#8c8c92;padding:8px 0}.cal-days .day{aspect-ratio:1;border-radius:50%;width:min(39px,100%);margin:auto;font-size:14px;position:relative}.cal-days .day.active{background:var(--blue);color:white}.cal-days .day.has-event:after{content:"";position:absolute;width:4px;height:4px;background:#fb4e48;border-radius:50%;bottom:1px;left:calc(50% - 2px)}.agenda{margin-top:28px}.agenda h3{font-size:17px;padding-bottom:7px;border-bottom:1px solid #eee}.agenda p{font-size:12px;color:#aaa}.agenda-row{display:flex;align-items:center;gap:10px;background:#f6f6fa;padding:13px;margin:7px 0;border-radius:9px}.agenda-row b{font-size:13px;flex:1}.agenda-row small{font-size:11px;color:#888}.agenda-dot{background:#4779da;width:4px;height:20px;border-radius:4px}
/* clock */
.clock-app{background:#000;color:white}.clock-head{height:57px;display:flex;align-items:center;gap:16px;padding:0 19px}.clock-head h1{flex:1;font-size:30px;margin:0}.clock-head>button:last-child{color:#ed9c19}.clock-scroll{padding:15px 19px}.clock-row,.world-row{display:flex;align-items:center;justify-content:space-between;min-height:95px;border-bottom:1px solid #333}.clock-row span,.world-row span{display:flex;flex-direction:column;gap:4px}.clock-row b{font-size:54px;font-weight:250;letter-spacing:-2px}.clock-row small{color:#aaa;font-size:12px}.world-row b{font-size:21px}.world-row strong{font-size:42px;font-weight:250}.world-row small{font-size:12px;color:#8d8d8d}.ios-switch{width:51px;height:31px;border-radius:20px;background:#666;display:flex;align-items:center;padding:2px}.ios-switch.on{background:#37c75c;justify-content:flex-end}.ios-switch i{height:27px;width:27px;background:white;border-radius:50%;box-shadow:0 1px 3px #0004}.clock-tabs{background:#101014;border-top:1px solid #333}.clock-tabs button.selected{color:#ef9d25}.stopwatch{font-size:49px;text-align:center;padding:60px 0}.stopwatch button{font-size:13px;border-radius:50%;height:65px;width:65px;background:#343;font-size:14px;margin:50px 30px}
/* weather */
.weather-app{background:linear-gradient(#597caa,#b3c6dc);color:white}.weather-header{height:43px;display:flex;justify-content:space-between;padding:8px 22px}.weather-body{padding:10px 19px 35px}.weather-now{display:flex;align-items:center;flex-direction:column;padding:39px 0}.weather-now h1{font-size:32px;font-weight:390;margin:0}.weather-now strong{font-size:79px;font-weight:180}.weather-now>div{font-size:18px}.weather-now small{margin-top:7px;font-size:13px}.weather-forecast{border-radius:17px;background:#456a9b74;padding:16px;margin:16px 0}.forecast-label{font-size:13px;border-bottom:1px solid #ffffff52;padding-bottom:11px}.hourly-weather{display:flex;justify-content:space-between;padding:17px 0 5px}.hourly-weather>div{display:flex;align-items:center;flex-direction:column;gap:13px}.hourly-weather small{font-size:11px}.hourly-weather span{font-size:23px}.weather-day{display:flex;align-items:center;padding:13px 0;gap:9px;border-bottom:1px solid #ffffff2b}.weather-day strong{width:42px;font-size:14px}.weather-day span{font-size:18px}.weather-day small{font-size:14px}.weather-day i{height:4px;flex:1;border-radius:4px;background:linear-gradient(90deg,#d5d9e1,#e4f0a4)}
/* safari, ai, files, settings */
.safari-app{background:#fff}.safari-top{height:45px;padding:12px 15px}.safari-scroll{padding:22px 18px}.safari-home h1{font-size:28px}.safari-home h2{font-size:18px;margin-top:33px}.safari-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.safari-grid button{font-size:11px;display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}.safari-grid span{height:66px;width:66px;display:grid;place-items:center;color:var(--blue);background:#f3f4f7;border-radius:15px;font-size:30px}.safari-history{display:block;padding:12px 0;font-size:13px;border-bottom:1px solid #eee;width:100%;text-align:left}.safari-bottom{height:56px;display:flex;align-items:center;justify-content:space-between;padding:5px 15px;background:#f5f5f8;gap:10px}.safari-address{background:#e9e9eb;border-radius:12px;font-size:11px;padding:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:center}.article small{font-size:11px;color:#888}.article h1{font-size:27px;line-height:1.35;letter-spacing:-.7px}.article p{font-size:15px;line-height:1.9;word-break:keep-all;margin:22px 0}.ai-app{background:#fff}.ai-top{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;box-shadow:0 1px 2px #0000000d}.ai-top strong{font-size:17px}.ai-thread{padding:21px 17px 35px}.ai-message{display:flex;gap:10px;align-items:flex-start;margin-bottom:24px}.ai-message.user{justify-content:flex-end;margin-left:47px}.ai-emblem{display:grid;place-items:center;width:27px;height:27px;border:1px solid #ddd;border-radius:50%;flex:none;font-size:21px}.ai-text{font-size:14px;line-height:1.85;white-space:pre-wrap;word-break:keep-all}.ai-message.user .ai-text{border-radius:19px;background:#f2f2f2;padding:10px 14px;max-width:100%;width:fit-content}.ai-compose{display:flex;align-items:center;gap:12px;border:1px solid #ddd;border-radius:25px;padding:12px 14px;margin:8px 14px 13px;font-size:13px;color:#a3a3a3}.ai-compose div{flex:1}.files-app{background:#f8f8fa}.files-scroll{padding:13px}.file-section-title{font-size:16px;font-weight:650;margin:10px}.file-list{display:flex;align-items:center;text-align:left;gap:12px;width:100%;background:white;padding:13px;border-bottom:1px solid #eee}.file-list svg{color:var(--blue)}.file-list span{display:flex;flex-direction:column;gap:4px}.file-list small{color:#999}.script-pages{padding:19px 13px;background:#cfd3dc}.script-sheet{background:#fff;box-shadow:0 5px 12px #0002;margin:10px 4px 20px;min-height:350px;padding:25px 22px}.script-sheet>div{font-family:serif;font-size:11px;color:#777;text-align:right}.script-sheet pre{font-family:Georgia,'Apple SD Gothic Neo',serif;white-space:pre-wrap;line-height:2;font-size:14px;word-break:keep-all}.settings-app{background:#f2f2f7}.settings-scroll{padding:15px}.settings-group{border-radius:12px;background:#fff;margin-bottom:18px;overflow:hidden}.ios-setting{width:100%;min-height:49px;display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border-bottom:1px solid #eee}.ios-setting>b{font-size:15px;font-weight:500;flex:1}.ios-setting>div{display:flex;flex:1;flex-direction:column;gap:4px}.ios-setting div small{font-size:10px;color:#999}.ios-setting>small{font-size:11px;color:#8b8b8b}.setting-icon{color:white;background:#8c8c98;padding:7px;border-radius:8px}.wall-option{margin:13px;display:inline-flex;align-items:center;flex-direction:column;gap:7px;font-size:12px}.wall-option img{width:118px;height:230px;object-fit:cover;border-radius:18px}
/* overlays */
#overlay:not(:empty),#notification:not(:empty){pointer-events:auto}.modal-backdrop{position:absolute;inset:0;background:#0007;display:flex;align-items:flex-end;justify-content:center;z-index:30}.ios-sheet{background:#f9f9fb;width:100%;max-height:85%;overflow:auto;border-radius:19px 19px 0 0;padding:25px 19px 47px;color:#161616;box-shadow:0 -5px 20px #0003}.ios-sheet h3{font-size:17px;text-align:center}.ios-sheet p{line-height:1.7;font-size:14px}.sheet-choice{display:block;border-radius:12px;background:white;padding:15px;margin:8px 0;width:100%;text-align:left;font-size:14px}.sheet-image,.sheet-video{width:100%;border-radius:9px;max-height:65vh;object-fit:contain}.sheet-file-title{font-size:15px;font-weight:600;margin-bottom:14px}.blank-video{height:190px;background:#171719;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:15px;text-align:center;font-size:12px}.modal-form label{display:flex;flex-direction:column;gap:9px;font-size:13px;margin:14px 0}.modal-form input{border-radius:9px;padding:12px;background:white}.modal-form button{width:100%;border-radius:10px;padding:12px;color:white;background:var(--blue)}.minikeypad{text-align:center;line-height:3;font-size:29px}.push-notice{position:absolute;top:62px;left:13px;right:13px;background:#edf0f5ec;backdrop-filter:blur(14px);box-shadow:0 4px 20px #0003;border-radius:15px;display:flex;flex-direction:column;gap:4px;padding:15px;text-align:left;font-size:13px;animation:slideDown .24s ease}.push-notice b{font-size:14px}@keyframes slideDown{from{transform:translateY(-15px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:520px){
html,body{width:100%;height:100%;overflow:hidden;background:#e7e9ec}
.stage{padding:0;min-height:100dvh;height:100dvh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,#ffffff,#d9dce2)}
.device{width:402px;height:856px;border-radius:58px;padding:5px;box-shadow:0 14px 40px #343e5045,0 0 0 1px #9299a1,inset 0 0 0 1px #f8fafc;background:linear-gradient(95deg,#7c838d,#fafcfe 6%,#c4c8ce 14%,#6a717b 50%,#eff2f5 91%,#8d939b);flex-shrink:0;transform-origin:center center}
.device:before{display:block}.glass{border:4px solid #121317;border-radius:52px;width:100%;height:100%}.physical{display:block}.status{padding:12px 24px 0}.dynamic-island{top:10px}.gesture{bottom:8px}.page{padding-top:58px;padding-bottom:25px}.lock-time{padding-top:91px}.home-panel{padding-top:83px}.app-icon{width:59px;height:59px}
}
@media(min-width:521px) and (max-height:760px){.lock-time{padding-top:76px}.lock-clock{font-size:72px}.home-panel{padding-top:74px}.home-widget{min-height:112px}.widget-grid{margin-bottom:16px}.icon-grid{gap:11px 2px}.app-icon{width:52px;height:52px}.home-bottom{height:112px;padding-bottom:24px}.record-art{max-width:225px}.player-background{padding:10px 25px}.camera-screen{height:calc(100% - 210px)}}

.story-footer button{border-radius:30px;border:1px solid #ffffffad;padding:12px 16px;flex:1;font-size:12px;color:white;text-align:left}
.simple-body{padding:22px;overflow:auto;flex:1;font-size:14px}

/* V7.1: consistent device chrome, native-ish type, scroll and notifications */
:root{--iphoneW:390px;--iphoneH:844px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Apple SD Gothic Neo","Helvetica Neue",Arial,sans-serif}
.status{font-size:14px;letter-spacing:-.35px;font-weight:650;padding-left:28px;padding-right:26px}
.status-right{gap:4px}
.status-right svg:nth-child(2){width:15px;height:12px}
.lock-time{padding-top:79px}
.lock-date{font-size:19px;font-weight:500;letter-spacing:-.5px}
.lock-clock{font-family:"SF Pro Display",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-weight:200;font-size:91px;letter-spacing:-6px;line-height:1.05;font-variant-numeric:tabular-nums}
.lock-notices{padding:38px 16px 0}
.lock-notice{display:flex;align-items:center;gap:12px;border-radius:18px;padding:11px 12px;min-height:82px;background:rgba(223,231,243,.28);box-shadow:inset 0 1px 1px #ffffff25}
.lock-notice .lock-group-photo{width:45px;height:45px;border-radius:12px;flex:none}
.lock-notice .lock-group-photo i{font-size:11px}
.lock-notice-copy{display:flex;flex:1;flex-direction:column;min-width:0;gap:2px;text-align:left}
.lock-notice-title{display:flex;align-items:center;justify-content:space-between}
.lock-notice-title b{font-size:11px;letter-spacing:0;font-weight:700;margin:0}
.lock-notice-title time{font-size:10px;opacity:.8}
.lock-notice-copy>strong{font-size:13px;font-weight:650}
.lock-notice-copy>span{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.92}
#notification:not(:empty){pointer-events:none!important}
#notification .push-notice{pointer-events:auto}
.chat-history{overflow-y:scroll!important;overflow-x:hidden;touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-width:none;min-height:0;flex:1 1 0}
.kchat-app .chat-compose,.im-app .im-compose{position:relative;z-index:1;flex:0 0 auto}
.kchat-app{display:flex;flex-direction:column;min-height:0}
/* Messages & Phone refined hierarchy */
.phone-app,.im-app{background:#f6f6fa}
.phone-head{background:#f6f6fa}
.phone-row{background:#fff;border-bottom:1px solid #ededf1}
.im-list-row{background:#fff}
.safari-scroll{background:white}
.safari-results{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",Arial,sans-serif;padding-bottom:24px}
.safari-provider{display:flex;align-items:center;gap:8px;padding:13px 19px 5px;color:#677181;font-size:12px}
.safari-provider b{font-family:Arial,sans-serif;font-size:23px;color:#4285f4;font-weight:600}
.safari-query{display:flex;align-items:center;gap:10px;margin:10px 13px 0;border:1px solid #e2e6ec;border-radius:24px;padding:12px 14px;box-shadow:0 1px 5px #0000000b;color:#30343a;font-size:14px}
.safari-query span{flex:1}.safari-query button{color:#aaa;font-size:17px}
.safari-filters{display:flex;gap:22px;padding:17px 17px 12px;white-space:nowrap;overflow:hidden;color:#858b98;font-size:12px;border-bottom:1px solid #f0f0f0}
.safari-filters b{color:#3575d3;border-bottom:2px solid #3575d3;padding-bottom:9px}
.result-caption{padding:22px 18px 4px;color:#999;font-size:12px}
.safari-result{display:flex;flex-direction:column;text-align:left;gap:7px;padding:16px 19px;border-bottom:1px solid #f0f0f0;width:100%}
.safari-result small{font-size:11px;color:#6e7888}
.safari-result strong{font-size:17px;letter-spacing:-.3px;color:#2554a6;font-weight:550;line-height:1.35}
.safari-result span{font-size:13px;color:#434956;line-height:1.65}
.ig-activity{gap:11px;padding:12px 15px;min-height:69px}
.ig-activity .avatar{width:39px;height:39px;border-radius:50%;overflow:hidden}
.ig-activity .activity-copy{display:block;min-width:0;flex:1;font-size:12.5px;line-height:1.38;overflow-wrap:anywhere;letter-spacing:-.15px}
.ig-activity .activity-copy b{font-weight:650}
.ig-activity .activity-copy small{display:block;color:#96999e;font-size:11px;margin-top:3px}
.ig-activity>img{width:40px;height:40px;flex-shrink:0;border-radius:3px}
/* V8 / design system. All existing interactive app routes and editor-backed content preserved. */
:root{--blue:#007aff;--bg:#f2f2f7;--ink:#16171a;--iphoneW:390px;--iphoneH:844px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Apple SD Gothic Neo","Helvetica Neue",sans-serif!important}
html,body{background:#dfe4eb;color:#16171a; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility}
.stage{background:radial-gradient(ellipse at 50% 26%,#f8fafc 0%,#e3e7ee 43%,#cdd5df 100%)}
.device{width:402px;height:856px; padding:5px; border-radius:59px; background:linear-gradient(110deg,#767d86 0%,#f6f8fb 2%,#8e959e 5%,#e4e8ed 10%,#969da7 35%,#f8fafc 63%,#848c96 92%,#ccd0d6 98%);box-shadow:0 25px 64px #33425742,0 0 0 1px #777f89,inset 0 0 0 1px #fff;}
.device:before{inset:2px;border-radius:56px;border:1px solid #f5f6f8a8}
.glass{border:4px solid #131519;border-radius:53px;background:#0a0b0e;box-shadow:inset 0 0 0 1px #000b}
.physical{background:linear-gradient(90deg,#858b93,#f9fbfc 45%,#a0a8b0);box-shadow:0 0 0 .5px #606770;border-radius:3px}
.physical-silent{width:3px;height:28px;top:113px;left:-3px}.physical-volume{width:3px;height:78px;top:175px;left:-3px}.physical-power{width:3px;height:77px;top:191px;right:-3px}
.dynamic-island{width:119px;height:34px;top:10px;background:#030405;border-radius:22px;box-shadow:0 1px 3px #0007;z-index:20}
.dynamic-island:after{width:7px;height:7px;right:13px;top:13px;background:radial-gradient(circle at 30% 30%,#263651,#070c1b)}
.status{height:59px;padding:14px 26px 0 28px;font-family:-apple-system,"Helvetica Neue",sans-serif;font-size:15px;font-weight:650;letter-spacing:0;z-index:18}
.status-right{gap:6px}.status-right svg:nth-child(1){width:18px;height:12px}.status-right svg:nth-child(2){width:16px;height:12px}.status-right svg:nth-child(3){width:25px;height:12px}
.glass:has(.lock-screen) .status #status-time{opacity:0}
.gesture{height:5px;width:135px;bottom:9px;background:#17191b;border-radius:10px;z-index:21;box-shadow:0 0 0 .3px #fff2}.gesture.white{background:white}
.scene .wallpaper{filter:none;background-position:center center;background-size:cover}
.scene .wallpaper:after{background:linear-gradient(180deg,rgba(9,14,30,.08),rgba(10,22,42,0) 40%,rgba(10,20,42,.09) 72%,rgba(8,15,30,.27));}
/* Pure wallpaper lock view */
.lock-time{padding-top:88px;text-align:center;text-shadow:0 1px 5px rgba(10,20,42,.15)}
.lock-time:before{content:"";display:block;width:12px;height:10px;margin:0 auto 11px;border:2px solid #fff;border-top:0;border-radius:2px;opacity:.94;box-shadow:0 0 3px #0001}
.lock-date{font-family:-apple-system,"Helvetica Neue",sans-serif;font-size:19px;font-weight:530;letter-spacing:-.5px;line-height:1.3}
.lock-clock{font-family:-apple-system,"Helvetica Neue",Arial,sans-serif!important;font-size:93px;font-weight:200;line-height:1.03;letter-spacing:-5px;font-variant-numeric:tabular-nums}
.lock-notices{padding:43px 18px 0}.lock-notice{background:rgba(220,230,244,.42);backdrop-filter:blur(35px) saturate(160%);-webkit-backdrop-filter:blur(35px) saturate(160%);border:1px solid #ffffff36;box-shadow:0 2px 15px #06152c14;min-height:84px;border-radius:18px;gap:12px}
.lock-notice-title b{font-size:12px;color:#ffffff;font-weight:650}.lock-notice-copy>strong{font-size:13px;color:#fff}.lock-notice-copy>span{font-size:12px;color:#fff}.lock-notice-title time{color:#fff;opacity:.86}
.lock-notice .lock-group-photo{width:45px;height:45px;border-radius:12px}.lock-notice .lock-group-photo i{font-size:11px}
.unlock-area{margin:auto 25px 76px;gap:11px}.unlock-area>label{font-size:14px;font-weight:520;color:#fff;text-shadow:0 1px 3px #0005}.unlock-entry{border-radius:15px;background:rgba(240,244,250,.2);backdrop-filter:blur(23px);border:1px solid #ffffff70;padding:4px 4px 4px 14px}.unlock-entry input{font-size:15px;padding:9px 0}.unlock-entry button{border-radius:12px;background:#fff;color:#405475;font-size:22px;min-width:45px;padding:7px 12px}
.unlock-action{background:#ffffffd9;color:#253858;font-weight:580;font-size:15px;padding:12px 17px}
.lock-shortcuts>span{background:#14243960;backdrop-filter:blur(10px);padding:11px;opacity:.84}
/* Home screen: actual native-looking icons, without pictographic text or emojis */
.home-panel{padding:79px 18px 0;height:calc(100% - 133px);overflow-y:auto}
.widget-grid{display:flex;gap:12px;margin:5px 1px 24px}
.home-widget{min-height:145px;border-radius:23px;padding:14px 15px;text-shadow:none;box-shadow:0 6px 15px #0a1a3a16;background:#f9f9ffec;color:#1d2533;gap:8px}
.home-widget small{font-size:12px;letter-spacing:-.2px;color:#e14753;font-weight:580}.home-widget strong{font-size:22px;line-height:1.2;letter-spacing:-.55px;font-weight:670;margin-top:3px}.home-widget span{font-size:12px;line-height:1.5;color:#627084}.home-widget.weather{background:linear-gradient(155deg,#6e9acb,#284b88);color:white}.home-widget.weather strong{font-size:46px;font-weight:270;line-height:1.04;letter-spacing:-2px;margin:3px 0}.home-widget.weather small,.home-widget.weather span{color:#fff}
.icon-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px 8px;align-content:start}.app-tile{width:77px;gap:6px}.app-icon{height:59px;width:59px;border-radius:14px;background:transparent;box-shadow:0 3px 7px #16223b2b;overflow:hidden}.app-icon img.native-icon{width:100%;height:100%;object-fit:contain;display:block;filter:none}.app-label{font-family:-apple-system,"Apple SD Gothic Neo",sans-serif;font-size:11.7px;letter-spacing:-.18px;font-weight:475;text-shadow:0 1px 4px #17213dbb}
.home-bottom{height:133px;padding:0 14px 31px;gap:13px}.home-dots{font-size:10px;letter-spacing:0;opacity:.8}.dock{padding:11px 7px 9px;border-radius:27px;background:#e3e6f37d;backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);box-shadow:inset 0 0 0 .5px #ffffff55}.dock .app-tile{width:70px}.dock .app-icon{width:58px;height:58px}
/* iOS app surfaces, unified typography and native spacing */
.page{background:#f2f2f7;padding-top:59px;padding-bottom:25px}
.ios-bar{height:48px;background:#f9f9fbdc;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid #dedee252;padding:0 15px}.ios-bar .back{font-weight:450;font-size:16px}.ios-bar>strong{font-size:16.5px;font-weight:590;letter-spacing:-.3px}.ios-bar .bar-end{gap:14px}
.ios-top-title{padding:22px 18px 11px;background:transparent}.ios-top-title h1{font-size:34px;font-weight:740;letter-spacing:-1.3px}
.bottom-tabs{height:62px;background:#f9f9fce8;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid #cfcfd433;padding-bottom:6px}.bottom-tabs button{font-size:10px;gap:4px}.bottom-tabs span{letter-spacing:-.15px}
/* Kakao — realistic hierarchy and spacing */
.k-head{height:66px;padding:12px 18px 8px}.k-head strong{font-size:29px;font-weight:720;letter-spacing:-1.25px}.k-room{min-height:77px;padding:11px 17px;gap:13px}.room-label{gap:5px}.room-label strong{font-size:15.5px;font-weight:620;letter-spacing:-.25px}.room-label small{font-size:13.5px;color:#97999e;line-height:1.35}.room-side small{font-size:11px;color:#b0b0b5}.kakaobody{background:#fff}.kchat-app{background:#adc0d4}.kchat-head{height:55px;background:#adc0d4;gap:8px}.kchat-head strong{font-size:16.5px;font-weight:600}.chat-history{padding:15px 13px 22px}.chat-compose{background:#fff}.group-avatar{background:#e5e8eb;padding:3px;gap:2px}.group-avatar i{border-radius:4px}
/* IG feed, native-like title and stories */
.instagram-app{background:#fff}.ig-head{height:55px;padding:5px 17px}.ig-story-row{padding:13px 7px 15px 12px;gap:13px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.ig-story-row::-webkit-scrollbar{display:none}.ig-story-avatar{width:68px;height:68px;border-radius:50%;border:2px solid #e03ca1; padding:3px;box-shadow:0 0 0 1px #f4bd4d inset}.ig-post .avatar{border-radius:50%}.ig-story-row button{flex-shrink:0}.ig-post-caption,.ig-post-caption *{font-family:-apple-system,"Apple SD Gothic Neo",sans-serif;letter-spacing:-.24px}.ig-post-caption{font-size:13.6px;line-height:1.42}
/* iMessage, Phone, Music, Notes native-like surfaces */
.im-app,.phone-app{background:#f7f7fa}.phone-head{background:transparent}.phone-head h1{font-size:34px;font-weight:740;letter-spacing:-1.2px}.phone-row{min-height:64px;border-bottom:1px solid #e9e9ed;background:#fff}.im-list-row{border-bottom:1px solid #e9e9ed;background:#fff;min-height:79px}.im-list-row strong{letter-spacing:-.22px}
.music-app{background:#f8f8fa}.music-header{background:#f8f8fa}.music-list{background:#fff}.music-player-app{background:#28334f}.record-heading h2{font-size:22px;letter-spacing:-.6px}.record-art img{border-radius:9px;box-shadow:0 15px 30px #080d1f33}
.notes-app{background:#f7f7fa}.note-row{background:#fff}.note-full{background:#fff}.notes-bottom{background:#f7f7fa}
.ios-setting{min-height:54px}.settings-group{border-radius:12px;overflow:hidden}
/* Modal and system notification: crisp iOS sheets */
.ios-sheet{background:#f6f6f9;border-radius:24px 24px 0 0;box-shadow:0 -9px 44px #0002}.push-notice{background:#ecf0f6df;backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);border-radius:20px;box-shadow:0 6px 18px #0002;padding:13px 15px}
@media(max-width:520px){.stage{background:#dfe3eb}.device{box-shadow:0 10px 30px #263b584d,0 0 0 1px #8c939b}.home-panel{padding-top:79px}}
/* lock glyph: small iOS padlock, not the old box-shaped placeholder */
.lock-time{position:relative;padding-top:128px}
.lock-time:before{position:absolute;top:91px;left:50%;transform:translateX(-50%);width:13px;height:12px;border:2px solid #fff;border-bottom:0;border-radius:9px 9px 0 0;box-shadow:none;opacity:.94;margin:0;background:transparent}
.lock-time:after{content:"";position:absolute;top:101px;left:50%;transform:translateX(-50%);height:12px;width:18px;background:#fff;border-radius:3px;box-shadow:0 1px 3px #14203322}

/* V8.1: surgical visual and interaction repair. Keep V8 layout and typography. */
html,body{background:#e1e5ed}
.stage{isolation:isolate;background:radial-gradient(ellipse at 48% 36%,#f9fafc 0%,#e8ebf1 53%,#dfe4eb 100%)}
.device{isolation:isolate;outline:none;border-radius:59px;box-shadow:0 22px 48px rgba(25,36,55,.19),0 0 0 1px rgba(106,113,125,.45),inset 0 0 0 1px rgba(255,255,255,.8)}
.device::before{border-radius:56px;pointer-events:none}
.glass{overflow:hidden;clip-path:inset(0 round 49px);background:#050608;isolation:isolate}
#app,.scene,.page{backface-visibility:hidden}
.physical-power{width:3px;right:-2.5px;height:72px;top:191px;border-radius:0 2px 2px 0;background:linear-gradient(90deg,#797e88 0%,#dbe0e7 50%,#a5abb5 100%);box-shadow:1px 0 0 rgba(71,76,86,.25)}
.physical-volume,.physical-silent{background:linear-gradient(90deg,#969ca6,#edf0f3 50%,#adb3bb);box-shadow:0 0 0 .4px rgba(91,95,101,.3)}
.status-right{gap:5px}.status-right svg:nth-child(2){width:14px!important;height:11px!important}.status-right svg:nth-child(3){width:24px!important}
/* Weather: winter dusk at 17:42, stronger contrast and visible snowfall. */
.page.weather-app{background:linear-gradient(180deg,#263a60 0%,#344968 32%,#536489 68%,#7887a4 100%)!important;color:#fff;position:absolute}
.weather-app::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 13%,rgba(239,228,242,.16),transparent 39%),radial-gradient(circle at 22% 58%,rgba(164,186,225,.18),transparent 50%);pointer-events:none}
.weather-app::after{content:"✦  ·  ·       ·  ✧    ·  ·";position:absolute;right:18px;top:120px;color:#edf5ff8c;white-space:pre-wrap;max-width:80%;font-size:17px;letter-spacing:18px;pointer-events:none}
.weather-app .weather-header{position:relative;z-index:1;color:#fff}
.weather-app .weather-body{position:relative;z-index:1;color:white;padding-top:7px}
.weather-app .weather-now{padding:25px 0 35px;text-shadow:0 2px 12px rgba(6,15,31,.38)}
.weather-app .weather-now h1{font-size:32px;font-weight:540}.weather-app .weather-now strong{font-weight:230;font-size:83px;letter-spacing:-5px}
.weather-app .weather-forecast{background:rgba(18,33,64,.47)!important;border:1px solid rgba(230,239,255,.18);box-shadow:0 9px 25px rgba(10,23,47,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#fff}
.weather-app .weather-forecast *{color:#f6f9ff}.weather-app .weather-forecast .forecast-label{border-color:rgba(255,255,255,.16)}
.weather-app .weather-day i{background:linear-gradient(90deg,#7890c2,#d6e8fc)}
/* Camera: full-black camera chrome, viewfinder and iOS shutter controls. */
.page.camera-app{background:#030304!important;color:#fff;display:flex;flex-direction:column;padding-top:64px!important;padding-bottom:26px!important}
.camera-app .camera-top{height:54px;min-height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;color:#f8f8f8}
.camera-options{display:flex;gap:24px;align-items:center;font-size:19px;color:#f4f4f6}
.camera-viewport{position:relative;flex:1;min-height:0;background:#0a0a0b;overflow:hidden;display:grid;place-items:center;border-top:1px solid #202124;border-bottom:1px solid #252525}
.camera-viewport video,.camera-fake-preview,.camera-fake-preview img{height:100%;width:100%;object-fit:cover}
.camera-fake-preview{opacity:.77;filter:brightness(.52) saturate(.72)}
.camera-gridline{position:absolute;inset:0;background:linear-gradient(90deg,transparent 33.2%,#ffffff1b 33.25%,#ffffff1b 33.45%,transparent 33.5%,transparent 66.4%,#ffffff1b 66.45%,#ffffff1b 66.65%,transparent 66.7%),linear-gradient(transparent 33.2%,#ffffff1b 33.25%,#ffffff1b 33.45%,transparent 33.5%,transparent 66.4%,#ffffff1b 66.45%,#ffffff1b 66.65%,transparent 66.7%);pointer-events:none}
.camera-zoom{height:42px;display:flex;align-items:center;justify-content:center;gap:13px;color:#fff;background:#040404}
.camera-zoom button{width:30px;height:30px;border-radius:50%;font-size:12px}.camera-zoom .selected{background:#303030;color:#ffe15c;font-weight:650}
.camera-app .camera-bottom{flex:none;background:#030303;padding:11px 22px 33px!important;min-height:159px}
.camera-app .camera-modes{display:flex;justify-content:center;gap:28px;margin-bottom:13px}.camera-app .camera-modes button{font-size:12px;color:#eee}.camera-app .camera-modes button.selected{color:#f4d65c;font-weight:650}
.camera-app .camera-controls{padding-top:4px;display:grid;grid-template-columns:1fr 1fr 1fr;justify-items:center;align-items:center}
.camera-app .camera-controls .shutter{width:69px;height:69px;border:4px solid white;display:grid;place-items:center;border-radius:50%}.camera-app .camera-controls .shutter span{width:55px;height:55px;border-radius:50%;background:#fff}.camera-app .camera-controls .shutter.video-shutter span{background:#e74042;width:43px;height:43px}
.camera-app .camera-controls .cam-thumbnail{width:47px;height:47px;justify-self:start;border:1px solid #d8d8da;border-radius:8px;overflow:hidden}.camera-app .camera-controls .flip-camera{justify-self:end;color:#fff;display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:#252527}
/* Alarm: ensure iOS Clock dark surface wins over generic .page background. */
.page.clock-app{background:#030304!important;color:#f8f8f8!important}
.clock-app .clock-head{background:#030304!important;color:#fff;border:0;padding-top:4px}
.clock-app .clock-head h1{font-weight:750;letter-spacing:-1px}
.clock-app .clock-scroll{background:#030304!important;color:#fff!important}
.clock-app .clock-list{background:#030304}
.clock-app .clock-row,.clock-app .world-row{background:#030304!important;color:#f8f8f8!important;border-bottom:1px solid #29292c!important}
.clock-app .clock-row small,.clock-app .world-row small{color:#8b8b91!important}
.clock-app .clock-row b{font-weight:300;letter-spacing:-1.6px}
.clock-app .bottom-tabs{background:rgba(20,20,22,.97)!important;border-top:1px solid #313136}
.clock-app .bottom-tabs button{color:#939398}.clock-app .bottom-tabs button.selected{color:#f7a21a}
.clock-app .ios-switch:not(.on){background:#3b3b40!important}
/* Activity feed has no initial badges, placeholder avatars or long pills. */
.ig-activity{display:flex!important;align-items:center!important;gap:12px!important;padding:11px 17px!important;min-height:72px;background:#fff}
.ig-activity .activity-copy{flex:1;min-width:0;line-height:1.38;font-size:13px;letter-spacing:-.22px;overflow-wrap:break-word}
.ig-activity .activity-copy b{font-weight:650;color:#181818}.ig-activity .activity-copy small{color:#9a9a9a;margin-top:4px}
.ig-activity>img{width:42px;height:42px;object-fit:cover;border-radius:4px;flex-shrink:0}
/* Profile controls: explicit arrow back & pressable Kakao chat name. */
.profile-page header{display:flex;align-items:center;justify-content:flex-start;padding:12px 18px;min-height:60px}
.kprofile-back{display:flex;align-items:center;gap:4px;color:#fff;font-size:15px;text-shadow:0 1px 2px #0007;padding:7px 5px}
.kprofile-back svg{transform:none}
.kchat-person{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:600;min-width:0}
.kchat-person svg{transform:rotate(180deg);opacity:.55}
/* Never show squarish surface behind the rounded iPhone glass corners. */
.glass #app,.glass .scene,.glass .page{border-radius:inherit}
@media(max-width:520px){.stage{background:#e3e7ee}}

/* Background art must never intercept touches on profile controls. */
.scene .wallpaper,.scene .wallpaper::after{pointer-events:none!important}
/* V8.2 — UI fixes keeping approved V8 design intact */
/* Remove pale rectangular plate surrounding the device. */
.device::before{display:none!important}
.device{overflow:visible;background-clip:padding-box;transform-style:flat}
.device .glass{background-clip:padding-box;clip-path:inset(0 round 49px);border-radius:53px}
.stage::before,.stage::after{content:none!important}
/* Outgoing calls now connect, and media fallback stays readable. */
.call-audio-start{position:absolute;left:50%;bottom:176px;transform:translateX(-50%);background:#fff;color:#1b1b1d;border-radius:26px;padding:10px 17px;font-size:13px;white-space:nowrap;z-index:5}
.call-audio-start[hidden]{display:none!important}
/* Kakao: input bottom must be solid white; suggestions are distinct tappable bubbles. */
.kchat-app{background:#adc0d4;overflow:hidden}
.chat-controls{background:#fff;padding-bottom:4px;flex:0 0 auto;position:relative;z-index:4;border-top:1px solid #e7e7e7}
.chat-controls .chat-compose{background:#fff;border:0;min-height:52px;padding:5px 10px 7px}
.reply-choices{display:flex;gap:6px;overflow-x:auto;background:#fff;padding:9px 12px 5px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.reply-choices button{flex:0 0 auto;border:1px solid #dbe0e7;color:#363e49;border-radius:18px;font-size:11.5px;padding:7px 10px;background:#f7f8fb;max-width:220px;white-space:nowrap}
.kchat-head{position:relative;justify-content:space-between;gap:5px}
.kchat-head>button:first-child{flex:0 0 34px;align-self:center}
.kchat-head>strong,.kchat-head>.kchat-person{font-size:16px;text-align:left;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kchat-head .kchat-actions{display:flex;gap:12px;margin-left:auto;flex:0 0 auto;align-items:center}
/* Profile is native Kakao full screen, not a story. */
.profile-scene{background:#28354d!important}
.kakao-profile-native{position:relative;display:flex;flex-direction:column;width:100%;height:100%;color:#fff;background:linear-gradient(180deg,rgba(10,16,30,.22),rgba(7,9,15,.60) 60%,rgba(5,7,14,.88) 100%)}
.kprofile-header{height:105px;padding:52px 17px 0;display:flex;align-items:flex-start;justify-content:space-between;z-index:5}
.kprofile-back{min-height:44px;display:flex;align-items:center;color:#fff;padding:5px}
.kprofile-menu button{color:#fff;padding:8px}
.kprofile-bottom{display:flex;flex-direction:column;gap:23px;margin-top:auto;padding:0 25px 77px;z-index:2}
.kprofile-identity{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.kprofile-identity .avatar{width:84px!important;height:84px!important;box-shadow:0 4px 16px #0003;border-radius:35px!important;font-size:26px}
.kprofile-identity h2{font-size:20px;font-weight:570;margin:3px 0 0;text-shadow:0 1px 3px #0004}
.kprofile-identity p{margin:0;color:#e0e4e9;font-size:12px;font-weight:400}
.kprofile-actions{border-top:1px solid #ffffff50;padding:17px 25px 0;display:flex;justify-content:center;gap:85px}
.kprofile-actions button{display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff;font-size:12px}
.kprofile-actions svg{width:25px;height:25px}
/* Instagram activity and independent DM presentation */
.ig-activity{border-bottom:0!important;align-items:center}
.ig-activity .avatar{flex:0 0 43px;height:43px;width:43px;min-width:43px;border-radius:50%}
.ig-activity .activity-copy{font-size:12.8px;overflow-wrap:anywhere}
.ig-activity .activity-copy small{font-size:11px}
.dm-head{height:58px;padding:4px 15px}.dm-head strong{display:flex;align-items:center;gap:4px}
.dm-inbox{padding:4px 0 20px;background:#fff}
.dm-search{height:34px;margin:10px 14px 16px;background:#f0f0f2;border-radius:10px;display:flex;gap:7px;padding:7px 11px;color:#86868c;font-size:14px}
.dm-inbox-heading{display:flex;justify-content:space-between;padding:5px 17px 10px;font-size:14px}.dm-inbox-heading>span{color:#168aff}
.dm-thread{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:8px 13px;min-height:72px}
.dm-thread>.avatar{width:56px!important;height:56px!important;min-width:56px!important}
.dm-thread>span:nth-child(2){flex:1;min-width:0}.dm-thread b{display:block;font-size:13.5px;font-weight:570}
.dm-thread small{display:block;color:#84858a;font-size:12px;margin-top:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.dm-camera{color:#8b8c90!important;flex:none!important}
.dm-chat-head{display:flex;align-items:center;gap:10px;height:72px;background:#fff;border-bottom:1px solid #eee;padding:8px 14px}
.dm-chat-head .avatar{width:38px;height:38px;min-width:38px}.dm-chat-title{flex:1;display:flex;flex-direction:column;gap:1px;font-size:13px}.dm-chat-title small{color:#999;font-size:11px}
.dm-history{background:#fff;display:flex;flex-direction:column;padding:10px 12px 25px;gap:9px}
.dm-peer-profile{display:flex;flex-direction:column;align-items:center;gap:6px;margin:33px auto 26px;font-size:14px}.dm-peer-profile small{color:#8a8a8d}
.dm-message{max-width:77%;width:fit-content;padding:11px 13px;border-radius:19px;background:#efeff1;color:#222;font-size:13.5px;line-height:1.45;align-self:flex-start}
.dm-message.out{align-self:flex-end;background:linear-gradient(145deg,#b83efe,#6539eb);color:#fff}
.dm-compose{display:flex;align-items:center;gap:11px;padding:9px 13px 16px;background:#fff;flex:0 0 auto}
.dm-compose>button:first-child{border-radius:50%;background:#2996f4;color:#fff;width:33px;height:33px;display:grid;place-items:center}
.dm-compose input{flex:1;min-width:0;border:1px solid #e6e6e8;border-radius:22px;padding:11px 13px;font-size:13px;background:#fbfbfb}
.dm-compose>button:last-child{color:#888}
/* iMessage remains visible as a non-interactive preserved memory. */
.im-compose.im-readonly{background:#fafafa;opacity:.95}.im-readonly input{color:#8a8a92;background:#f2f2f5}
/* Safari: native white reader and aligned toolbar. */
.safari-app{background:#fff}.safari-scroll{padding:0!important;background:#fff}
.safari-results{padding:22px 19px 32px}.safari-query-native{border:1px solid #e6e7eb;background:#f4f5f7;border-radius:15px;padding:12px 14px;display:flex;align-items:center;gap:9px;font-size:14px;color:#20242a;margin:2px 0 19px}
.safari-filters{display:flex;gap:19px;padding:0 0 15px;border-bottom:1px solid #f1f2f4;color:#848792;font-size:12px}
.safari-filters b{color:#262c35}
.safari-result{width:100%;text-align:left;display:flex;flex-direction:column;gap:8px;padding:18px 1px;border-bottom:1px solid #edeef0;background:#fff}
.safari-result small{font-size:11px;color:#667480}.safari-result strong{font-size:17px;color:#253b67;font-weight:620;line-height:1.4}.safari-result>span{font-size:13px;color:#555e6a;line-height:1.55}
.safari-article{padding:30px 21px 50px}.article-byline{font-size:12px;color:#8a8c92}.safari-article h1{font-size:27px;line-height:1.26;margin:15px 0 12px;letter-spacing:-.6px;color:#171b23}.safari-article .article-subtitle{color:#7b8290;font-size:14px;border-bottom:1px solid #e9eaec;padding-bottom:24px}.safari-article>p:not(.article-subtitle){font-size:15px;line-height:1.9;color:#343b45;margin:23px 0}
.safari-bottom{display:grid!important;grid-template-columns:40px minmax(0,1fr) 40px!important;align-items:center;gap:11px!important;padding:8px 13px 21px!important;height:auto;min-height:68px;background:#f4f5f8}
.safari-bottom .safari-address{display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;min-width:0;border-radius:13px;padding:9px 11px;background:#e6e8ec;color:#4b505b;font-size:12px;overflow:hidden;white-space:nowrap}
.safari-bottom .safari-address span{overflow:hidden;text-overflow:ellipsis}


/* V8.3 interaction repairs — keep V8 visual design intact */
/* White Kakao safe-area under the composer; no blue strip below input. */
.page.kchat-app{padding-bottom:0!important;background:#adc0d4!important}
.kchat-app .chat-controls{background:#fff!important;box-shadow:0 1px 0 7px #fff;z-index:5;padding-bottom:25px!important;flex:0 0 auto}
.kchat-app .chat-compose{background:#fff!important;min-height:56px!important;margin:0;padding-bottom:8px!important}
.kchat-app .chat-compose-hidden{display:none!important}
.kchat-app .reply-choices{background:#fff!important;padding:9px 12px 7px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;border-top:1px solid #f2f2f2}
.kchat-app .reply-choices>button{margin:0!important;max-width:100%;border-radius:17px!important;padding:9px 12px!important;font-size:12px!important}
.kchat-app .reply-write-trigger{border:1px solid #dedfe1!important;background:#f8f8f8!important;color:#4d5057!important}
.kchat-app .chat-history{flex:1 1 0!important;min-height:0!important;padding-bottom:17px}
/* Restore memo hierarchy without a duplicated floating title. */
.notes-app .note-bar{display:flex!important;align-items:center!important;gap:8px}
.notes-app .note-bar>button:first-child{display:inline-flex!important;align-items:center!important;gap:5px;white-space:nowrap}
.notes-app .note-bar>button:first-child span{line-height:1}
/* Clear white circle for PHOTO; red circle for VIDEO. */
.camera-app .camera-controls .shutter:not(.video-shutter) span{background:#fff!important;border-radius:50%;box-shadow:inset 0 0 0 0 #fff}
.camera-app #live-camera{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.camera-app #live-camera[hidden]{display:none!important}
.camera-app .camera-gridline{z-index:3}
.camera-app .camera-top button{color:#fff}
.camera-app .camera-top,.camera-app .camera-bottom{z-index:4}
/* Move name field clear of Camera / Snow lock-screen shortcuts. */
.lock .unlock-area{transform:translateY(-11px)}
/* Controls available only when browser could not start audio on its own. */
.call-sound-row{display:flex;justify-content:center;align-items:center;min-height:48px}
.call-audio-start{border:1px solid #ffffff65;background:#ffffff2c;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:24px;padding:10px 18px;font-size:13px}
.call-audio-start[hidden]{display:none!important}

/* V8.4 · tap-accessible lock notification, flush camera shutter and snow alert. */
.lock-notice{width:100%;color:inherit;text-align:left;cursor:pointer;appearance:none;-webkit-appearance:none;font:inherit}
.lock-notice:active{background:rgba(230,239,251,.53)}
.camera-app .camera-controls .shutter:not(.video-shutter){background:#fff!important;border:3px solid #fff!important;box-shadow:0 0 0 3px #080809 inset,0 0 0 1px rgba(255,255,255,.7)!important}
.camera-app .camera-controls .shutter:not(.video-shutter) span{width:56px!important;height:56px!important;border-radius:50%;background:#fff!important;box-shadow:none!important}
.weather-app .forecast-label{display:flex!important;align-items:center!important;gap:8px!important;white-space:nowrap!important;letter-spacing:-.3px}
.weather-app .forecast-label svg{flex:none;width:17px;height:17px}

/* V8.5 — lock name input anchored inside iOS lock screen, below notification. */
.lock-screen{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.unlock-area{position:relative;flex:0 0 auto;margin:auto 24px 90px;z-index:5;max-width:calc(100% - 48px)}
.lock-shortcuts{bottom:38px;z-index:3}
@media(max-width:520px){.unlock-area{margin-bottom:92px}}
@media(max-height:720px){.unlock-area{margin-bottom:76px}.lock-time{padding-top:66px}.lock-notices{padding-top:20px}}

/* Independent Instagram profile information */
.ig-biography .ig-bio-text{white-space:pre-line;line-height:1.45;overflow-wrap:anywhere}
.ig-biography .ig-bio-link{color:#184e90;font-weight:650;overflow-wrap:anywhere}
.ig-profile-divider{border-top:1px solid #f0f0f0;display:flex;align-items:center;justify-content:center;padding:12px;color:#4c4c52}
.ig-stats b{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}

/* V3 · Close Friends stories and call interaction polish */
.stories-strip .story-ring.close-friends{background:#39c878!important;box-shadow:0 0 0 1px #269e61!important;}
.stories-strip .story-ring.close-friends.seen{background:#bcc2c5!important;box-shadow:none!important;}
.story-cf-tag{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;border-radius:999px;color:#d7ffe4!important;background:rgba(32,137,75,.78);border:1px solid rgba(180,248,201,.4);font-weight:650;white-space:nowrap;font-size:9px!important;margin-left:2px;}
.story-head{position:relative;z-index:9;min-width:0;}
.story-head strong{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.story-head button{flex:none;z-index:10;min-width:32px;min-height:32px;display:grid;place-items:center;}
.story-top{pointer-events:none;}
.story-top .story-head button{pointer-events:auto;}
.story-footer{z-index:6;pointer-events:auto;}
.story-hit{z-index:3;touch-action:manipulation;}
.story-center{z-index:4;}
.ig-story-bg video{object-fit:cover;}

/* Instagram story owner link, editable multi-photo carousel */
.story-profile-link{display:flex;align-items:center;gap:9px;min-width:0;flex:0 1 auto;color:#fff;padding:0;position:relative;z-index:12;text-align:left;background:transparent;border:0}
.story-profile-link strong{font-size:12px;max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.story-profile-link .avatar{flex-shrink:0}
.story-head>.story-profile-link{margin-right:1px}
.ig-carousel{position:relative;width:100%;overflow:hidden;background:#e9e9ed;touch-action:pan-y}
.ig-carousel .post-image{width:100%;aspect-ratio:1/1}
.ig-carousel .post-slide-img{width:100%;height:100%;object-fit:cover;display:block}
.ig-image-count{position:absolute;top:12px;right:12px;pointer-events:none;color:#fff;background:rgba(0,0,0,.55);border-radius:22px;padding:5px 10px;font:600 11px -apple-system,BlinkMacSystemFont,sans-serif}
.ig-slide-prev,.ig-slide-next{position:absolute;top:50%;transform:translateY(-50%);height:27px;width:27px;border-radius:50%;background:rgba(255,255,255,.86);color:#414148;box-shadow:0 1px 4px #0002;font-size:26px;line-height:22px;display:grid;place-items:center;padding:0}
.ig-slide-prev{left:9px}.ig-slide-next{right:9px}
.ig-slide-prev[hidden],.ig-slide-next[hidden]{display:none}
.ig-slide-dots{display:flex;justify-content:center;gap:5px;height:13px;align-items:center;margin-top:5px}
.ig-slide-dots span{display:block;width:5px;height:5px;background:#d4d4d6;border-radius:50%}
.ig-slide-dots span.active{background:#2396e8}
.profile-photo-grid button{position:relative;overflow:hidden}
.ig-grid-stack{position:absolute;right:8px;top:7px;color:#fff;text-shadow:0 1px 3px #000a;font-size:23px;line-height:1;pointer-events:none}
.story-head>.story-profile-link{margin-left:0;min-width:0}
.story-head>button[data-action="story-close"]{margin-left:auto}

/* V3.2: Instagram account-labelled comments + scrollable post list */
.ig-postlist-head{border-bottom:1px solid #ebebed;justify-content:space-between;min-height:50px}
.ig-postlist-head>button,.ig-postlist-head>.ig-post-header-space{width:33px;display:flex;align-items:center}
.ig-post-stream{overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;min-height:0}
.ig-post-stream .ig-post-unit{border-bottom:10px solid #fafafa;scroll-margin-top:0}
.ig-post-stream .ig-post-unit .ig-post{margin-bottom:0}
.ig-post-stream .ig-comments{padding:3px 14px 4px;min-height:0}
.ig-comment-row{display:flex;align-items:flex-start;gap:8px;padding:7px 0;font-size:13px;line-height:1.4;color:#202124;overflow-wrap:anywhere}
.ig-comment-row .avatar{width:28px;height:28px;min-width:28px;flex-shrink:0}
.ig-comment-row b,.ig-own-comment-preview b{font-weight:700;margin-right:3px}
.ig-own-comment-preview{font-size:12.5px;padding-top:5px;line-height:1.5;overflow-wrap:anywhere}
.ig-comment-form{display:flex;align-items:center;gap:8px;padding:10px 14px 15px;background:#fff;border-top:0}
.ig-comment-form .avatar{height:29px;width:29px;min-width:29px}
.ig-comment-form input{min-width:0;flex:1;background:#f4f4f6;padding:10px 12px;border-radius:20px;color:#222;font-size:12px}
.ig-comment-form button{color:#0095f6;font-size:13px;font-weight:700;padding:5px 2px}
.ig-post-stream .ig-carousel{touch-action:pan-y}

/* V3.3 Instagram close-friends story and direct profile navigation */
.story-top{z-index:15!important;pointer-events:none}
.story-top .story-head{position:relative;z-index:16;pointer-events:none}
.story-top .story-profile-link{pointer-events:auto!important;position:relative;z-index:18!important;cursor:pointer;padding:3px 5px 3px 0}
.story-top button[data-action="story-close"]{pointer-events:auto!important;z-index:18!important}
.story-hit{z-index:2!important;top:170px}
.stories-strip .story-ring.close-friends.seen{background:#91bea1!important;box-shadow:0 0 0 1px #71ae86!important}
.stories-strip .story-ring.close-friends:not(.seen){background:#34c76b!important}

/* V3.4 · Instagram stories must be horizontally accessible on touch and desktop. */
.instagram-app .stories-wrap{position:relative;width:100%;max-width:100%;min-width:0;overflow:hidden;flex:0 0 auto;background:#fff}
.instagram-app .stories-wrap .stories-strip{display:flex!important;flex-wrap:nowrap!important;gap:12px!important;width:100%;max-width:100%;min-width:0;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain;padding:12px 18px 14px;scroll-snap-type:x proximity;cursor:grab;}
.instagram-app .stories-wrap .stories-strip::-webkit-scrollbar{display:none}
.instagram-app .stories-wrap .story-tile{flex:0 0 69px!important;width:69px!important;min-width:69px!important;scroll-snap-align:start;user-select:none;-webkit-user-select:none}
.instagram-app .stories-wrap .stories-strip:active{cursor:grabbing}
.instagram-app .stories-wrap .stories-arrow{position:absolute;z-index:3;top:35px;width:29px;height:29px;display:grid;place-items:center;border-radius:50%;font-size:24px;line-height:1;font-family:Arial,sans-serif;font-weight:400;color:#32333b;background:rgba(255,255,255,.94);box-shadow:0 1px 6px #0003;transform:translateY(-50%);border:1px solid #00000012;padding:0}
.instagram-app .stories-wrap .stories-arrow.next{right:8px}
.instagram-app .stories-wrap .stories-arrow.prev{left:8px}
.instagram-app .stories-wrap .stories-arrow[hidden]{display:none!important}

/* iOS-style compact incoming call over the current app */
.ios-incoming-banner{position:absolute;top:57px;left:12px;right:12px;z-index:120;display:flex;align-items:center;gap:10px;min-height:84px;padding:11px 12px;background:rgba(233,237,246,.96);color:#11131a;border-radius:19px;box-shadow:0 12px 35px #0003;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);animation:slideDown .22s ease}
.ios-incoming-copy{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.ios-incoming-copy .avatar{flex:none;width:42px;height:42px}.ios-incoming-copy span:last-child{display:flex;min-width:0;flex-direction:column;gap:4px}.ios-incoming-copy strong{font-size:16px;font-weight:660;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ios-incoming-copy small{font-size:11px;color:#737987}.ios-incoming-controls{display:flex;gap:9px}.ios-incoming-controls button{width:42px;height:42px;color:white;border-radius:50%;display:grid;place-items:center}.ios-incoming-controls .banner-decline{background:#f3484f}.ios-incoming-controls .banner-answer{background:#30bf68}
#notification .ios-incoming-banner{pointer-events:auto;z-index:125}
#notification .ios-incoming-banner button{pointer-events:auto;touch-action:manipulation}

/* V3.6 — Instagram story identity / timestamp left; close-friends and X right. */
.story-top .story-head{
 display:flex!important;align-items:center!important;flex-wrap:nowrap!important;
 width:100%!important;gap:7px!important;white-space:nowrap!important;
 min-width:0!important;padding-top:11px!important;
}
.story-top .story-head .story-profile-link{
 display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;
 gap:7px!important;min-width:0!important;max-width:55%!important;
 flex:0 1 auto!important;margin:0!important;padding:0!important;
}
.story-top .story-head .story-profile-link .avatar{flex:none!important;width:31px!important;height:31px!important;}
.story-top .story-head .story-profile-link strong{
 max-width:100%!important;min-width:0!important;overflow:hidden!important;
 text-overflow:ellipsis!important;white-space:nowrap!important;text-align:left!important;
}
.story-top .story-head .story-posted{
 color:rgba(255,255,255,.84)!important;font-size:11px!important;
 flex:0 0 auto!important;margin:0!important;
}
.story-top .story-head .story-actions-right{
 display:flex!important;align-items:center!important;justify-content:flex-end!important;
 gap:7px!important;flex:0 0 auto!important;margin-left:auto!important;min-width:0;
}
.story-top .story-head .story-actions-right .story-cf-tag{
 margin:0!important;white-space:nowrap!important;font-size:9px!important;
 padding:4px 7px!important;line-height:1.2!important;
}
.story-top .story-head .story-actions-right button[data-action="story-close"]{
 display:grid!important;place-items:center!important;flex:none!important;
 width:25px!important;min-width:25px!important;height:31px!important;
 min-height:31px!important;padding:0!important;margin:0!important;
 color:#fff!important;background:transparent!important;
}
@media(max-width:370px){
 .story-top .story-head{gap:5px!important;}
 .story-top .story-head .story-profile-link{gap:5px!important;}
 .story-top .story-head .story-actions-right{gap:4px!important;}
 .story-top .story-head .story-actions-right .story-cf-tag{padding:3px 5px!important;font-size:8px!important;}
}

/* V3.7: keep original silver side-button appearance but give it a usable hit area. */
.physical-power{width:22px!important;height:80px!important;right:-12px!important;top:188px!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;z-index:35!important;cursor:pointer;touch-action:manipulation}
.physical-power::before{content:"";position:absolute;right:9px;top:5px;width:3px;height:71px;border-radius:0 2px 2px 0;background:linear-gradient(90deg,#797e88,#dbe0e7 52%,#a5abb5);box-shadow:1px 0 0 rgba(71,76,86,.25);pointer-events:none}
.lock-restart{display:block;margin:6px auto 0;padding:5px 12px;font-size:12px;font-weight:500;color:#fff;background:transparent;text-decoration:underline;text-underline-offset:3px;text-shadow:0 1px 4px #0006}

/* V3.8 unified Kakao/iMessage/DM attachment viewer */
.attachment-sheet{width:100%;height:min(86%,740px);margin-top:auto;border-radius:18px 18px 0 0;background:#f6f6f8;display:flex;flex-direction:column;overflow:hidden;color:#191b21;box-shadow:0 -10px 35px #0003}
.attachment-toolbar{flex-shrink:0;height:53px;display:flex;align-items:center;justify-content:space-between;padding:8px 15px;border-bottom:1px solid #dcdde1;background:#fff}.attachment-toolbar button{display:flex;align-items:center;gap:4px;color:#2774e6;font-size:14px}.attachment-toolbar strong{font-size:15px}.attachment-toolbar>span{width:52px}
.attachment-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:15px 12px 25px;display:flex;flex-direction:column;align-items:center;gap:14px}.attachment-title{font-weight:650;font-size:15px;word-break:break-all;text-align:center}
.attachment-view-image,.attachment-view-video{max-width:100%;max-height:65vh;object-fit:contain;border-radius:10px}.attachment-view-audio{width:100%}.attachment-pdf{width:100%;height:65vh;border:0;background:#fff;border-radius:9px}.attachment-download{padding:12px 17px;color:#246cd2;text-decoration:underline;text-align:center;font-size:14px;overflow-wrap:anywhere}.attachment-empty{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#767984;text-align:center}.attachment-empty p{font-size:13px}
.attachment-script-scroll{width:100%;}.attachment-script-page{min-height:300px;background:white;padding:25px 20px;border-radius:5px;margin-bottom:16px;box-shadow:0 4px 15px #0002}.attachment-script-page small{display:block;text-align:right;color:#999}.attachment-script-page pre{font-size:13px;line-height:1.8;white-space:pre-wrap;word-break:keep-all}
.dm-message.with-file{padding:6px;background:transparent}.dm-file-bubble{border-radius:17px;display:flex;flex-direction:column;gap:6px;padding:9px;max-width:185px;background:#e8e8ed;color:#26272b;font-size:12px;word-break:break-all}.dm-file-bubble img{width:100%;max-height:200px;object-fit:cover;border-radius:11px}.dm-file-bubble span{overflow-wrap:anywhere}


/* V3.9: Instagram stories use their uploaded video's actual audio.
   Audio can be enabled with an explicit tap when iOS blocks autoplay. */
.story-audio-switch{display:inline-flex!important;align-items:center;justify-content:center!important;flex:0 0 25px!important;width:25px!important;min-width:25px!important;height:31px!important;border:0!important;background:transparent!important;padding:0!important;color:#fff!important;margin:0!important}
.story-audio-prompt{position:absolute;z-index:25;left:50%;top:34%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;white-space:nowrap;border:1px solid #ffffff88;border-radius:22px;background:#111b;color:#fff;padding:12px 17px;font:600 13px -apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif;box-shadow:0 5px 26px #0007}
.story-audio-prompt[hidden]{display:none!important}
.ig-grid-stack,.ig-image-count{display:none!important}

/* V4.0: actual KakaoTalk video previews + Instagram Reel DM card */
.k-video-bubble{width:min(225px,60vw);max-width:100%;display:block;padding:0!important;overflow:hidden;border-radius:11px!important;background:transparent!important;box-shadow:0 1px 3px #0002;text-align:left;color:#20252b}
.k-video-visual{position:relative;display:block;width:100%;height:164px;background:linear-gradient(145deg,#252c38,#505d70);overflow:hidden}
.k-video-thumb,.k-video-placeholder{width:100%;height:100%;display:flex;object-fit:cover;align-items:center;justify-content:center;color:#e4e8ef}
.k-video-play,.dm-reel-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:47px;height:47px;border-radius:50%;background:#0009;color:white;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 15px #0004}
.k-video-duration{position:absolute;right:8px;bottom:7px;background:#0009;color:white;font-size:11px;padding:3px 5px;border-radius:4px}
.k-video-info{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:#fff;font-size:12px;font-weight:600;line-height:1.35}
.mine .k-video-info{background:#ffeb40}.k-video-info>span{display:flex;align-items:center;gap:4px}.k-video-info small{font-size:10px;color:#6a7180;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.dm-message.with-file{width:min(230px,74%);max-width:74%;padding:0!important;background:transparent!important;box-shadow:none!important}
.dm-message.with-file:has(.dm-reel-card){width:210px;max-width:74%}
.dm-reel-card{border-radius:15px;display:flex;flex-direction:column;overflow:hidden;width:100%;text-align:left;background:#eeeef2;color:#16161a;border:1px solid #e1e2e7;box-shadow:0 2px 8px #00000012;padding:0}
.dm-reel-frame{height:260px;max-height:42vh;position:relative;display:block;width:100%;background:linear-gradient(135deg,#3a3752,#1d2336);overflow:hidden}
.dm-reel-thumb,.dm-reel-placeholder{height:100%;width:100%;object-fit:cover;display:flex;align-items:center;justify-content:center;color:#fff9}
.dm-reel-mark{position:absolute;left:10px;top:10px;display:flex;gap:4px;align-items:center;background:#0006;color:#fff;padding:5px 8px;border-radius:14px;font-size:10px;font-weight:650}
.dm-reel-description{display:flex;flex-direction:column;gap:4px;padding:10px 11px 11px;color:#24252b;font-size:12px;overflow-wrap:anywhere}
.dm-reel-description strong{font-size:12px;font-weight:750}.dm-reel-description>span{font-size:11px;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.attachment-reel-author{font-size:13px;font-weight:650}.attachment-view-video.reel-player{max-height:62vh;aspect-ratio:9/16;background:#090909}.attachment-reel-caption{font-size:13px;max-width:90%;line-height:1.5;white-space:pre-wrap}

/* Native-ish Instagram Reels viewer inside virtual iPhone */
.reel-backdrop{position:absolute;inset:0;z-index:50;background:#000;display:flex;align-items:stretch;justify-content:center;color:#fff}
.ig-reel-sheet{width:100%;height:100%;position:relative;overflow:hidden;background:#070707;display:flex;align-items:center;justify-content:center}
.ig-reel-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#080808}
.ig-reel-back{position:absolute;z-index:3;top:46px;left:14px;display:flex;align-items:center;gap:7px;padding:8px 9px;background:#0005;border-radius:20px;color:#fff;font-size:14px;font-weight:700}
.ig-reel-bottom{position:absolute;z-index:2;bottom:57px;left:15px;right:15px;pointer-events:none;background:linear-gradient(0deg,#0008,#0000);padding:20px 7px 5px;text-shadow:0 1px 4px #0009;font-size:14px}
.ig-reel-bottom strong{font-size:14px}.ig-reel-bottom p{font-size:12px;max-height:65px;overflow:hidden;margin:8px 0 0;line-height:1.45}

/* FIRSTSNOW_KAKAO_CHAT_PROFILE_V4_5 */
.kchat-avatar-link{display:inline-flex;align-items:center;justify-content:center;align-self:flex-end;flex:0 0 29px;width:29px;height:29px;padding:0;border:0;border-radius:11px;background:transparent;line-height:0;cursor:pointer;touch-action:manipulation}
.kchat-avatar-link .avatar{pointer-events:none;width:29px;height:29px;min-width:29px;min-height:29px}
.bubble-sender-link{display:block;width:fit-content;max-width:100%;padding:0;margin:0 0 5px;border:0;background:none;color:inherit;font-size:11px;line-height:1.4;text-align:left;cursor:pointer;touch-action:manipulation}
.kchat-person{display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap;cursor:pointer;touch-action:manipulation}
.kchat-person .avatar{flex:none;min-width:27px;width:27px;height:27px;border-radius:10px;font-size:11px}
.kchat-head .kchat-person-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kchat-avatar-link:focus-visible,.bubble-sender-link:focus-visible,.kchat-person:focus-visible{outline:2px solid #1b78e9;outline-offset:2px}

/* FS_UNIFIED_CAMERA_FILES_SCREENSHOT */
.camera-viewport{position:relative}.camera-sound-toggle{position:absolute;z-index:10;right:12px;top:12px;border-radius:18px;padding:7px 11px;background:rgba(15,15,20,.78);color:#fff;border:1px solid #ffffff55;font-size:12px}
.k-inline-screenshot{display:block;max-width:min(260px,72vw);overflow:hidden;border:0;border-radius:12px;padding:0;background:transparent;line-height:0}
.k-inline-screenshot img{width:100%;height:auto;max-height:440px;object-fit:contain;display:block}
.k-inline-empty{background:#edf0f3;color:#899;min-height:130px;display:grid;place-items:center;font-size:12px;line-height:1.5}
.files-empty{padding:38px 12px;text-align:center;color:#8d96a5;font-size:13px}
/* FS_UNIFIED_REPAIR_20261023 */

/* FIRSTSNOW_OCT24_DM_PROFILE_LINK */
.dm-chat-head .dm-profile-link{display:flex;align-items:center;gap:10px;min-width:0;flex:1;padding:0;text-align:left;border:0;background:transparent;color:inherit;cursor:pointer}
.dm-chat-head .dm-profile-link .dm-chat-title{min-width:0;flex:1}
.dm-peer-profile-link{border:0;background:transparent;color:inherit;cursor:pointer;padding:0;width:max-content;max-width:100%}


/* FIRSTSNOW_IG_POST_REELS_20261024_V1 - Instagram-inspired in-feed preview, grid badge and vertical reel viewer. */
.fs-reel-feed{position:relative;background:#111;overflow:hidden;width:100%;}
.fs-reel-feed-tap{position:relative;width:100%;height:auto;aspect-ratio:4 / 5;display:block;padding:0;border:0;background:#101015;color:white;overflow:hidden;cursor:pointer;}
.fs-reel-feed-art{display:block;width:100%;height:100%;object-fit:cover;background:#17171b;}
.fs-reel-feed .fs-reel-still-video{pointer-events:none;}
.fs-reel-feed-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#0005;color:#fff;filter:drop-shadow(0 2px 8px #0008);}
.fs-reel-feed-label{position:absolute;top:13px;right:13px;color:#fff;font-weight:700;font-size:12px;text-shadow:0 1px 4px #0009;}
.profile-photo-grid .fs-reel-grid-cover{display:block;width:100%;height:100%;background:#161619;}
.profile-photo-grid .fs-reel-grid-art{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;}
.profile-photo-grid .fs-reel-grid-mark{position:absolute;top:7px;right:7px;color:#fff;z-index:1;filter:drop-shadow(0 1px 2px #000a);}
.fs-reel-empty{display:grid;place-items:center;color:#ddd;font-size:12px;padding:24px;text-align:center;min-height:90px;}
.fs-reel-backdrop{position:absolute;inset:0;background:#000;z-index:99999;display:flex;align-items:center;justify-content:center;}
.fs-reel-screen{position:relative;height:100%;width:100%;max-width:480px;background:#060606;color:#fff;overflow:hidden;}
.fs-reel-player{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#080808;}
.fs-reel-gradient{pointer-events:none;position:absolute;inset:0;background:linear-gradient(to bottom,#0008,transparent 18%,transparent 65%,#000a);}
.fs-reel-exit,.fs-reel-audio{position:absolute;z-index:5;top:max(18px,env(safe-area-inset-top));border:0;background:#0005;color:#fff;display:flex;align-items:center;justify-content:center;height:38px;border-radius:22px;padding:0 11px;}
.fs-reel-exit{left:12px;gap:8px;font-size:16px;font-weight:700;}.fs-reel-audio{right:12px;width:38px;}
.fs-reel-tap{position:absolute;z-index:2;inset:70px 64px 110px 10px;cursor:pointer;background:transparent;border:0;}
.fs-reel-controls{position:absolute;z-index:4;right:12px;bottom:110px;display:flex;align-items:center;flex-direction:column;gap:8px;color:#fff;}
.fs-reel-controls button{color:#fff;padding:5px;display:grid;place-items:center;filter:drop-shadow(0 1px 3px #000a);}
.fs-reel-controls .fs-reel-heart.liked{color:#ff395c;}
.fs-reel-controls small{color:#fff;font-size:11px;font-weight:600;margin-top:-7px;margin-bottom:9px;text-shadow:0 1px 3px #000b;}
.fs-reel-meta{position:absolute;z-index:4;left:14px;right:70px;bottom:55px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;text-shadow:0 1px 4px #000b;pointer-events:none;}
.fs-reel-meta .avatar{width:28px;height:28px;flex:none;}.fs-reel-meta strong{font-size:13px;}.fs-reel-caption{font-size:12px;line-height:1.4;flex-basis:100%;max-height:60px;overflow:hidden;white-space:pre-line;}
.fs-reel-pause-hint{display:none;position:absolute;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;color:#fff;filter:drop-shadow(0 1px 4px #000b);}
.fs-reel-screen.is-paused .fs-reel-pause-hint{display:block;}


/* FS_SINGLE_EVENT_ENGINE_V2_20261024 */
#notification .fs-unified-notice{display:flex;flex-direction:column;gap:7px;min-height:78px;width:calc(100% - 26px);padding:10px 12px;border-radius:19px;background:rgba(249,249,253,.95);color:#222;box-shadow:0 8px 22px #0003;pointer-events:auto;text-align:left;z-index:150}
#notification .fs-notice-head{display:flex;align-items:center;gap:7px;font-size:12px;color:#61616b;width:100%}
#notification .fs-notice-head>b{font-size:12px;flex:1}
#notification .fs-notice-head>small{color:#8b8c95}
#notification .fs-notice-appicon{width:24px;height:24px;display:grid;place-items:center;border-radius:6px;font-weight:800;font-size:16px;flex:none}
#notification .fs-unified-kakao .fs-notice-appicon{color:#46382b;background:#fee500}
#notification .fs-unified-instagram .fs-notice-appicon{color:#fff;background:linear-gradient(135deg,#8134af,#dd2a7b 57%,#ffa342)}
#notification .fs-unified-general .fs-notice-appicon{color:#fff;background:#467bd6}
#notification .fs-notice-detail{display:flex;align-items:center;gap:9px;min-width:0}
#notification .fs-notice-detail>.avatar{height:33px!important;width:33px!important;flex:0 0 33px;border-radius:50%}
#notification .fs-notice-text{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:12px}
#notification .fs-notice-text strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#notification .fs-notice-text>span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}
.fs-newdm-badge{margin-left:auto;display:grid;place-items:center;background:#2692ff;color:white;min-width:20px;height:20px;border-radius:20px;padding:0 5px;font-size:11px;font-weight:700;flex:none}



/* FS_PDF_WIDTH_AND_WORLD_CLOCK_20261024_V1: fit-page-width PDF, not fit entire page */
.attachment-document-shell:has(.attachment-pdf){padding:0!important;background:white!important;overflow:hidden!important;border-radius:0!important}
.attachment-document-pages.attachment-pdf-pages{width:100%!important;max-width:none!important;margin:0!important;background:white!important;box-shadow:none!important;overflow:hidden!important}
.attachment-pdf-pages .attachment-pdf{display:block!important;width:100%!important;max-width:none!important;border:0!important;height:min(70vh,690px)!important;min-height:430px!important;margin:0!important;background:white!important}
.fs-pdf-fit-controls{height:37px;display:flex;align-items:center;justify-content:center;gap:8px;background:#f6f7fa;border-bottom:1px solid #e5e7eb}
.fs-pdf-fit-controls button{border:1px solid #cbd5e1;border-radius:7px;padding:5px 12px;background:white;color:#1763c3;font-size:12px;font-weight:650;cursor:pointer}
.fs-pdf-fit-controls button:active{background:#e8f0fe}


/* 17:42 Mobile Safari lock icon position — layout-only fix.
   The previous @media(max-height:720px) reduced .lock-time padding
   without moving its absolute-positioned padlock pseudo-elements. */
.lock .lock-screen .lock-time {
  --fs-lock-pad-top: 128px;
  padding-top: var(--fs-lock-pad-top) !important;
  position: relative;
}
.lock .lock-screen .lock-time::before {
  top: calc(var(--fs-lock-pad-top) - 37px) !important;
}
.lock .lock-screen .lock-time::after {
  top: calc(var(--fs-lock-pad-top) - 27px) !important;
}
@media (max-height: 720px) {
  .lock .lock-screen .lock-time {
    --fs-lock-pad-top: 66px;
  }
}

/* FS1742_PDF_FOUR_PAGE_IMAGE_VIEWER_20261024: all four screenplay pages on mobile Safari */
.attachment-body:has(.fs-pdf-image-viewer){align-items:stretch!important;gap:9px!important;padding:12px 9px 24px!important;}
.fs-pdf-image-viewer{width:100%;max-width:100%;min-width:0;display:block;background:#fff;}
.fs-pdf-image-viewer .fs-pdf-fit-controls{position:sticky;top:0;z-index:3;background:#f6f7fa;}
.fs1742-pdf-all-pages{display:flex;flex-direction:column;gap:7px;background:#eef0f4;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;padding-bottom:2px;}
.fs1742-pdf-page{display:block;width:100%;max-width:none;height:auto;flex:none;object-fit:contain;background:#fff;}
.fs1742-pdf-zoomed .fs1742-pdf-page{width:150%;}

/* 17:42 lock icon correction v2: keep the padlock under the Dynamic Island.
   This supersedes the prior Safari lock fix WITHOUT changing date, clock,
   notification, and other lock screen layout except 17px extra vertical room
   on short browser viewports. Coordinates share the same lock-time parent. */
.lock .lock-screen .lock-time {
  --fs-lock-pad-top: 128px;
}
.lock .lock-screen .lock-time::before {
  top: calc(var(--fs-lock-pad-top) - 28px) !important;
}
.lock .lock-screen .lock-time::after {
  top: calc(var(--fs-lock-pad-top) - 18px) !important;
}
@media (max-height: 720px) {
  .lock .lock-screen .lock-time {
    --fs-lock-pad-top: 83px;
  }
}
