@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600&display=swap');
:root{--ink:#ecece6;--muted:#b2bab5;--page:#182327;--paper:#f8f7f3;--text:#262a2c;--soft:#707575;--line:#dedfd9;--yellow:#fee500;--blue:#b2c7d9;--green:#a8b7a6;--serif:'Noto Serif SC','Songti SC','STSong',serif;--sans:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--sans);font-size:14px;min-height:100dvh;background-image:radial-gradient(ellipse at 58% 48%,#3f4c4b65,transparent 52%)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #77928b;outline-offset:4px}button{transition:opacity .18s,background .18s,transform .18s}button:active:not(:disabled){opacity:.7}button:disabled{opacity:.45}.grain{position:fixed;inset:0;pointer-events:none;opacity:.055;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.site-header{height:105px;max-width:1600px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between}.wordmark{text-decoration:none;font-family:var(--serif);font-size:25px;font-weight:500;letter-spacing:6px;display:flex;align-items:center;gap:22px}.wordmark span{font:9px var(--sans);letter-spacing:2.5px;color:var(--muted)}.quiet-button{background:transparent;color:#d7dcd5;font-size:12px;letter-spacing:1px;min-height:44px}.quiet-button span{margin-left:16px;color:var(--muted)}.experience{display:grid;grid-template-columns:1fr 412px .6fr;align-items:center;gap:6%;max-width:1340px;margin:0 auto;padding:8px 5% 20px;min-height:790px}.eyebrow{font-size:9px;letter-spacing:2.1px;color:#b7c4bc;display:flex;align-items:center;gap:10px;white-space:nowrap}.eyebrow span{width:5px;height:5px;background:#bac7b8;border-radius:50%}h1{font-family:var(--serif);font-size:clamp(28px,2.75vw,43px);font-weight:400;line-height:1.9;letter-spacing:2px;margin:24px 0}.serif-italic{color:#bacab8;white-space:nowrap}.intro-text{color:#bfc6c2;font-size:13px;line-height:2.1;letter-spacing:1px}.story-credit{display:flex;gap:15px;align-items:flex-start;margin-top:43px}.hairline{width:24px;height:1px;background:#a3b1a4;margin-top:9px}.story-credit p{margin:0;font-size:11px;line-height:2;color:#cbd1c8}.story-credit small{font-size:10px;color:#9ca9a2}.chapter-side{margin-top:65px;max-width:230px}.chapter-side>span{font-size:10px;letter-spacing:2px}.chapter-track{height:1px;background:#65716b70;margin:17px 0}.chapter-track i{display:block;width:20%;height:1px;background:#bdc9b2;transition:width 1s}.chapter-side p{font-family:var(--serif);font-size:11px;color:#aebcb2;line-height:1.8}.device-area{width:100%;position:relative}.device{height:min(770px,calc(100dvh - 170px));min-height:620px;width:378px;max-width:100%;margin:auto;background:#080d0e;border:1px solid #7b8583;border-radius:51px;padding:9px;box-shadow:0 0 0 2px #26302f,0 0 0 4px #0a1112,0 32px 80px #0008,0 3px 5px #0008;position:relative}.phone-screen{height:100%;width:100%;background:var(--paper);border-radius:42px;position:relative;overflow:hidden;isolation:isolate;color:var(--text)}.phone-screen:after{content:'';height:25px;width:96px;border-radius:18px;background:#080d0e;position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:12;pointer-events:none}.side-key{position:absolute;left:-5px;width:3px;background:#54615e;border-radius:2px}.key-one{top:112px;height:29px}.key-two{top:163px;height:56px}.device-caption{font-size:8px;letter-spacing:2px;color:#a5b1a9;text-align:center;margin:23px 0 0}.live-dot{width:4px;height:4px;background:#aec5a6;display:inline-block;border-radius:50%;vertical-align:middle;margin-right:8px}.caption-divider{margin:0 10px;color:#677770}.marginalia{align-self:center;padding-bottom:20px;min-width:160px}.margin-number{font-family:Georgia,serif;font-size:48px;font-weight:400;letter-spacing:-3px}.margin-number span{font-size:20px;margin:0 9px;color:#9bab9f}.margin-place{font-size:9px;line-height:2;letter-spacing:1.5px;color:#bac5bd}.margin-line{width:35px;height:1px;background:#8f9e9270;margin:35px 0}.margin-quote{font-family:var(--serif);font-size:13px;line-height:2.3;color:#d5ddd2}.margin-source{font-size:9px;color:#a0b0a5;letter-spacing:1px}.memory-link{display:flex;align-items:center;gap:15px;background:transparent;color:var(--ink);padding:20px 0;margin-top:58px;text-align:left;border-top:1px solid #6c7e7045;width:170px}.memory-link>span:first-child{font:28px Georgia,serif;color:#b2c2ac}.memory-link>span:nth-child(2){font-size:10px;line-height:1.8;letter-spacing:1px}.memory-link small{font-size:7px;letter-spacing:1.5px;color:#96a79a}.memory-link>span:last-child{margin-left:auto}.site-footer{display:flex;justify-content:space-between;align-items:center;margin:0 5%;padding:22px 0;border-top:1px solid #91a18c29;color:#a7b4ac;font-size:9px;letter-spacing:1px;gap:20px}.site-footer div{display:flex;gap:24px}.site-footer button{background:transparent;padding:10px 0;color:#c1c9c0;font-size:10px}.edition{font-size:8px;letter-spacing:2px}.boot-label{padding:100px 20px;text-align:center}.status-bar{height:53px;padding:17px 24px 0;display:flex;align-items:flex-start;justify-content:space-between;position:relative;z-index:9;flex-shrink:0;font-size:12px;font-weight:600}.status-right{display:flex;gap:5px;align-items:center;font-size:10px}.status-right svg{width:14px;height:13px}.battery{width:22px;height:10px;border:1px solid currentColor;border-radius:3px;position:relative;margin-left:2px}.battery:before{content:'';position:absolute;inset:1px;background:currentColor;border-radius:1px}.battery:after{content:'';height:4px;width:1px;position:absolute;right:-3px;top:2px;background:currentColor}.home-bar{border:0;background:transparent;min-height:28px;width:100%;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:10;position:relative}.home-bar:after{content:'';display:block;width:110px;height:4px;border-radius:5px;background:currentColor;opacity:.85}.screen{height:100%;display:flex;flex-direction:column;position:relative;animation:screen-in .28s ease both}.screen-body{flex:1;min-height:0;overflow:auto;scrollbar-width:none}.screen-body::-webkit-scrollbar{display:none}.icon{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-btn{width:44px;height:44px;border-radius:50%;background:transparent;display:inline-flex;align-items:center;justify-content:center;color:inherit;flex-shrink:0}.icon-btn:hover{background:#00000008}.screen-header{height:57px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 13px 0 8px}.screen-header h2{font-size:16px;margin:0;font-weight:600}.screen-header .back{display:flex;align-items:center;gap:0;color:#356b8b;background:transparent;min-height:44px;padding:0 7px;font-size:13px}.screen-header .back .icon{width:19px}.screen-header .header-tools{display:flex;align-items:center}.screen-title{font-size:29px;letter-spacing:-1px;margin:12px 22px 20px;font-weight:700}.wallpaper{background:linear-gradient(180deg,#18282b28 0%,#162b3020 30%,#122321bd 100%),url('assets/london.jpg') center/cover;color:white}.lock-screen{background-position:54% center}.lock-content{padding:29px 21px 0;flex:1;display:flex;flex-direction:column;min-height:0}.lock-glyph{width:18px;align-self:center;opacity:.9;margin-bottom:14px}.lock-date{text-align:center;font-size:16px;font-weight:500}.lock-time{font-size:78px;letter-spacing:-5px;text-align:center;font-weight:300;line-height:1.15}.lock-location{display:flex;gap:6px;align-items:center;justify-content:center;font-size:11px;letter-spacing:1px;margin-top:8px;color:#f5f6e9}.lock-location .icon{width:14px;height:14px}.lock-spacer{flex:1;min-height:40px}.notification{display:flex;align-items:flex-start;gap:10px;background:#e6ebdfda;backdrop-filter:blur(15px);color:#24302c;border-radius:19px;padding:14px 13px;text-align:left;width:100%;margin-top:8px;box-shadow:0 3px 12px #00000008}.notification .app-mini{width:32px;height:32px;background:var(--yellow);border-radius:9px;display:grid;place-items:center;flex-shrink:0;color:#30251c}.app-mini .icon{width:22px;height:22px}.notification-text{flex:1;min-width:0}.notification-meta{font-size:9px;display:flex;justify-content:space-between;margin-bottom:5px;color:#4c5c53}.notification-text strong{font-size:12px;display:block;margin-bottom:4px}.notification-text p{font-size:12px;margin:0;line-height:1.6}.lock-note{font-size:10px;letter-spacing:1px;text-align:center;color:#f4f1e5;line-height:1.8;margin:23px 0 7px;text-shadow:0 1px 6px #000}.unlock-button{display:flex;align-items:center;justify-content:center;gap:10px;background:transparent;color:#fff;min-height:50px;letter-spacing:2px;font-size:12px;width:100%}.unlock-button .icon{width:16px}.lock-actions{padding:10px 30px 0;display:flex;justify-content:space-between}.lock-actions .icon-btn{background:#18262960;backdrop-filter:blur(5px);width:42px;height:42px}.home-screen .screen-body{padding:4px 22px 0}.home-widgets{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:25px}.widget{text-align:left;border-radius:22px;background:#e9eddaee;color:#26352e;padding:15px;min-height:133px;box-shadow:0 7px 18px #0a1c1720}.widget.weather{background:linear-gradient(145deg,#5c7178,#2e4c59);color:#fff}.widget-label{font-size:11px;display:flex;align-items:center;gap:4px}.widget-label .icon{width:12px;height:12px}.temperature{font-size:41px;font-weight:300;line-height:1.3}.weather-small{font-size:9px;opacity:.95}.widget .date-week{color:#a23e35;font-size:10px}.widget .date-day{font-size:42px;font-weight:300;line-height:1.2;margin:1px 0 6px}.widget .date-event{font-size:9px;border-left:2px solid #c47960;padding-left:6px}.app-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:23px 12px}.app-launcher{padding:0;background:transparent;color:white;display:flex;flex-direction:column;align-items:center;gap:7px;position:relative;font-size:10px;text-shadow:0 1px 4px #17211c;min-width:0}.app-tile{height:56px;width:56px;border-radius:15px;display:grid;place-items:center;box-shadow:0 5px 10px #00171018;text-shadow:none;position:relative;overflow:visible}.app-tile .icon{width:29px;height:29px;stroke-width:1.6}.app-tile.kakao{background:var(--yellow);color:#34291e}.app-tile.photos{background:#fff}.app-tile.notes{background:linear-gradient(#f8d264 25%,#fff 25%);color:#9c9c8f}.app-tile.notes .icon{margin-top:12px;width:29px;height:25px}.app-tile.calendar{background:#fff;color:#2b3330;display:flex;flex-direction:column;gap:1px}.calendar-mini{font-size:8px;color:#d14b40;font-weight:600}.calendar-number{font-size:29px;font-weight:300;line-height:1}.app-tile.mail{background:linear-gradient(#5cafff,#1c78da);color:#fff}.app-tile.weather{background:linear-gradient(#3a89d2,#8db7db);color:#fff}.app-tile.settings{background:#d7dcdd;color:#55636b}.app-tile.clock{background:#1c211f;color:#fff}.app-tile.phone{background:linear-gradient(#64d37a,#32b655);color:#fff}.app-tile.safari{background:#fff;color:#348ed4}.badge{background:#df4545;color:#fff;border:2px solid #d0d8cc;border-radius:20px;position:absolute;right:-5px;top:-6px;font-size:10px;line-height:16px;min-width:20px;text-align:center;text-shadow:none;padding:0 4px}.home-middle-note{text-align:center;margin:28px 0 0;font-family:var(--serif);font-size:11px;letter-spacing:2px;color:#fff9e3;text-shadow:0 1px 8px #000}.home-bottom{padding:0 12px;flex-shrink:0}.home-dots{display:flex;justify-content:center;gap:6px;margin:10px 0 15px}.home-dots i{width:5px;height:5px;background:#fff8;border-radius:50%}.home-dots i:first-child{background:#fff}.dock{display:flex;justify-content:space-around;background:#dbe5d23d;backdrop-filter:blur(20px);padding:12px 4px;border-radius:29px}.dock .app-launcher{gap:0}.dock .app-launcher>span:last-child:not(.app-tile){display:none}.flower-icon{position:relative;width:38px;height:38px}.flower-icon i{position:absolute;width:14px;height:22px;border-radius:60%;top:0;left:12px;transform-origin:7px 19px;opacity:.8}.flower-icon i:nth-child(1){background:#f16662;transform:rotate(0deg)}.flower-icon i:nth-child(2){background:#ee9c43;transform:rotate(45deg)}.flower-icon i:nth-child(3){background:#e3cc32;transform:rotate(90deg)}.flower-icon i:nth-child(4){background:#9fc552;transform:rotate(135deg)}.flower-icon i:nth-child(5){background:#60bfb3;transform:rotate(180deg)}.flower-icon i:nth-child(6){background:#6fa3d7;transform:rotate(225deg)}.flower-icon i:nth-child(7){background:#8d8ac5;transform:rotate(270deg)}.flower-icon i:nth-child(8){background:#da81b0;transform:rotate(315deg)}.avatar{width:47px;height:47px;border-radius:17px;background:#dfe4db;object-fit:cover;flex-shrink:0;object-position:center 20%}.avatar.small{width:31px;height:31px;border-radius:12px}.initial-avatar{display:grid;place-items:center;color:#4a5c50;font-family:Georgia,serif;font-size:17px}.kakao-list{background:#fff}.kakao-list .screen-title{font-size:24px;margin:0}.kakao-top{padding:2px 19px 14px;display:flex;align-items:center;justify-content:space-between}.kakao-top-actions{display:flex;margin-right:-8px}.chat-row{display:flex;align-items:center;gap:12px;background:transparent;width:100%;padding:15px 19px;text-align:left;color:var(--text)}.chat-row:hover{background:#f5f5f2}.row-copy{flex:1;min-width:0}.row-copy strong{font-size:13px;font-weight:600;display:block;margin-bottom:6px}.row-copy p{font-size:11px;line-height:1.6;color:#747977;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-meta{align-self:flex-start;font-size:9px;color:#868c89;display:flex;align-items:center;gap:8px;flex-direction:column;padding-top:4px}.unread-dot{background:#e8604c;color:white;border-radius:50%;height:18px;min-width:18px;display:grid;place-items:center;font-size:10px}.kakao-me{display:flex;gap:12px;align-items:center;margin:4px 20px 14px;padding:15px;background:#f5f5f1;border-radius:17px}.kakao-me p{margin:0;font-size:12px}.kakao-me small{font-size:10px;color:#747b75;display:block;margin-top:5px}.list-divider{font-size:10px;color:#7b827d;border-top:1px solid #eceee8;margin:0 20px;padding:14px 0 3px}.kakao-tabs{border-top:1px solid #eceee8;display:flex;justify-content:space-around;padding:5px 8px;background:#fafbf8}.kakao-tabs button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 14px;min-width:54px;background:transparent;font-size:8px;color:#737b76}.kakao-tabs button.active{color:#242a26}.chat-screen{background:var(--blue)}.chat-screen .screen-header{padding-right:8px;background:var(--blue);border-bottom:1px solid #a8bdcd}.chat-screen .screen-header .back{color:#2c3a43}.chat-screen .screen-header h2{font-size:14px}.chat-scroll{padding:8px 12px 17px;scroll-behavior:smooth}.chat-date{display:table;margin:11px auto 22px;background:#6e879455;color:#fff;padding:5px 12px;border-radius:20px;font-size:9px}.message{display:flex;gap:7px;align-items:flex-start;margin:8px 0;animation:message-in .25s ease both}.message.from-me{justify-content:flex-end;margin:12px 0}.message-main{max-width:76%}.sender-label{font-size:10px;margin:0 0 5px;color:#36454f}.bubble-wrap{display:flex;align-items:flex-end;gap:5px}.from-me .bubble-wrap{flex-direction:row-reverse}.bubble{padding:9px 10px;border-radius:0 10px 10px 10px;background:#fff;line-height:1.7;font-size:12px;white-space:pre-wrap;box-shadow:0 1px 1px #00000004;word-break:break-word}.from-me .bubble{background:var(--yellow);border-radius:10px 0 10px 10px}.bubble-meta{font-size:8px;white-space:nowrap;color:#4e626d;display:flex;flex-direction:column;align-items:flex-end;gap:3px;padding-bottom:1px}.unread-one{color:#635413;font-size:9px}.old-chat-link{display:block;margin:1px auto 12px;color:#405966;background:#e2edf34d;border-radius:15px;padding:6px 12px;font-size:9px;min-height:32px}.chat-narration{margin:18px auto;text-align:center;font-family:var(--serif);font-size:10px;color:#3e535f;line-height:1.9;padding:0 15px}.composer-area{background:#f9faf7;flex-shrink:0;padding:8px 10px 0;box-shadow:0 -1px 0 #00000009}.composer{display:flex;align-items:center;gap:6px}.composer>.icon{width:19px;height:19px;color:#6b777b}.draft-field{height:39px;min-width:0;flex:1;border:1px solid #dde2df;background:white;border-radius:18px;display:flex;align-items:center;padding-left:12px}.draft-field input{min-width:0;width:100%;border:0;outline:0;background:transparent;font:12px var(--sans);color:#2c3432;cursor:default}.draft-field:focus-within{outline:2px solid #8a9c96}.draft-field .send-button{width:32px;height:32px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;flex-shrink:0;margin-right:3px}.send-button .icon{width:17px;height:17px;color:#4b4122}.composer-note{font-size:9px;color:#6b766e;padding:7px 0 9px;text-align:center;margin:0}.choice-list{display:flex;flex-direction:column;gap:6px;padding:9px 0 5px}.choice{padding:11px 12px;background:#fff;border:1px solid #d6ded9;border-radius:10px;font-size:11px;line-height:1.6;color:#2e3a33;text-align:left;min-height:44px}.choice:first-child{border-color:#a3ada2;background:#f2f4e9}.choice:hover{background:#ecf0e5}.choice span{float:right;color:#778574}.choice-caption{font-size:9px;text-align:center;margin:3px 0 9px;color:#6d786f}.typing{font-size:10px;color:#536873;display:flex;align-items:center;gap:5px;margin:14px 0 4px 39px}.typing i{width:4px;height:4px;background:currentColor;border-radius:50%;animation:pulse 1s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}.app-info-strip{padding:9px 21px;background:#edece5;color:#6f756b;font-size:10px;line-height:1.7}.segmented{display:flex;margin:0 21px 18px;background:#e8e9e4;border-radius:9px;padding:3px}.segmented button{flex:1;min-height:32px;font-size:11px;border-radius:7px;background:transparent;color:#62695f}.segmented button.active{background:white;color:#26322b;box-shadow:0 1px 4px #0001}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:0 3px 8px}.photo-tile{aspect-ratio:1;padding:0;background:#d8dcd4;position:relative;overflow:hidden}.photo-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;filter:saturate(.72)}.photo-tile:hover img{transform:scale(1.06)}.photo-tile .photo-heart{position:absolute;right:6px;bottom:5px;color:#fff;font-size:13px;text-shadow:0 1px 3px #000}.photo-tile[data-photo=portrait2] img{transform:scale(1.3);filter:saturate(.4) blur(.5px)}.photo-section-label{margin:0 21px 12px;font-size:12px;font-weight:600}.album-foot{padding:22px;text-align:center;color:#767b72;font-size:10px;line-height:1.9}.photo-viewer{background:#111715;color:#fff}.photo-viewer .screen-header .back{color:white}.photo-viewer .screen-header{min-height:65px}.photo-viewer .screen-header h2{font-size:11px;text-align:center;line-height:1.7}.photo-full{width:100%;max-height:45%;object-fit:contain;flex-shrink:0;background:#0e1311}.photo-caption{padding:19px 22px;overflow:auto;flex:1;min-height:0;white-space:pre-line;font-family:var(--serif);font-size:12px;line-height:2;color:#e4e7dc}.photo-location{font-family:var(--sans);font-size:9px;color:#b8c3b4;letter-spacing:1px;margin-bottom:12px}.viewer-nav{display:flex;justify-content:space-between;align-items:center;padding:0 12px}.viewer-nav small{font-size:10px;color:#c2c9be}.notes-screen{background:#f5f3ed}.notes-screen .screen-header .back{color:#947929}.search-look{margin:0 21px 15px;background:#e7e6df;padding:10px 12px;border-radius:10px;font-size:11px;color:#7a7d72;display:flex;gap:8px;align-items:center}.search-look .icon{width:15px;height:15px}.note-list{margin:0 16px;background:#fffefa;border-radius:14px;overflow:hidden}.note-row{display:block;width:100%;padding:17px 17px;text-align:left;color:#33382e;background:transparent;border-bottom:1px solid #e7e7de}.note-row:last-child{border-bottom:0}.note-row strong{display:block;font-size:13px;margin-bottom:8px}.note-row p{font-size:10px;color:#7a7d70;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-row time{color:#9b874e;margin-right:8px}.notes-foot{padding:22px;text-align:center;font-size:9px;color:#7b8173}.document-body{padding:8px 23px 25px;white-space:pre-line;font-family:var(--serif);font-size:13px;line-height:2.2}.document-body h3{font-size:22px;font-weight:500;line-height:1.7;margin:8px 0 15px}.document-date{font-family:var(--sans);color:#7c8075;font-size:9px;display:block;margin-bottom:10px}.mail-screen{background:#fff}.mail-row{width:100%;display:flex;gap:12px;background:transparent;padding:17px 20px;text-align:left;border-bottom:1px solid #edf0ec;color:var(--text)}.mail-initial{width:35px;height:35px;background:#e7eae2;color:#5d705f;border-radius:50%;display:grid;place-items:center;font:12px Georgia,serif;flex-shrink:0}.mail-copy{min-width:0;flex:1}.mail-copy .from{display:flex;justify-content:space-between;font-size:11px;font-weight:600;margin-bottom:6px}.mail-copy .from time{font-size:9px;color:#7a8279;font-weight:400}.mail-copy strong{display:block;font-size:12px;font-weight:500;margin-bottom:6px}.mail-copy p{margin:0;font-size:10px;line-height:1.6;color:#777f75}.mail-detail-head{margin:5px 22px 0;border-bottom:1px solid #e3e8e1;padding-bottom:16px}.mail-detail-head h3{font-size:20px;line-height:1.6;margin:5px 0 15px}.mail-detail-head p{font-size:10px;line-height:1.9;color:#788071;margin:0}.calendar-screen{background:#fcfcf8}.month-title{margin:9px 23px 20px;display:flex;justify-content:space-between;align-items:center}.month-title h3{font:27px Georgia,serif;margin:0}.month-title span{font-size:12px;color:#9a6759}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px 0;margin:0 15px 20px;text-align:center}.weekday{font-size:9px;color:#7a8277;padding-bottom:5px}.day{font-size:12px;min-height:36px;position:relative;border-radius:50%;display:flex;align-items:center;justify-content:center;width:36px;margin:auto;background:transparent;color:#303a31}.day.today{background:#a95e50;color:white}.day.selected{box-shadow:inset 0 0 0 1px #a95e50}.day.has-event:after{content:'';width:3px;height:3px;position:absolute;bottom:2px;background:#b17861;border-radius:50%}.calendar-events{border-top:1px solid #e1e6db;padding:16px 21px}.calendar-events h4{font-size:12px;margin:0 0 18px}.event{border-left:2px solid #a4b197;padding:0 0 0 13px;margin:20px 0}.event time{font-size:9px;color:#7b8474}.event h5{font-size:13px;font-weight:500;margin:6px 0}.event p{font-size:10px;line-height:1.7;color:#78816e;margin:0}.weather-screen{background:linear-gradient(#536c7a,#8c9ba1);color:white}.weather-content{text-align:center;padding:30px 20px}.weather-city{font-size:27px;font-weight:400;margin:0}.weather-temp{font-size:84px;font-weight:200;line-height:1.2;margin:5px 0}.weather-content p{font-size:12px;line-height:1.9;margin:0}.weather-card{margin:28px 0 0;padding:20px;border-radius:20px;background:#263f5140;text-align:left;font-size:11px;line-height:2}.weather-hour{display:flex;justify-content:space-around;margin-top:20px}.weather-hour div{display:flex;flex-direction:column;gap:9px;align-items:center;font-size:10px}.clock-content{text-align:center;padding:24px}.clock-big{font-size:62px;font-weight:200}.clock-label{font-size:10px;letter-spacing:2px;color:#6d786b}.clock-list{margin-top:30px;text-align:left}.clock-entry{padding:20px 0;border-bottom:1px solid #e1e6dd;display:flex;justify-content:space-between;align-items:center}.clock-entry strong{font-size:16px;font-weight:400}.clock-entry span{font-size:24px;font-weight:300}.clock-entry small{font-size:9px;color:#78816f;display:block;margin-top:7px}.settings-list{margin:0 17px;background:#fff;border-radius:15px;overflow:hidden}.settings-item{width:100%;padding:16px;display:flex;align-items:center;justify-content:space-between;background:white;color:#334030;min-height:51px;border-bottom:1px solid #ecede7;font-size:12px}.settings-item:last-child{border:0}.settings-item small{color:#737f6b;font-size:10px}.toggle{width:34px;height:21px;background:#c6cdc0;border-radius:20px;padding:2px;display:flex}.toggle i{width:17px;height:17px;background:white;border-radius:50%;box-shadow:0 1px 3px #0002}.toggle.on{background:#6b8c67;justify-content:flex-end}.phone-app-list{padding:0 22px}.call-entry{width:100%;display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid #e4e9df;background:transparent;color:#293628;text-align:left}.call-entry strong{font-size:13px;font-weight:500}.call-entry small{display:block;font-size:10px;color:#7c8672;margin-top:5px}.call-entry .icon{margin-left:auto;color:#6a805e}.incoming-screen,.call-screen{background:linear-gradient(160deg,#475b5a,#1a2c31 70%);color:#fff}.caller{padding:50px 20px 15px;text-align:center}.caller .avatar{width:88px;height:88px;border-radius:50%;border:1px solid #ffffff30}.caller h2{font-weight:400;font-size:30px;margin:20px 0 12px}.caller p{font-size:11px;letter-spacing:1px;color:#dae1d6;margin:0}.incoming-caption{font-family:var(--serif);text-align:center;margin:30px 0;font-size:12px;color:#d3ddce;line-height:2}.call-actions{display:flex;justify-content:space-around;padding:25px 24px 36px;margin-top:auto;gap:30px}.call-action{display:flex;flex-direction:column;align-items:center;gap:12px;background:transparent;color:white;font-size:11px}.call-action>span{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:#62a56d}.call-action.decline>span{background:#c66557}.call-action.decline .icon{transform:rotate(135deg)}.call-transcript{flex:1;overflow:auto;min-height:0;padding:6px 25px}.call-line{font-size:12px;line-height:1.9;margin:16px 0;animation:message-in .3s ease both}.call-line small{display:block;font-size:9px;color:#b7c9b7;margin-bottom:5px}.call-line.you{text-align:right;color:#d3dfcf}.call-next{margin:8px 25px 20px;padding:14px;border-radius:12px;border:1px solid #a4b8a369;background:#dcebdc15;color:#f0f3e7;font-size:12px;min-height:46px}.call-mode-label{text-align:center;font-size:9px;color:#bed0be;margin:3px 20px 14px}.ending-screen{background:#eeeee5;color:#34402f}.ending-body{padding:28px 28px 20px}.ending-kicker{font-size:9px;letter-spacing:3px;color:#748167}.ending-title{font-family:var(--serif);font-size:40px;font-weight:400;margin:20px 0 8px;letter-spacing:5px}.ending-subtitle{font-size:8px;letter-spacing:3px;color:#7b876e}.ending-line{font-family:var(--serif);font-size:12px;line-height:2;margin:26px 0;color:#677759;border-top:1px solid #ccd2bf;padding-top:23px}.ending-prose{font-family:var(--serif);font-size:12px;line-height:2.3;white-space:pre-line}.ending-personal{font-size:11px;font-family:var(--serif);line-height:2;white-space:pre-line;color:#67765a;margin-top:22px}.ending-controls{display:flex;flex-direction:column;gap:9px;margin-top:28px}.ending-controls button{min-height:44px;border:1px solid #bac6aa;background:#e0e5d5;color:#425238;border-radius:9px;font-size:11px}.ending-controls button:last-child{background:transparent}.browser-body{padding:20px 24px}.browser-address{font-size:10px;background:#e4e8df;border-radius:15px;padding:9px 15px;margin:3px 20px 8px;text-align:center;color:#6f7b62}.browser-body h3{font:25px var(--serif);line-height:1.7;margin:20px 0}.browser-body p{font-size:12px;line-height:2;color:#606d55}.browser-body a{font-size:11px;color:#6b7e54;display:inline-block;padding:12px 0}.phone-toast{position:absolute;left:14px;right:14px;top:53px;background:#f4f4e9ee;backdrop-filter:blur(20px);border-radius:17px;padding:12px;z-index:13;display:flex;gap:9px;box-shadow:0 5px 20px #20302826;color:#293828;text-align:left;animation:message-in .3s ease;max-height:110px}.phone-toast img{width:32px;height:32px;border-radius:11px;object-fit:cover}.phone-toast div{flex:1;min-width:0}.phone-toast strong{font-size:11px}.phone-toast p{font-size:10px;line-height:1.5;margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-toast small{font-size:8px;color:#6e7b63}.modal-shade{position:fixed;inset:0;background:#091512bd;backdrop-filter:blur(9px);z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#eeeee5;color:#34402d;border:1px solid #fff4;border-radius:22px;width:470px;max-width:100%;max-height:85dvh;overflow:auto;padding:30px;box-shadow:0 20px 100px #0005;position:relative}.modal-close{position:absolute;right:15px;top:15px;color:#6c7962}.modal-kicker{font-size:8px;color:#748168;letter-spacing:3px;margin-bottom:15px}.modal h2{font:25px var(--serif);font-weight:400;margin:5px 0 20px;letter-spacing:2px}.modal p{font-size:12px;line-height:2;color:#65715b}.modal .modal-actions{display:flex;gap:10px;margin-top:25px}.modal-actions button{border-radius:9px;min-height:44px;padding:10px 17px;background:#dbe3cf;color:#3a4f2b;font-size:12px;flex:1}.modal-actions .secondary{background:transparent;border:1px solid #bdc9b0}.help-steps{padding:0;list-style:none;counter-reset:step}.help-steps li{font-size:12px;line-height:1.9;color:#647057;display:flex;gap:14px;align-items:flex-start;margin:16px 0}.help-steps li:before{counter-increment:step;content:'0' counter(step);font:13px Georgia,serif;color:#8b9a7c;padding-top:4px}.modal small{color:#7b876f;font-size:10px;line-height:1.8}.collection-item{display:flex;gap:16px;align-items:center;border-top:1px solid #cbd3bf;padding:18px 0;width:100%;text-align:left;background:transparent;color:#435536}.collection-item>span:first-child{font:27px Georgia,serif;color:#8d9f7a}.collection-item strong{font:16px var(--serif);font-weight:400}.collection-item small{display:block;font:8px var(--sans);letter-spacing:1.5px;margin-top:6px}.collection-item em{margin-left:auto;font:10px var(--sans);font-style:normal;color:#6d7e5c}.collection-item.locked{opacity:.6}.credits{font-size:10px;line-height:2;color:#66765a}.credits a{color:#496e55}.credits p{font-size:10px}.profile{padding:20px;text-align:center}.profile .avatar{width:100px;height:100px;border-radius:29px}.profile h3{font-size:22px;font-weight:400}.profile p{font-size:12px;color:#6c7e62;line-height:2}.primary-app-button{display:block;background:#dbe3d1;color:#425838;border-radius:10px;padding:13px 20px;margin:22px auto;min-height:44px}.memory-stamp{display:flex;align-items:center;gap:8px;margin:15px 0;border-top:1px solid #9aa88a50;padding-top:14px;font:10px var(--sans);color:#7e906d;white-space:normal;line-height:1.7}.memory-stamp .icon{width:15px;height:15px}#toast{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);padding:12px 20px;background:#eef0e5;color:#405235;font-size:12px;border-radius:10px;z-index:70;max-width:90%;opacity:0;pointer-events:none;transition:opacity .2s;box-shadow:0 5px 20px #0002}#toast.show{opacity:1}.modal textarea{width:100%;font:11px var(--sans);background:#f6f7ed;color:#43543a;border:1px solid #c4d0b7;border-radius:9px;min-height:75px;padding:12px;resize:vertical}.sound-indicator{width:5px;height:5px;display:inline-block;border-radius:50%;background:#a9bb98;margin-right:6px}.empty-state{font-size:12px;color:#748369;padding:35px 24px;line-height:2}.simple-button{border-radius:9px;min-height:44px;background:#e7ecdf;color:#4b603d;padding:12px 18px;font-size:12px}
@keyframes screen-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes message-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes pulse{0%,80%,100%{opacity:.3}40%{opacity:1}}
@media(min-width:1450px){.experience{gap:85px;grid-template-columns:360px 410px 190px}.device{height:770px}.site-header{height:115px}}
@media(max-width:1150px){.experience{grid-template-columns:1fr 378px;gap:40px;max-width:950px;min-height:760px}.marginalia{display:none}.prologue h1{font-size:33px}.device{height:min(750px,calc(100dvh - 170px))}.edition{display:none}.site-footer{font-size:9px}.site-footer div{gap:18px}}
@media(max-width:760px){body{background:#162224}.site-header{height:73px;padding:0 7%}.wordmark{font-size:21px;gap:12px}.wordmark span{font-size:7px;letter-spacing:1.5px}.quiet-button{font-size:10px}.experience{display:flex;flex-direction:column;min-height:0;padding:0 15px 15px;gap:0}.prologue{display:none}.device-area{width:378px;max-width:100%}.device{height:calc(100dvh - 136px);min-height:580px;max-height:780px;width:100%;border-radius:48px}.phone-screen{border-radius:39px}.device-caption{margin-top:18px;font-size:7px}.site-footer{border:0;padding:8px 0 15px;margin:0 7%;justify-content:center}.site-footer>span{display:none}.site-footer div{gap:35px}.site-footer button{font-size:9px}.modal{padding:27px 24px}}
@media(max-width:410px){.site-header{height:62px}.experience{padding-left:11px;padding-right:11px}.device{min-height:560px;height:calc(100dvh - 120px);border-radius:43px;padding:7px}.phone-screen{border-radius:35px}.device-caption{font-size:6.5px;letter-spacing:1.5px;margin-top:14px}.app-tile{height:51px;width:51px;border-radius:14px}.app-grid{gap:20px 10px}.home-widgets{gap:12px;margin-bottom:22px}.widget{padding:13px;min-height:125px}.home-screen .screen-body{padding-left:19px;padding-right:19px}.lock-time{font-size:73px}.lock-content{padding-top:22px}.screen-title{font-size:27px}.bubble{font-size:12px;padding:8px 10px}.choice{font-size:10px;padding:10px;min-height:44px}.composer-note{font-size:8px}.status-bar{padding-left:22px;padding-right:22px}}
@media(max-height:720px) and (min-width:761px){.site-header{height:70px}.experience{min-height:0}.device{height:610px;min-height:610px}.site-footer{padding:15px 0}.home-middle-note{margin-top:12px}.home-widgets{margin-bottom:20px}.widget{min-height:117px}.lock-content{padding-top:14px}.lock-time{font-size:68px}.lock-note{margin-top:15px}}
@media(max-height:670px) and (max-width:760px){.site-header{height:53px}.device{height:580px;min-height:580px}.lock-content{padding-top:10px}.lock-time{font-size:64px}.home-widgets{margin-bottom:18px}.widget{min-height:110px;padding:11px}.temperature{font-size:35px}.widget .date-day{font-size:35px}.home-middle-note{margin-top:17px}.app-grid{gap:17px 10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* The game is the screen itself. No handset frame or surrounding website. */
.native-notes{background:#f2f2f7;color:#141414;font-family:var(--sans)}
.native-notes .status-bar{color:#151515}
.native-notes-nav{height:48px;min-height:48px;display:flex;justify-content:space-between;align-items:center;padding:0 13px 0 7px;color:#a96a00}
.native-notes-nav>div{display:flex;align-items:center;gap:3px}
.native-notes-nav .icon-btn{color:#a96a00}
.native-notes-back{display:flex;align-items:center;gap:0;background:transparent;color:#a96a00;font-size:17px;min-height:44px;padding:0 6px 0 0}
.native-notes-back .icon{width:26px;height:26px}
.native-notes-done{background:transparent;color:#a96a00;font-size:17px;font-weight:600;min-height:44px;padding:0 6px}
.native-notes-content{padding:0 20px 18px}
.native-notes-title{font-size:34px;line-height:1.25;letter-spacing:0;font-weight:700;margin:5px 0 14px}
.native-notes-search{display:flex;align-items:center;gap:7px;background:#e3e3e8;border-radius:10px;padding:0 9px;height:37px;margin-bottom:26px;color:#73737a}
.native-notes-search .icon{width:19px;height:19px}
.native-notes-search input{border:0;outline:0;background:transparent;min-width:0;width:100%;font:17px var(--sans);color:#151515;height:100%}
.native-notes-search:focus-within{outline:2px solid #b57b21;outline-offset:2px}
.native-notes-search input::placeholder{color:#73737a}
.native-notes-group{margin:0 0 25px}
.native-notes-group>h3{font-size:21px;font-weight:700;line-height:1.5;margin:0 0 8px}
.native-note-list{background:#fff;border-radius:11px;overflow:hidden}
.native-note-row{display:block;width:100%;background:#fff;color:#151515;text-align:left;padding:14px 15px 13px;position:relative}
.native-note-row:not(:last-child):after{content:'';position:absolute;bottom:0;height:.5px;left:15px;right:0;background:#d8d8dc}
.native-note-row:hover{background:#f8f8fa}
.native-note-row strong{font-size:17px;font-weight:600;line-height:1.5;display:block;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.native-note-row>span{font-size:14px;color:#6c6c73;display:flex;gap:9px;line-height:1.6}
.native-note-row time{color:#4f4f54;flex-shrink:0}
.native-note-row>span>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.native-notes-count{min-height:35px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#55555c}
.native-note-detail{background:#fffdf7}
.native-note-paper{padding:0 21px 35px}
.native-note-date{font-size:12px;color:#73716c;text-align:center;margin:9px 0 21px;line-height:1.7}
.native-note-paper h2{font-size:26px;line-height:1.45;font-weight:700;margin:0 0 15px;letter-spacing:0}
.native-note-text{white-space:pre-wrap;font:17px/1.75 var(--sans);color:#171714;overflow-wrap:anywhere;user-select:text}
.native-folders-label{font-size:23px;line-height:1.5;margin:25px 0 10px}
.native-folder-row{display:flex;align-items:center;gap:11px;background:white;color:#a96a00;border-radius:11px;width:100%;padding:14px 15px;min-height:55px}
.native-folder-row span{color:#151515;font-size:17px;flex:1;text-align:left}
.native-folder-row small{color:#73737a;font-size:16px}
.native-folder-row .icon:last-child{color:#a2a2a8;width:15px}
.notes-empty{font-size:16px;color:#727278;text-align:center;padding:30px 0}
.note-options{display:flex;flex-direction:column;gap:1px;background:#d5d5d9;border-radius:12px;overflow:hidden}
.note-options button{padding:16px;background:#fbfbf6;color:#936006;font-size:16px;min-height:48px}
html,body{width:100%;height:100%;min-height:100%;overflow:hidden;background:#182327}
.experience{display:block;width:100%;height:100dvh;min-height:0!important;max-width:none;padding:0!important;margin:0}
.device-area{width:100%;max-width:none;height:100%;margin:0}
.device{width:100%;height:100%!important;min-height:0!important;max-height:none;max-width:none;margin:0;padding:0!important;border:0;border-radius:0!important;box-shadow:none;background:transparent}
.phone-screen{width:100%;height:100%;border-radius:0!important}
.phone-screen:after{display:none}
.screen{height:100%;padding-top:env(safe-area-inset-top)}
.status-bar{height:40px;padding-top:11px;max-width:none}
.home-bar{min-height:36px;padding-bottom:env(safe-area-inset-bottom);flex-basis:36px}
.home-bar:after{width:110px}
.lock-content{padding-top:5vh;max-width:540px;width:100%;margin:0 auto}
.lock-time{font-size:clamp(74px,19vw,112px)}
.lock-screen{background-position:center}
.lock-actions{padding-bottom:max(18px,env(safe-area-inset-bottom));padding-top:12px}
.home-screen .screen-body{padding:12px 24px 0;max-width:540px;width:100%;margin:0 auto}
.home-widgets{gap:20px;margin-bottom:32px}
.widget{min-height:145px;padding:18px}
.app-grid{gap:27px 15px}
.app-tile{width:60px;height:60px;border-radius:16px}
.app-launcher{font-size:11px;gap:8px}
.home-bottom{width:100%;max-width:540px;margin:0 auto;padding:0 14px}
.home-dots{margin:20px 0 15px}
.dock{padding:15px 4px}
.home-middle-note{margin-top:34px;font-size:12px}
.screen-header{height:55px}
.bubble{font-size:14px;padding:10px 12px;line-height:1.65}
.message-main{max-width:min(78%,500px)}
.sender-label{font-size:11px}
.bubble-meta{font-size:9px}
.chat-scroll{padding:10px 15px 20px}
.choice{font-size:13px;min-height:46px;padding:11px 13px}
.choice-list{gap:7px}
.composer-area{padding:9px 12px 0}
.composer-note,.choice-caption{font-size:10px}
.draft-field input{font-size:14px}
.composer{min-height:42px}
.photo-grid{gap:3px}
.photo-caption{font-size:14px;line-height:1.9}
.photo-full{max-height:50%}
.document-body{font-size:15px;line-height:2}
.note-row strong{font-size:15px}.note-row p{font-size:12px}
.mail-copy strong{font-size:14px}.mail-copy p{font-size:12px}.mail-copy .from{font-size:12px}
.contact-avatar{background:#e1e4da;display:inline-flex;align-items:center;justify-content:center;color:#75816f}
.contact-avatar .icon{width:27px;height:27px;stroke-width:1.4}
.contact-avatar.small .icon{width:20px;height:20px}
.caller .contact-avatar{width:88px;height:88px;border-radius:50%;background:#dce2d72e;color:#e4ecdf}
.caller .contact-avatar .icon{width:45px;height:45px}
.phone-toast>.contact-avatar{width:32px;height:32px;border-radius:11px;flex-shrink:0}
.phone-toast>.contact-avatar .icon{width:22px;height:22px}
.profile .contact-avatar{width:100px;height:100px}
.call-line{font-size:15px;line-height:1.9}.call-line small{font-size:11px}
.ending-prose{font-size:15px;line-height:2.2}.ending-body{max-width:600px;width:100%;margin:0 auto;padding-top:35px}
.ending-personal{font-size:14px}.ending-line{font-size:14px}
#toast{bottom:max(45px,env(safe-area-inset-bottom));font-size:12px}
.modal-close{background:#e9edde}
.app-launcher{text-decoration:none}
.app-tile.messages{background:linear-gradient(#66d87b,#31b44f);color:white}
.app-tile.camera{background:linear-gradient(#e9e9eb,#b9bcc1);color:#35373b}
.app-tile.youtube{background:white}.app-tile.youtube svg{width:42px;height:42px}
.home-screen .screen-body{padding-top:8px}
.home-screen .home-widgets{margin-bottom:24px}
.home-screen .app-grid{row-gap:23px}
.home-screen .home-middle-note{margin-top:24px;font-size:11px}
.sms-screen{background:#fff;color:#121416}
.sms-search-label{display:flex;align-items:center;gap:8px;margin:0 20px 18px;background:#ededf0;border-radius:10px;padding:10px;color:#77787e;font-size:14px}
.sms-search-label .icon{width:17px;height:17px}
.sms-list-row{display:flex;gap:11px;width:100%;background:white;padding:17px 18px;text-align:left;color:#17191a;border-bottom:.5px solid #dadde0;align-items:center}
.sms-list-row>span:nth-child(2){flex:1;min-width:0}
.sms-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#d7dbe0;color:white;flex-shrink:0}
.sms-list-row strong{font-size:16px;font-weight:600}
.sms-list-row p{font-size:13px;line-height:1.5;color:#7a7c81;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0}
.sms-list-row time{font-size:11px;color:#777c80;white-space:nowrap;align-self:flex-start;margin-top:3px}
.sms-list-row>.icon{width:13px;color:#9aa1a5}
.sms-thread .screen-header{background:#f5f5f6;border-bottom:.5px solid #d8dce0}
.sms-history{display:flex;flex-direction:column;gap:13px;padding:20px 16px}
.sms-time{text-align:center;font-size:11px;color:#7e8186;margin-bottom:10px}
.sms-bubble{max-width:82%;background:#e9e9eb;color:#171719;border-radius:18px;padding:10px 13px;line-height:1.6;font-size:15px;align-self:flex-start}
.sms-bubble.mine{align-self:flex-end;background:#38bd53;color:white}
.sms-replies{padding:8px 13px;display:flex;flex-direction:column;gap:7px}
.sms-replies p{text-align:center;color:#777d7c;font-size:11px}
.sms-replies .choice{border-color:#d8dcdf}
.camera-screen{background:#050505;color:white}
.camera-top{display:flex;align-items:center;justify-content:space-between;height:54px;min-height:54px;padding:0 16px}
.camera-top>span{font-size:12px;color:#bdbdbd;letter-spacing:2px}
.camera-text-button{background:transparent;color:inherit;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:12px;padding:0 6px}
.camera-viewfinder{flex:1;min-height:100px;position:relative;overflow:hidden;background:#202020}
.camera-viewfinder>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s;filter:brightness(.65)}
.camera-viewfinder.flash-on>img{filter:brightness(.95)}
.camera-grid-lines{position:absolute;inset:0;background:linear-gradient(to right,transparent 33.1%,#ffffff24 33.2%,#ffffff24 33.4%,transparent 33.5%,transparent 66.4%,#ffffff24 66.5%,#ffffff24 66.7%,transparent 66.8%),linear-gradient(to bottom,transparent 33.1%,#ffffff24 33.2%,#ffffff24 33.4%,transparent 33.5%,transparent 66.4%,#ffffff24 66.5%,#ffffff24 66.7%,transparent 66.8%);pointer-events:none}
.camera-focus-box{position:absolute;width:70px;height:70px;border:1px solid #e6c24c;left:calc(50% - 35px);top:calc(50% - 35px)}
.camera-scene-label{position:absolute;left:16px;top:16px;font-size:11px;color:#fff;text-shadow:0 1px 6px #000}
.camera-zoom{position:absolute;bottom:16px;left:calc(50% - 22px);width:44px;height:44px;border-radius:50%;background:#1119;color:#f3d765;border:1px solid #ffffff40;font-size:14px}
.camera-modes{display:flex;justify-content:center;gap:29px;padding:15px 10px;font-size:12px;color:#bcbcbc;flex-shrink:0}
.camera-modes strong{color:#f7d052;font-weight:500}
.camera-controls{display:flex;justify-content:space-around;align-items:center;padding:8px 12px;flex-shrink:0}
.camera-thumb{width:44px;height:44px;padding:0;border:1px solid #444;border-radius:7px;overflow:hidden}
.camera-thumb img{width:100%;height:100%;object-fit:cover}
.camera-shutter{width:74px;height:74px;border-radius:50%;background:#fff;border:4px solid #070707;outline:3px solid #fff}
.camera-footnote{font-size:10px;text-align:center;color:#a5a5a5;margin:13px 0 5px}
.phone-tabs{display:flex;border-top:.5px solid #d8dddf;justify-content:space-around;padding:6px 10px 2px;background:#fafafa}
.phone-tabs button{background:transparent;color:#7c8587;min-height:48px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;min-width:66px}
.phone-tabs button.active{color:#2a8ad2}
.dial-number{min-height:73px;text-align:center;font-size:31px;letter-spacing:2px;padding:17px 10px}
.dial-grid{display:grid;grid-template-columns:repeat(3,65px);justify-content:center;gap:13px 23px}
.dial-grid button{background:#e9e9ea;color:#111;border-radius:50%;width:65px;height:65px;font-size:29px;font-weight:300}
.dial-controls{display:flex;justify-content:center;position:relative;margin:20px auto 0;width:240px}
.dial-call{display:grid;place-items:center;width:65px;height:65px;background:#39bd5a;color:white;border-radius:50%}
.dial-controls>.icon-btn{position:absolute;right:0;top:11px}
.safari-screen{background:#f6f5f1;color:#202322}
.safari-start{padding:35px 22px 20px;background:linear-gradient(#e1e8e6,#f5f4ef);min-height:100%}
.safari-start h2{font-size:23px;margin:20px 0 18px}
.safari-favorites{display:grid;grid-template-columns:repeat(4,1fr);gap:17px 10px;margin-bottom:35px}
.safari-favorites button{display:flex;flex-direction:column;align-items:center;gap:9px;background:transparent;color:#343d37;padding:0;min-width:0}
.safari-favorites button>span{width:57px;height:57px;border-radius:13px;display:grid;place-items:center;background:#ffffffbf;box-shadow:0 2px 6px #23352d0d;color:#6b8370}
.safari-favorites strong{font-size:10px;line-height:1.5;font-weight:400;text-align:center}
.safari-history-row{width:100%;padding:17px 14px;display:flex;align-items:center;gap:12px;text-align:left;background:#fff9;color:#425046;border-radius:10px;margin-bottom:3px}
.safari-history-row span{flex:1;font-size:13px}
.safari-history-row>.icon{width:17px}
.safari-history-row>.icon:last-child{width:13px;color:#8b978d}
.safari-article{padding:35px 25px;font-family:var(--serif);color:#303a30;max-width:650px;margin:auto}
.safari-article>small{font:10px var(--sans);color:#7e8978;letter-spacing:1px}
.safari-article h2{font-size:27px;font-weight:500;line-height:1.65;margin:25px 0}
.safari-article p{white-space:pre-line;font-size:16px;line-height:2.1}
.safari-article a{font-size:13px;color:#476e56;display:inline-block;padding:12px 0}
.safari-address{display:flex;align-items:center;gap:8px;margin:9px 15px 3px;background:#e5e7e5;border-radius:13px;padding:0 10px;min-height:44px;flex-shrink:0;box-shadow:0 1px 3px #26392b10}
.safari-address>span .icon{width:14px;height:14px;color:#718074}
.safari-address input{min-width:0;flex:1;font:14px var(--sans);background:transparent;color:#29352b;outline:none;border:0;height:44px;text-align:center}
.safari-address button{background:transparent;min-width:36px;min-height:44px;color:#6e7c6f;display:grid;place-items:center}
.safari-address button .icon{width:18px;height:18px}
.safari-toolbar{display:flex;justify-content:space-between;min-height:45px;padding:0 13px;color:#3272b2}
.call-current{border-top:1px solid #d1dfcc25;margin-top:15px;padding-top:4px}
.call-current .call-line{font-size:16px}
.screen,.message,.call-line,.phone-toast{animation:none}
.call-choices{padding:8px 18px 10px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}
.call-choice{background:#d9e5d512;border:1px solid #a4b79d70;border-radius:10px;padding:13px 14px;color:#f1f4e7;text-align:left;line-height:1.5;font-size:13px;min-height:47px}
.call-choice:hover{background:#d9e5d528}
.voice-replay{display:flex;align-items:center;gap:8px;background:#ffffff12;color:#d3dfce;border-radius:20px;min-height:36px;padding:7px 14px;font-size:11px;margin:0 0 20px}
.voice-replay .icon{width:16px;height:16px}
@media(max-height:740px){.home-screen .app-grid{row-gap:19px}.home-screen .home-widgets{margin-bottom:18px}.home-screen .home-middle-note{margin-top:17px}.home-screen .app-tile{width:51px;height:51px}.home-screen .home-widgets .widget{min-height:116px}.camera-controls{padding-top:5px;padding-bottom:5px}.camera-shutter{width:65px;height:65px}.dial-grid{grid-template-columns:repeat(3,55px);gap:10px 23px}.dial-grid button{width:55px;height:55px;font-size:26px}.dial-number{min-height:60px;font-size:27px;padding:12px}.dial-controls{margin-top:15px}}
@media(max-height:740px){.home-widgets{margin-bottom:23px}.widget{min-height:124px;padding:14px}.home-middle-note{margin-top:23px}.home-screen .screen-body{padding-top:5px}.app-grid{gap:23px 12px}.app-tile{width:55px;height:55px}.lock-content{padding-top:20px}.lock-time{font-size:80px}.home-dots{margin:11px 0 12px}.dock{padding:12px 4px}}
@media(max-height:570px){.screen-body{overflow:auto}.home-screen .screen-body{overflow:auto}.home-widgets{margin-bottom:18px}.home-middle-note{display:none}.widget{min-height:115px}.app-grid{gap:16px 12px}.home-dots{margin:8px 0}.home-bar{min-height:26px;flex-basis:26px}.lock-content{padding-top:8px}.lock-time{font-size:64px}.lock-spacer{min-height:12px}.lock-note{margin-top:10px}.lock-actions{padding-top:0;padding-bottom:8px}.lock-glyph{display:none}}
/* Reference-led iPhone home screen. */
.home-screen.wallpaper{background:#ffcbbd url('assets/ios-wallpaper.svg') center/cover;color:#fff;max-width:none;margin:0}
.home-screen .status-bar{height:62px;padding:21px 30px 0;font-size:17px;line-height:20px}
.home-screen .status-right{gap:6px;padding-top:2px}.home-screen .status-right svg{width:18px;height:16px;stroke-width:2.8}.home-screen .battery{width:25px;height:12px;border-width:1.5px}
.home-screen .screen-body{width:100%;max-width:540px;margin:0 auto;padding:12px 24px 0;overflow:auto}
.home-screen .home-widgets{gap:20px;margin:0 0 24px;grid-template-columns:repeat(2,minmax(0,1fr))}
.home-screen .widget{aspect-ratio:1;min-height:0;border-radius:25px;padding:15px;text-align:left;background:#fff;box-shadow:none;overflow:hidden;color:#161618}
.home-screen .widget.weather{background:linear-gradient(150deg,#4086d4,#67a4e7);color:white;display:flex;flex-direction:column}
.home-screen .widget-label{font-size:17px;font-weight:600;display:flex;align-items:center;gap:4px}.home-screen .widget-label .icon{width:13px;height:13px;fill:white}
.home-screen .temperature{font-size:48px;line-height:1.06;font-weight:300;letter-spacing:-2px;margin-top:5px}
.weather-widget-bottom{margin-top:auto;display:flex;flex-direction:column;gap:3px;font-size:14px;font-weight:500}.weather-widget-bottom .icon{width:24px;height:24px;stroke-width:1.7}
.home-screen .month-widget{padding:14px 12px 10px}.month-widget-title{color:#ff463f;font-size:14px;display:block;margin-bottom:6px}
.mini-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px 0;text-align:center;font-size:10px;line-height:17px;font-weight:500;color:#171717}.mini-month>span{height:17px;display:grid;place-items:center}.mini-month .mini-week{font-weight:600;color:#909093;font-size:10px}.mini-month .sunday{color:#ff625c}.mini-month .mini-today{border-radius:50%;background:#ff453b;color:white;justify-self:center;width:17px}
.home-screen .app-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:23px 19px;padding:0 3px}
.home-screen .app-launcher{min-width:0;gap:7px;padding:0;overflow:visible;align-items:center;color:#fff;font-family:var(--sans);font-size:12px;line-height:17px;font-weight:400}
.home-screen .app-label{text-shadow:0 1px 3px #0005;white-space:nowrap}
.home-screen .app-tile{width:64px;height:64px;border-radius:15px;box-shadow:0 2px 5px #13264a12;position:relative;display:flex;align-items:center;justify-content:center;overflow:visible}
.home-screen .app-tile>svg{width:100%;height:100%;stroke:none;fill:none}
.home-screen .app-tile.kakao{background:#ffe500}.home-screen .app-tile.photos,.home-screen .app-tile.calendar,.home-screen .app-tile.youtube,.home-screen .app-tile.safari{background:#fff}
.home-screen .app-tile.phone,.home-screen .app-tile.messages{background:linear-gradient(#51ef68,#08bb36)}
.home-screen .app-tile.notes{background:linear-gradient(#ffdb43 0 26%,white 26%);overflow:hidden}
.home-screen .app-tile.mail{background:linear-gradient(#55bdff,#0873e7)}
.home-screen .app-tile.camera,.home-screen .app-tile.settings{background:linear-gradient(#e2e4e9,#a9adb4)}
.home-screen .app-tile.clock{background:#050505}.home-screen .app-tile.weather{background:linear-gradient(#138cfa,#64c6ff)}
.home-screen .app-tile.calendar{flex-direction:column;gap:0;color:#080808}.home-screen .calendar-mini{font-size:10px;color:#ff443b;font-weight:500;line-height:15px;margin:0}.home-screen .calendar-number{font-size:41px;line-height:40px;font-weight:300;letter-spacing:-2px}
.home-screen .badge{background:#ff3b30;color:#fff;border:0;top:-8px;right:-8px;min-width:23px;height:23px;border-radius:20px;font-size:14px;line-height:23px;padding:0 5px;font-weight:500}
.home-screen .home-bottom{padding:0 12px;width:100%;max-width:540px;align-self:center}
.home-screen .home-dots{height:33px;margin:0 0 9px;display:flex;align-items:center;justify-content:center;gap:10px}.home-screen .home-dots i{background:#fff;width:7px;height:7px;opacity:.9;box-shadow:none}
.home-screen .dock{background:#fff5;border:1px solid #ffffff0d;backdrop-filter:blur(25px) saturate(1.3);-webkit-backdrop-filter:blur(25px) saturate(1.3);border-radius:32px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:15px 12px;margin:0;width:100%}
.home-screen .dock .app-label{display:none}.home-screen .dock .app-launcher{gap:0}.home-screen .dock .app-tile{width:64px;height:64px}
.home-screen .home-bar{min-height:26px;flex-basis:26px}.home-screen .home-bar:after{width:135px;height:5px;background:white}
.recorded-call{background:linear-gradient(150deg,#3e4750,#1d2634 62%,#252d3c);color:white}.recorded-caller{text-align:center;padding:15px 20px 8px;flex-shrink:0}.recorded-caller .avatar{width:74px;height:74px;border-radius:50%;background:#ffffff18;color:#ffffffb0}.recorded-caller .avatar .icon{width:37px;height:37px}.recorded-caller h2{font:400 30px/1.4 var(--sans);margin:12px 0 2px}.recorded-caller p{color:#ffffff9c;margin:0;font-size:14px}.recorded-caller time{display:block;font-size:16px;margin-top:12px;color:#ffffffb0;font-variant-numeric:tabular-nums}
.call-reading{display:none;overflow:auto;flex:1;min-height:0;margin:12px 18px;padding:18px;background:#ffffff0b;border:1px solid #ffffff13;border-radius:18px}.call-reading.is-open{display:block}.call-reading-label{font-size:12px;color:#ffffff80;margin-bottom:17px}.call-reading .call-line{color:#f4f5f7;margin:0 0 23px;font-size:15px;line-height:1.9}.call-reading .call-line small{display:block;font-size:11px;color:#ffffff75;margin-bottom:5px}
.call-listening{flex:1;min-height:70px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#ffffff90;font-size:13px;gap:12px}.call-listening.is-hidden{display:none}.listening-symbol .icon{width:34px;height:34px;stroke-width:1.1;color:#ffffffb0}.recorded-call-bottom{padding:8px 15px max(22px,env(safe-area-inset-bottom));flex-shrink:0}.recorded-controls{display:flex;justify-content:center;gap:32px;margin-bottom:24px}.recorded-controls button{background:none;color:#fff;display:flex;flex-direction:column;align-items:center;gap:7px;min-width:56px;padding:0}.recorded-controls button>span{background:#ffffff1c;border-radius:50%;width:56px;height:56px;display:grid;place-items:center;font-size:23px}.recorded-controls small{font-size:12px;color:#ffffffd0}.recorded-controls button[aria-pressed=true]>span{background:#ffffffce;color:#26313c}.recorded-hangup{width:65px;height:65px;border-radius:50%;background:#ff453a;display:grid;place-items:center;margin:0 auto 15px;color:white}.recorded-hangup .icon{width:29px;height:29px;transform:rotate(135deg)}.recorded-call .call-mode-label{font-size:11px;text-align:center;color:#ffffff70;margin:0}.recorded-call .call-choices{padding:0 10px 20px}.recorded-call .call-choice{text-align:center;background:#ffffff12;border-color:#ffffff48}
@media(min-width:600px){.home-screen .screen-body{padding-top:12px}.home-screen .app-tile,.home-screen .dock .app-tile{width:76px;height:76px}.home-screen .app-grid{row-gap:28px}.mini-month{font-size:13px;line-height:23px;gap:5px}.mini-month>span{height:23px}.mini-month .mini-today{width:23px}.home-screen .temperature{font-size:62px}.home-screen .month-widget{padding:17px}.home-screen .widget-label{font-size:21px}}
@media(max-width:360px){.home-screen .screen-body{padding-left:19px;padding-right:19px}.home-screen .home-widgets{gap:15px}.home-screen .app-tile,.home-screen .dock .app-tile{width:58px;height:58px}.home-screen .app-grid{gap:22px 16px}.home-screen .widget{padding:12px;border-radius:23px}.home-screen .month-widget{padding:11px 9px}.mini-month{gap:1px 0;font-size:9px}.home-screen .dock{padding:14px 9px;gap:12px}}
@media(max-height:700px){.home-screen .status-bar{height:49px;padding-top:15px}.home-screen .screen-body{padding-top:7px}.home-screen .home-widgets{margin-bottom:20px}.home-screen .app-grid{row-gap:18px}.home-screen .home-dots{height:23px;margin-bottom:5px}.home-screen .dock{padding-top:10px;padding-bottom:10px}.recorded-caller{padding-top:5px}.recorded-caller .avatar{width:55px;height:55px}.recorded-caller h2{font-size:25px;margin-top:6px}.recorded-controls{margin-bottom:15px}.recorded-call-bottom{padding-bottom:14px}}
.recorded-call .call-reading{background:transparent;border:0;border-radius:0;margin:10px 20px 18px;padding:12px 10px 35px;scroll-behavior:smooth;position:relative;overscroll-behavior:contain;scrollbar-width:none;mask-image:linear-gradient(transparent,#000 12px,#000 calc(100% - 10px),transparent)}
.recorded-call .call-reading-label{position:relative;font-size:11px;letter-spacing:2px;color:#fff6;margin-bottom:22px}
.recorded-call .subtitle-line{color:#ffffff69;font-size:16px;line-height:1.85;white-space:pre-line;padding:0 0 0 14px;border-left:2px solid transparent;transition:color .2s;overflow-wrap:anywhere;margin-bottom:25px}
.recorded-call .subtitle-line small{display:none}.recorded-call .subtitle-line.is-current{color:#fff;border-left-color:#fee500;font-weight:500;font-size:18px}
@media(prefers-reduced-motion:reduce){.recorded-call .call-reading{scroll-behavior:auto}.recorded-call .subtitle-line{transition:none}}
.contact-avatar{overflow:hidden}.contact-avatar>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 36%}
/* The last ten minutes, played through the phone. */
.gate-current-label{text-align:center;font-size:11px;color:#637483;margin:5px 0 10px}.gate-chat-composer{padding:8px 15px 12px;flex-shrink:0;border-top:1px solid #0000000a;background:#f9faf9}.gate-choice-list{display:flex;flex-direction:column;gap:8px;width:100%;max-width:620px;margin:auto}.gate-choice{min-height:48px;padding:12px 15px;background:#fff;color:#243129;border:1px solid #d9dfd7;border-radius:13px;font:14px/1.6 var(--sans);text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px}.gate-choice .icon{width:15px;height:15px;flex-shrink:0;color:#9ba69d}.gate-choice:active{background:#f0f3ec}.gate-chat .chat-scroll{padding-bottom:20px}.gate-voice{padding:12px 0}.gate-voice audio{width:100%;max-width:350px;height:44px}
.gate-scene{background:#15171a;color:#efece5}.gate-scene-header{display:flex;align-items:center;justify-content:space-between;padding:0 18px 8px;flex-shrink:0;min-height:42px;font-size:12px;color:#d8d5ce}.gate-scene-header button{background:none;color:inherit;min-width:44px;min-height:44px;display:grid;place-items:center}.gate-scene-header>span:last-child{width:44px;text-align:center;color:#8c9397}.gate-scene-header .icon{width:19px;height:19px}.gate-scene-scroll{overscroll-behavior:contain}.gate-door-picture{height:220px;max-width:620px;overflow:hidden;position:relative;margin:auto;background:radial-gradient(ellipse at 65% 10%,#b2956e25,transparent 58%),linear-gradient(110deg,#262523,#34312b 70%,#211f1b);perspective:700px}.gate-door-frame{position:absolute;top:13px;left:calc(50% - 63px);height:180px;width:126px;background:#f8dab1;box-shadow:0 0 4px #e2c49b50,0 0 0 7px #161713,0 0 0 9px #645d4b;perspective:500px}.gate-door-panel{position:absolute;inset:0 1px 2px 0;background:linear-gradient(90deg,#342d25,#4a4035 65%,#514334);transform-origin:left;box-shadow:inset 0 0 0 3px #312b23}.gate-door-panel:before,.gate-door-panel:after{content:'';position:absolute;left:17px;right:17px;border:2px solid #29251f;box-shadow:0 1px 0 #6b5b4530}.gate-door-panel:before{top:18px;height:60px}.gate-door-panel:after{top:91px;bottom:18px}.gate-door-panel>i{position:absolute;top:87px;right:9px;width:5px;height:14px;border-radius:3px;background:#b7a77f;z-index:2}.gate-door-panel>i:after{content:'';position:absolute;top:3px;right:1px;width:15px;height:4px;border-radius:5px;background:#d5c59b;box-shadow:0 2px 3px #0008}.gate-door-panel>span{position:absolute;top:36px;left:60px;width:4px;height:4px;border-radius:50%;background:#141713;box-shadow:0 0 0 2px #a5926c55}.gate-floor-light{position:absolute;left:calc(50% - 62px);top:191px;width:124px;height:100px;background:linear-gradient(#ffe2b84f,transparent);clip-path:polygon(0 0,100% 0,155% 100%,-55% 100%)}.gate-door-picture.is-open .gate-door-panel{transform:rotateY(-67deg);filter:brightness(.7)}.gate-door-picture.is-open .gate-door-frame{background:linear-gradient(90deg,#d0ac7a,#f7dfbd)}.gate-door-picture.is-open .gate-floor-light{background:linear-gradient(#ffe3b694,transparent)}.gate-door-picture.is-warm{height:155px;background:radial-gradient(ellipse at 50% 125%,#e6b46c55,transparent 67%),linear-gradient(100deg,#312a22,#4b3b2a 50%,#2f2923)}.gate-door-picture.is-warm .gate-door-frame{opacity:.2;filter:blur(4px);transform:scale(.7);top:-50px}.gate-door-picture.is-warm .gate-floor-light{display:none}.gate-two-cups{position:absolute;bottom:15px;left:calc(50% - 70px);width:140px;height:40px;border-bottom:2px solid #9d7d5433;display:flex;gap:21px;align-items:flex-end;justify-content:center}.gate-two-cups i{display:block;width:28px;height:30px;border-radius:2px 2px 10px 10px;background:linear-gradient(90deg,#b4ab94,#e0d6bb);position:relative;box-shadow:3px 2px 8px #0004}.gate-two-cups i:nth-child(2){width:24px;height:28px;background:linear-gradient(90deg,#6b8278,#94a99b)}.gate-two-cups i:after{content:'';width:9px;height:13px;border:3px solid #b4ab94;border-radius:6px;position:absolute;right:-9px;top:5px}
.gate-scene-copy{padding:25px 26px 35px;max-width:620px;margin:auto}.gate-scene-copy>p{white-space:pre-line;font:16px/2 var(--serif);margin:0;letter-spacing:.1px;overflow-wrap:anywhere}.gate-close-speech{border-left:1px solid #d4bb8b66;padding-left:17px;margin:28px 0 5px}.gate-close-speech p{font:16px/1.9 var(--sans);margin:8px 0;color:#f3e2c2}.gate-scene-footer{padding:12px 18px 9px;flex-shrink:0;background:linear-gradient(#15171a,#191b1c)}.gate-scene .gate-choice{background:#ffffff08;border-color:#8a897d55;color:#f3ede1}.gate-scene .gate-choice:active{background:#ffffff17}.gate-scene .home-bar{color:#d8d8cf}
.gate-morning{background:linear-gradient(#080f2020,transparent),url('assets/ios-wallpaper.svg') center/cover;color:white;padding:0 21px}.gate-morning>.status-bar{padding-left:6px;padding-right:6px}.gate-morning-clock{text-align:center;margin-top:35px}.gate-morning-clock p{font-size:17px;margin:0 0 7px}.gate-morning-clock strong{font:300 85px/1.1 var(--sans);letter-spacing:-5px}.gate-morning-clock>span{display:block;margin-top:10px;font-size:12px}.gate-morning-spacer{flex:1;min-height:40px}.gate-morning .notification{backdrop-filter:blur(25px);background:#ffffffc4}.gate-morning-note{text-align:center;color:#ffffffeb;font-size:12px;line-height:1.8;margin:30px 0 12px;text-shadow:0 1px 5px #0007}.gate-morning-unlock{background:none;color:#fff;min-height:50px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px}.gate-morning-unlock .icon{width:17px}.gate-morning .home-bar{width:calc(100% + 42px);margin-left:-21px}
.gate-contact-screen{background:#f2f2f7;color:#171719}.gate-contact-nav{display:flex;align-items:center;justify-content:space-between;height:53px;min-height:53px;padding:0 21px;font-size:15px;border-bottom:.5px solid #dadade}.gate-contact-nav>span{color:#007aff;font-size:15px}.gate-contact-nav strong{font-weight:600;font-size:16px}.gate-contact-nav>span:last-child{color:#929297;transition:color .4s}.gate-contact-nav>span.is-saving{color:#007aff}.gate-contact-body{padding:48px 25px}.gate-contact-body>.avatar{display:flex;width:104px;height:104px;border-radius:50%;margin:0 auto 43px}.gate-contact-hint{font-size:12px;color:#85858b;margin:0 0 9px 14px}.gate-contact-field{display:flex;align-items:center;background:white;border-radius:11px;min-height:57px;padding:12px 17px;font-size:22px;letter-spacing:.3px}.gate-contact-field i{width:2px;height:25px;background:#007aff;display:block;margin-left:2px}.gate-rename-caption{font-size:13px;color:#7c7c83;line-height:1.8;margin:20px 13px}.gate-complete-body{text-align:center;padding:35px 24px 30px;max-width:600px;width:100%;margin:auto}.gate-complete-body>.avatar{width:100px;height:100px;border-radius:50%;margin:auto}.gate-complete-body>h2{font-size:30px;font-weight:500;margin:17px 0 8px}.gate-saved{display:flex;align-items:center;justify-content:center;gap:4px;font-size:12px;color:#7e8781}.gate-saved .icon{width:15px;height:15px;color:#38a46b}.gate-complete-body>p{font:15px/1.9 var(--serif);color:#747779;margin:31px 0}.gate-final-actions{display:flex;flex-direction:column;gap:11px}.gate-final-actions button{min-height:48px;padding:12px 16px;font:14px var(--sans);color:#34704e;background:#fff;border-radius:12px}.gate-final-actions button:first-child{background:#2c6349;color:#fff}.gate-ending-stamp{margin:35px 0 17px;font:12px var(--serif);letter-spacing:2px;color:#838784}.gate-replay-links{display:flex;gap:18px;justify-content:center}.gate-replay-links button{background:none;color:#939694;font-size:11px;min-height:35px}.gate-recall{text-align:center}.gate-recall>.avatar{display:flex;width:73px;height:73px;border-radius:50%;margin:30px auto 15px}.gate-recall-date{font-size:11px;color:#7a807a;display:block;margin-top:20px}.gate-recall h2{font-size:23px!important;margin:12px 0 20px!important}.gate-recall audio{width:100%;height:48px;margin:8px 0}.gate-recall p{font-size:14px!important;line-height:2!important}.gate-recall-entry{background:#eef4ef;color:#3c6e51;border-radius:12px;padding:16px;text-align:left;width:calc(100% - 36px);margin:0 18px 20px;font-size:14px}.gate-mail-reply{white-space:normal;margin:25px 0;padding:18px;background:#edf3ed;border-radius:12px}.gate-mail-reply button{background:#317047;color:#fff;padding:13px;border-radius:9px;min-height:44px;font:14px/1.6 var(--sans)}.gate-mail-reply strong{font:600 14px var(--sans);color:#317047}.gate-mail-reply p{font:14px/1.8 var(--sans);color:#536356}
@media(max-height:700px){.gate-door-picture{height:170px}.gate-door-frame{transform:scale(.8);transform-origin:top center}.gate-floor-light{top:155px}.gate-door-picture.is-warm{height:115px}.gate-scene-copy{padding:20px 22px 28px}.gate-scene-copy>p{font-size:15px}.gate-scene-footer{padding-top:9px}.gate-morning-clock{margin-top:18px}.gate-morning-clock strong{font-size:75px}.gate-contact-body{padding-top:27px}.gate-contact-body>.avatar{margin-bottom:30px;width:85px;height:85px}.gate-complete-body{padding-top:20px}.gate-complete-body>.avatar{width:75px;height:75px}.gate-complete-body>p{margin:22px 0}.gate-ending-stamp{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.gate-contact-nav>span:last-child{transition:none}}
.gate-morning-note{color:#6d5a50;text-shadow:none}.gate-morning-unlock{color:#584b44}.gate-contact-nav>span.is-saving{background:#007aff12;border-radius:7px;padding:6px 8px;transform:scale(.95)}
/* Continuous, user-paced arrival; already-read paragraphs stay on the page. */
.gate-reader{background:#111214;color:#eee9e1;isolation:isolate;position:relative}
.gate-reader:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 92% 62%,#84634124,transparent 70%),linear-gradient(105deg,#101215,#1e1b18);pointer-events:none}
.gate-reader-close:before{background:radial-gradient(ellipse at 90% 70%,#a47d4127,transparent 74%),#171613}
.gate-reader-top{display:flex;align-items:center;gap:12px;padding:env(safe-area-inset-top) 14px 0;min-height:62px;flex-shrink:0;color:#b5aaa0;font-size:11px;letter-spacing:2px}
.gate-reader-top button{display:grid;place-items:center;min-width:44px;min-height:44px;background:none;color:#a9a39d}.gate-reader-top .icon{width:17px;height:17px}
.gate-reader-scroll{padding:24px 30px 45px;overscroll-behavior:contain;scrollbar-width:none;scroll-padding:30px}
.gate-reader-copy{max-width:540px;margin:auto;padding:7vh 0 4vh}
.gate-reader-copy p{font:17px/2.15 var(--serif);letter-spacing:.35px;margin:0 0 30px;white-space:pre-line;overflow-wrap:anywhere}
.gate-reader-copy p.is-new{animation:gate-reveal .65s ease-out both}
@keyframes gate-reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.gate-reader-bottom{flex-shrink:0;padding:12px 24px max(24px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#121211)}
.gate-read-next{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;background:none;color:#c4b6a6;min-height:48px;font:13px var(--sans);letter-spacing:2px}
.gate-read-next span{font-size:18px}.gate-reader .gate-choice{background:#ffffff04;color:#ede6da;border-color:#a6957c55;font-size:14px;border-radius:6px}
.gate-contact-buttons{display:flex;gap:12px;margin:28px 0 40px;justify-content:center}
.gate-contact-buttons button{background:white;border-radius:12px;min-height:65px;padding:12px 25px;color:#007aff;font:12px var(--sans);display:flex;align-items:center;flex-direction:column;gap:7px}
.gate-contact-buttons .icon{width:22px;height:22px}.gate-last-message{width:100%;text-align:left;background:#fff;box-shadow:0 4px 25px #00000005}.gate-last-message .notification-text p{font-size:14px;line-height:1.8}.gate-complete-body .gate-last-sound{font:14px/2 var(--serif);color:#737377;margin-top:38px}
.gate-chat .gate-current-label:empty{display:none}.composer-note:empty,.choice-caption:empty{display:none}
@media(max-height:700px){.gate-reader-copy{padding-top:2vh}.gate-reader-copy p{font-size:16px;margin-bottom:24px}.gate-reader-scroll{padding-top:14px}.gate-contact-buttons{margin:20px 0 25px}}
@media(prefers-reduced-motion:reduce){.gate-reader-copy p.is-new{animation:none}}

/* Recorded memory: persistent audio controls, incremental captions without flashing. */
.recorded-memory .gate-reader-copy{padding-top:2vh;padding-bottom:16px}
.recorded-memory .memory-intro{color:#c6bbb0;font-size:15px}
.recorded-memory .memory-spoken{color:#d0c5b9;margin-bottom:20px}
.recorded-memory .memory-narration{color:#b9afa5;font-size:15px;line-height:2;margin-bottom:30px}
.recorded-memory .is-current{color:#fff5e8}
.memory-audio-dock{flex-shrink:0;padding:12px 20px max(14px,env(safe-area-inset-bottom));background:#171716;border-top:1px solid #ffffff15}
.memory-audio-note{font-size:12px;line-height:1.7;color:#c6bbb0;margin:0 0 9px}
.memory-audio{display:block;width:100%;height:44px;color-scheme:dark}
.memory-audio-actions{display:flex;justify-content:space-between;gap:12px;margin-top:6px}
.memory-audio-actions button{display:flex;align-items:center;gap:8px;background:none;color:#e7d7c4;min-height:44px;padding:6px 9px;font-size:14px}
.memory-audio-actions .icon{width:17px;height:17px}
.memory-audio-actions button:focus-visible,.memory-audio:focus-visible{outline:2px solid #ead0ab;outline-offset:3px}

/* User-selected photos: preserve the originals and crop only in the UI. */
.wallpaper,.home-screen.wallpaper{background-color:#46483f;background-image:linear-gradient(180deg,rgba(14,20,19,.38),rgba(14,20,19,.08) 42%,rgba(14,20,19,.22)),url('assets/phone-wallpaper-20261022.jpg');background-position:center;background-size:cover;background-repeat:no-repeat;color:white}
.wallpaper .status-bar,.lock-date,.lock-time,.lock-location{text-shadow:0 1px 5px #0008}
.home-screen .app-label{text-shadow:0 1px 4px #000b}
.taehyung-avatar>img{object-position:50% 35%}
.contact-details{max-width:320px;margin:26px auto;text-align:left;border-top:1px solid #d8ddd2}
.contact-details>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid #d8ddd2}
.contact-details dt{font-size:13px;color:#64715e}
.contact-details dd{font-size:15px;margin:0;color:#293628}

/* Sending a reply keeps its choices in place without dimming or shifting. */
.composer-area .choice[data-action="choose"]:disabled{opacity:1;cursor:default}
