@font-face{font-family:PhoneSans;src:local("Roboto"),local("Arial");font-display:swap}
:root{font-family:PhoneSans,"Noto Sans JP","Yu Gothic UI",sans-serif;color:#202124;background:#12171e;font-synthesis:none;-webkit-font-smoothing:antialiased;--accent:#d3e6ff;--ink:#202124;--muted:#59636e;--line:#dde0e5;--scale:1}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overscroll-behavior:none}
html,body{overflow:hidden}
body{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 25%,#2a3441,#12171e 70%)}
button,input,textarea,select{font:inherit;color:inherit}
button{border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #111;outline-offset:2px;box-shadow:0 0 0 5px #ffd53d}
input,textarea{font-size:18px}
a{color:inherit}
button:disabled{cursor:default}
#viewport{position:relative;width:calc(414px * var(--scale));height:calc(920px * var(--scale))}
#phone{position:absolute;left:0;top:0;width:414px;height:920px;transform:scale(var(--scale));transform-origin:top left;overflow:hidden;isolation:isolate;background:#f8f9fa;border-radius:0;box-shadow:0 0 0 7px #080a0e,0 25px 90px #0008;container-type:inline-size;user-select:none;-webkit-user-select:none}
.wallpaper{position:absolute;inset:0;z-index:-2;background:linear-gradient(#41516b,#2a5365 45%,#172e44);background-image:linear-gradient(#17263718,#07182955),url('/naoko/assets/wallpaper.webp');background-size:cover;background-position:center;transition:filter .32s}
#phone.is-home .wallpaper{filter:brightness(.84)}
#status{position:absolute;z-index:16;top:0;left:0;width:100%;height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 23px;color:#fff;font-size:15px;font-weight:500;letter-spacing:.2px}
#status .status-left,#status .status-right{display:flex;align-items:center;gap:6px}
#status .status-right{gap:3px}
#status .icon{width:17px;height:17px}
#status .battery-label{font-size:14px;margin-left:1px}
#status .status-notice{width:14px;height:14px;margin-left:3px}
#phone.is-app #status{color:#282d33;background:#fbfcfd}
#phone.is-dark #status{background:transparent;color:#fff}
#screen{position:absolute;inset:42px 0 50px;overflow:hidden}
.page{position:relative;height:100%;display:flex;flex-direction:column;background:#fbfcfd;animation:enter .16s ease-out}
.page-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.page-scroll::-webkit-scrollbar{display:none}
.icon{width:24px;height:24px;display:inline-block;vertical-align:middle;flex:none}
.icon-button{display:grid;place-items:center;min-width:48px;min-height:48px;border-radius:50%;flex:none}
.icon-button:active{background:#00000010}
#system-nav{height:50px;position:absolute;z-index:30;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-around;color:#fff}
#phone.is-app #system-nav{background:#fbfcfd;color:#3c4043}
#phone.is-dark #system-nav{background:#0c1119;color:white}
#system-nav button{height:48px;width:84px;display:grid;place-items:center;color:inherit}
.nav-triangle{width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:11px solid currentColor;opacity:.95}
.nav-circle{width:15px;height:15px;border:2px solid currentColor;border-radius:50%}
.nav-square{width:13px;height:13px;border:2px solid currentColor;border-radius:2px}
.lock{height:100%;position:relative;color:#f4f8ff;touch-action:none}
.notification{touch-action:pan-y}
#status{touch-action:none}
.lock-date{text-align:center;margin:0;padding-top:65px;font-size:19px;letter-spacing:.2px;font-weight:400}
.lock-weather{text-align:center;display:flex;align-items:center;justify-content:center;gap:7px;font-size:17px;margin:7px 0 0;color:#e7eef8}
.lock-weather .icon{width:19px;height:19px}
.lock-clock{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:.92;margin:41px 0 34px;font-size:168px;font-weight:400;letter-spacing:-11px;font-variant-numeric:tabular-nums;color:#d6e5fc;transition:all .35s}
.lock.has-notifications .lock-clock{font-size:105px;line-height:1;flex-direction:row;margin:37px 0 35px;letter-spacing:-5px}
.lock-clock .clock-colon{display:none}
.lock.has-notifications .lock-clock .clock-colon{display:inline}
.lock-owner{position:absolute;bottom:143px;left:0;right:0;text-align:center;font-size:16px;letter-spacing:.05em;color:#f5f8fc}
.unlock{position:absolute;bottom:65px;left:calc(50% - 31px);width:62px;height:62px;border-radius:50%;background:#d3e6ff2e;display:grid;place-items:center;color:#fff;border:1px solid #e6f2ff45}
.unlock .icon{width:32px;height:32px;stroke-width:1.4}
.unlock-caption{position:absolute;bottom:26px;left:0;right:0;text-align:center;font-size:14px;color:#edf3fc}
.lock-shortcut{position:absolute;bottom:5px;background:#d3e6ff26;width:52px;height:52px;border-radius:50%;display:grid;place-items:center}
.lock-shortcut.left{left:28px}.lock-shortcut.right{right:28px}
.lock-shortcut:active{background:#d3e6ff65}
.notification-list{padding:0 13px;display:grid;gap:9px;max-height:360px;overflow:auto;scrollbar-width:none}
.notification{position:relative;width:100%;color:#1e2c38;background:#f1f6f9ed;backdrop-filter:blur(18px);border-radius:23px;box-shadow:0 3px 15px #071a3025;overflow:hidden;transition:transform .18s,opacity .18s}
.notification-main{width:100%;display:flex;align-items:center;gap:13px;padding:13px 17px;text-align:left;min-height:92px}
.notification-copy{min-width:0;flex:1}
.notification-meta{font-size:14px;font-weight:500;display:flex;align-items:center;gap:7px;color:#495563;margin-bottom:3px}
.notification-meta .icon{width:14px;height:14px;color:#138b42}
.notification-title{font-size:17px;line-height:1.4;font-weight:600;display:block}
.notification-body{font-size:16px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:1px}
.notification-time{font-size:14px;color:#5c6874;margin-left:auto}
.avatar{width:46px;height:46px;border-radius:50%;background-color:#d3dfeb;background-size:200% auto;background-position:0 38%;flex:none;display:inline-grid;place-items:center;color:#fff;font-size:20px;font-weight:600}
.avatar.naoko{background-image:url('/naoko/assets/naoko.webp')}
.avatar.shuichi{background-image:url('/naoko/assets/shuichi.webp')}
.avatar.kayo{background-image:url('/naoko/assets/kayo.webp')}
.avatar.ryohei{background-image:url('/naoko/assets/ryohei.webp')}
.home{height:100%;position:relative;color:white;padding:42px 27px 0;display:flex;flex-direction:column}
.glance{color:white;text-align:left;align-self:flex-start;padding:0;min-height:68px}
.glance-date{font-size:22px;letter-spacing:.2px;margin-bottom:9px}
.glance-weather{font-size:17px;display:flex;align-items:center;gap:8px}
.glance-weather .icon{color:#ffeb99;width:20px;height:20px}
.home-clock{font-size:78px;font-weight:400;letter-spacing:-3px;margin:15px 0 6px;font-variant-numeric:tabular-nums;line-height:1.3}
.home-space{flex:1;min-height:40px}
.app-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:12px;row-gap:23px}
.app-link{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;min-width:0;color:inherit;text-decoration:none}
.app-name{font-size:14px;line-height:1.3;white-space:nowrap;text-shadow:0 1px 3px #0009}
.app-wrap{position:relative}
.app-art{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;background:#f6f8fa;box-shadow:0 2px 3px #0001;overflow:hidden}
.app-art svg{width:43px;height:43px}
.line-art{background:#06c755}.line-art svg{width:55px;height:55px}
.photo-art{border-radius:50%}
.photo-art svg{width:47px;height:47px}
.chrome-art{background:white;border-radius:50%}.chrome-art svg{width:57px;height:57px}
.note-art{background:#fff2ac;color:#594b1d}.blog-art{background:#e3d8f6;color:#5d4083}
.news-art{background:#fff;color:#4073bd}.wallet-art{background:#e0f0ee;color:#175c52}
.map-art{background:#fff;color:#407b4c}.settings-art{background:#dce5ed;color:#495d70}
.phone-art{background:#4a8cf5;color:#fff;border-radius:50%}.mail-art{background:#fff;color:#d54c42;border-radius:50%}
.badge-dot{position:absolute;top:1px;right:1px;min-width:17px;height:17px;border:2px solid #c8d6df;border-radius:50%;background:#f4f6ff}
.home-dock{display:flex;justify-content:space-around;margin:31px 4px 23px}
.home-dock .app-art{width:58px;height:58px}
.search-pill{display:flex;align-items:center;justify-content:space-between;background:#f4f7fcf2;color:#555d68;border-radius:35px;width:100%;height:58px;padding:0 20px;margin-bottom:19px;text-decoration:none}
.google-g{font-family:Arial,sans-serif;font-size:29px;font-weight:700;color:#4285f4;line-height:1}
.search-hint{font-size:16px;color:#687280;margin-right:auto;margin-left:15px}
.home-page-dots{display:flex;justify-content:center;gap:6px;padding-top:17px}
.home-page-dots i{height:5px;width:5px;background:#c6d4eaa0;border-radius:50%}.home-page-dots i:first-child{background:white}
.toolbar{height:66px;flex:none;display:flex;align-items:center;gap:1px;padding:6px 10px}
.toolbar h1{font-size:23px;margin:0;line-height:1.3;font-weight:500;flex:1;padding-left:5px;letter-spacing:0}
.toolbar .avatar{width:35px;height:35px;margin:0 5px 0 7px}
.app-header{padding:11px 22px 20px;display:flex;align-items:center;gap:13px}
.app-header h1{font-size:29px;font-weight:600;margin:0;flex:1}
.app-header .avatar{width:35px;height:35px}
.app-bottom{display:flex;justify-content:space-around;flex:none;border-top:1px solid #e7eaef;background:#f8fafd;padding:8px 8px 9px;min-height:73px}
.tab-link{min-width:70px;display:flex;align-items:center;flex-direction:column;gap:3px;text-decoration:none;font-size:14px;color:#525d6c}
.tab-link .tab-mark{display:grid;place-items:center;width:62px;height:29px;border-radius:18px}
.tab-link.active{color:#173b64;font-weight:600}
.tab-link.active .tab-mark{background:#dce9ff}
.line-header{padding-top:15px;padding-bottom:14px}
.line-header h1{font-weight:700;font-size:29px}
.line-top-links{display:flex;gap:23px;padding:0 22px 14px;align-items:center;color:#202124;border-bottom:1px solid #edf0f2;font-size:18px;font-weight:600}
.line-top-links .selected{color:#06a84d;border-bottom:3px solid #06a84d;padding-bottom:11px;margin-bottom:-15px}
.line-search{margin:0 19px 13px;width:calc(100% - 38px);border-radius:8px;background:#f0f2f5;padding:9px 12px;display:flex;align-items:center;gap:9px;color:#69747f;font-size:16px}
.line-search input{border:0;outline-offset:3px;background:transparent;min-width:0;width:100%;padding:2px 0;color:#202124}
.chat-row{display:flex;gap:14px;padding:14px 20px;align-items:center;text-decoration:none;min-height:92px}
.chat-row .avatar{width:56px;height:56px}
.chat-row-copy{flex:1;min-width:0}.chat-row-name{font-size:18px;font-weight:600}
.chat-row-summary{font-size:15px;color:#63707d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px}
.chat-row-side{display:flex;align-items:center;flex-direction:column;align-self:stretch;padding-top:4px;gap:9px;font-size:13px;color:#727d88}
.chat-row .unread{background:#06c755;color:#fff;min-width:22px;height:22px;display:grid;place-items:center;border-radius:12px;padding:0 5px;font-size:13px}
.chat-page{background:#a7bbd2}.chat-page .toolbar{background:#a7bbd2}.chat-page .toolbar h1{font-size:20px}
.chat-bubbles{padding:4px 13px 16px}
.chat-day{display:table;background:#52698575;color:white;padding:3px 11px;border-radius:20px;margin:11px auto 19px;font-size:13px}
.message{display:flex;gap:7px;margin:13px 0;align-items:flex-start}
.message .avatar{width:32px;height:32px;font-size:14px;margin-top:2px}
.message-content{max-width:calc(100% - 45px);display:flex;align-items:flex-end;gap:5px}
.message-bubble{font-size:17px;line-height:1.55;background:#fff;border-radius:17px;padding:10px 13px;white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text}
.message-time{font-size:11px;white-space:nowrap;color:#334b67;min-width:30px;padding-bottom:1px}
.message.mine{justify-content:flex-end}.message.mine .message-content{flex-direction:row-reverse}
.message.mine .message-bubble{background:#b1e78b}
.composer{display:flex;align-items:flex-end;gap:3px;padding:8px;background:#f9fafb;border-top:1px solid #d5dde7;flex:none}
.composer textarea{background:#edf0f3;border:1px solid transparent;resize:none;border-radius:21px;max-height:120px;min-height:44px;flex:1;width:0;line-height:1.45;padding:10px 13px;user-select:text}
.composer .icon-button{width:42px;min-width:42px;height:44px;min-height:44px;color:#526477}
.composer button[type=submit]{color:#06a44e}
.chat-context{padding:8px 14px;font-size:14px;background:#eff4fa;line-height:1.5;color:#405267}
.search-bar{display:flex;gap:10px;align-items:center;background:#e9edf3;border-radius:30px;margin:10px 16px 14px;padding:4px 8px 4px 17px}
.search-bar input{flex:1;min-width:0;border:0;outline-offset:5px;background:transparent;height:46px;padding:0;font-size:17px}
.search-bar .avatar{height:33px;width:33px}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
.photo-tile{aspect-ratio:1;position:relative;border-radius:0;overflow:hidden;display:block;padding:0}
.photo-media{display:block;position:relative;width:100%;height:100%;background-color:#dfe6e8;background-size:200% 300%;background-repeat:no-repeat}
.photo-grid .photo-media{transition:filter .12s}.photo-tile:active .photo-media{filter:brightness(.85)}
.year-header{display:flex;align-items:baseline;justify-content:space-between;padding:23px 18px 11px}
.year-header h2{font-size:23px;font-weight:500;margin:0}.year-header span{font-size:14px;color:#606976}
.years{display:flex;overflow:auto;gap:7px;padding:0 17px 12px;scrollbar-width:none}
.year-chip{flex:none;border:1px solid #bec7d2;padding:7px 13px;border-radius:9px;min-height:40px;font-size:14px;line-height:1.5;text-decoration:none}
.year-chip.selected{background:#dce9ff;border-color:#dce9ff;color:#204b7b}
.photo-viewer{background:#0c1119;color:#fff}
.photo-viewer .toolbar{background:#0c1119}.photo-viewer .toolbar h1{font-size:17px}
.photo-stage{display:flex;align-items:center;justify-content:center;flex:1;min-height:0}
.photo-stage .photo-media{height:auto;aspect-ratio:1;width:100%;max-height:100%}
.photo-details{padding:18px 22px 10px;background:#18202b;user-select:text;-webkit-user-select:text}
.photo-details h2{font-size:19px;margin:0 0 9px}.photo-details p{font-size:15px;line-height:1.7;margin:6px 0;color:#d5dee9}
.photo-details dl{font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.photo-details dt{color:#9caec3}.photo-details dd{margin:0 0 8px}
.photo-actions{display:flex;justify-content:space-around;padding:9px 0 8px;flex:none;background:#0c1119}
.photo-actions button{display:flex;align-items:center;flex-direction:column;gap:6px;font-size:13px;min-width:73px;min-height:58px;color:#e6eaf2}
.photo-actions .saved{color:#a9cdff}
.chrome-page{background:white}.chrome-bar{display:flex;align-items:center;gap:4px;padding:4px 8px}
.address-field{flex:1;min-width:0;background:#edf1f7;border-radius:27px;display:flex;align-items:center;padding:0 13px;color:#586574;font-size:14px;height:45px;overflow:hidden;white-space:nowrap}
.chrome-hero{text-align:center;margin:70px 0 25px;font-family:Arial,sans-serif;font-size:63px;letter-spacing:-4px;font-weight:500}
.chrome-hero span:nth-child(1),.chrome-hero span:nth-child(4){color:#4285f4}
.chrome-hero span:nth-child(2),.chrome-hero span:nth-child(6){color:#ea4335}
.chrome-hero span:nth-child(3){color:#fbbc05}.chrome-hero span:nth-child(5){color:#34a853}
.shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:13px 15px;gap:22px 8px}
.shortcut{font-size:13px;display:flex;align-items:center;flex-direction:column;gap:10px;text-align:center;text-decoration:none}
.shortcut-icon{width:51px;height:51px;background:#edf1f8;border-radius:50%;display:grid;place-items:center;font-size:20px;color:#315782}
.result-card{padding:19px 22px 23px;border-bottom:1px solid #dce3eb}
.result-source{font-size:14px;color:#515c69}.result-card h2{font-size:22px;font-weight:400;color:#164c9b;line-height:1.5;margin:5px 0}
.result-card p{font-size:16px;color:#52606e;line-height:1.65;margin:0}
.document{padding:21px 23px;user-select:text;-webkit-user-select:text;font-size:17px;line-height:1.9}
.document h1{font-size:27px;line-height:1.6;font-weight:600;margin:4px 0 19px}
.document h2{font-size:21px;margin-top:26px}.document p{margin:13px 0}.document .meta{color:#65707e;font-size:14px}
.blog-photo{aspect-ratio:1.35;overflow:hidden;margin:20px -23px}
.blog-photo .photo-media{aspect-ratio:1}
.note-grid{padding:6px 16px;display:grid;grid-template-columns:1fr 1fr;gap:11px}
.note-card{border:1px solid #c8d0da;border-radius:12px;min-height:170px;padding:15px;text-align:left;text-decoration:none}
.note-card strong{font-size:18px;font-weight:500;display:block;margin-bottom:12px}.note-card p{font-size:15px;line-height:1.65;white-space:pre-line;margin:0;color:#56626e}
.note-edit{flex:1;min-height:0;resize:none;background:transparent;border:0;padding:4px 23px 25px;line-height:1.9;font-size:18px}
.wallet-card{background:linear-gradient(120deg,#274648,#315c5d);color:white;border-radius:21px;margin:12px 21px;padding:25px 22px;min-height:180px}
.wallet-card .chip{width:33px;height:26px;border-radius:5px;background:linear-gradient(130deg,#e7e1b2,#a9a57d);margin:25px 0 14px}
.wallet-card p{font-size:15px;margin:5px 0}.wallet-card strong{font-size:20px;letter-spacing:3px}
.list-row{display:flex;align-items:center;gap:15px;padding:15px 23px;min-height:77px;border-bottom:1px solid #e6e9ee;font-size:17px}
.list-row .copy{flex:1}.list-row small{display:block;color:#697582;font-size:14px;margin-top:4px}.list-row .amount{font-weight:500;white-space:nowrap;font-size:17px}
.positive{color:#256949}
.map-canvas{position:relative;flex:1;background:#e3ebed;overflow:hidden}
.map-canvas svg{width:100%;height:100%}
.map-overlay{position:absolute;bottom:18px;left:17px;right:17px;background:#fff;border-radius:17px;padding:16px 20px;box-shadow:0 4px 20px #25354b2b}
.map-overlay strong{font-size:18px}.map-overlay p{font-size:14px;color:#5b6978;margin:5px 0}
.settings-group{padding:8px 22px 20px}.settings-group h2{font-size:16px;color:#42699c;font-weight:500;margin:14px 0}
.settings-row{display:flex;align-items:center;justify-content:space-between;min-height:71px;border-bottom:1px solid #e0e5ec;font-size:18px;gap:12px;width:100%;text-align:left}
.settings-row small{font-size:14px;color:#586878;display:block;margin-top:4px;line-height:1.5}
.toggle{width:49px;height:29px;border-radius:20px;background:#d1d7df;position:relative;border:2px solid #7b8795}
.toggle:after{content:"";width:18px;height:18px;border-radius:50%;background:#6b7684;position:absolute;left:3px;top:3px}
.toggle.on{background:#365e94;border-color:#365e94}.toggle.on:after{background:#eaf2ff;left:24px}
.primary-button{display:block;border-radius:25px;background:#d9e8ff;color:#193d70;font-weight:500;padding:13px 22px;min-height:48px;text-decoration:none;text-align:center}
.muted{color:#5d6a79}.empty{padding:40px 25px;text-align:center;font-size:17px;line-height:1.8}
#heads-up{position:absolute;top:45px;left:11px;right:11px;z-index:50;pointer-events:none}
#heads-up .notification{pointer-events:auto;animation:heads-up .35s cubic-bezier(.2,.9,.3,1.1);box-shadow:0 7px 24px #1223353a}
#shade{position:absolute;inset:0 0 0;z-index:45;background:#edf2f9f5;backdrop-filter:blur(28px);color:#263345;padding:15px 13px 58px;overflow:auto;animation:shade-in .22s ease-out;scrollbar-width:none}
.shade-top{display:flex;justify-content:space-between;align-items:center;padding:5px 9px;font-size:17px}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:15px 0}
.quick-tile{border-radius:24px;background:#dce3ec;color:#384a5c;display:flex;align-items:center;gap:12px;padding:15px 17px;min-height:69px;font-size:17px;text-align:left}
.quick-tile.on{background:#c1d9fa;color:#16375d}.quick-tile .icon{width:25px;height:25px}
.brightness{display:flex;align-items:center;gap:13px;border-radius:30px;background:#d8e5f8;padding:9px 17px;margin:5px 0 18px}
.brightness input{flex:1;accent-color:#3c6496}
.shade-label{color:#526476;font-size:14px;padding:10px 10px}
.shade-footer{display:flex;align-items:center;justify-content:space-between;padding:15px 4px}
.shade-footer button{font-size:15px;min-height:44px;padding:8px 15px;border-radius:24px;background:#dbe4ef}
#shade .notification-list{padding:0;max-height:none}
.shade-handle{margin:15px auto 0;width:48px;height:5px;background:#6d7f96;border-radius:10px}
#toast{position:absolute;z-index:75;bottom:69px;left:30px;right:30px;border-radius:25px;padding:13px 20px;font-size:15px;line-height:1.5;color:#fff;background:#202d3eee;text-align:center;box-shadow:0 4px 14px #0003}
#system-dialog{position:absolute;inset:auto 16px 66px;max-width:382px;width:calc(100% - 32px);max-height:70%;border:0;padding:23px;border-radius:27px;color:#1c2c3f;background:#edf3fb;box-shadow:0 15px 65px #06102560;font-size:17px;line-height:1.7}
#system-dialog::backdrop{background:#0b13274a}
#system-dialog h2{font-size:23px;margin:0 0 15px}
#system-dialog button{min-height:45px;padding:8px 14px;color:#204b81;border-radius:23px}
.dialog-actions{display:flex;justify-content:flex-end;margin-top:18px;gap:10px}
.recent-list{display:grid;gap:13px;padding:50px 40px;background:#15273a4d}
.recent-card{background:#f9fbff;border-radius:23px;padding:20px;display:flex;align-items:center;gap:19px;text-decoration:none;min-height:105px;color:#22324a}
.recent-card .app-art{width:50px;height:50px}
.recent-card strong{font-size:20px;font-weight:500}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes enter{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes heads-up{from{opacity:0;transform:translateY(-115%)}to{opacity:1;transform:translateY(0)}}
@keyframes shade-in{from{transform:translateY(-100%)}to{transform:translateY(0)}}
@media(min-width:700px){#phone{border-radius:33px}#phone:after{content:"";position:absolute;top:12px;left:calc(50% - 5px);width:10px;height:10px;border-radius:50%;background:#0a1018;box-shadow:0 0 0 2px #ffffff12;z-index:70;pointer-events:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.home{padding-top:27px}.home-clock{font-size:68px;margin:5px 0}.home-space{min-height:17px}.app-grid{row-gap:17px}.home-dock{margin:22px 4px 19px}.home .app-art{border-radius:50%}.bank-art{background:#05814c;color:white}.sms-art{background:#287cf0;color:white}.ai-art{color:#3168ab;background:white}
.avatar.takahashi,.mini-avatar.takahashi{background-image:url('/naoko/assets/takahashi.webp');background-size:cover;background-position:center}.mini-avatar.naoko{background-image:url('/naoko/assets/naoko.webp')}.mini-avatar.shuichi{background-image:url('/naoko/assets/shuichi.webp')}.mini-avatar.kayo{background-image:url('/naoko/assets/kayo.webp')}.mini-avatar.ryohei{background-image:url('/naoko/assets/ryohei.webp')}.mini-avatar{width:26px;height:26px;border-radius:50%;background-size:200% auto;background-position:0 38%;display:grid;place-items:center;font-size:12px;color:white;font-style:normal;border:1px solid #fff}.group-avatar{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:0;padding:5px}.group-avatar .mini-avatar:nth-child(1){margin-right:-8px}.group-avatar .mini-avatar:nth-child(3){margin-top:-7px}.message-sender{display:block;font-size:12px;color:#405169;margin:0 0 4px 3px}.chat-row-name small{color:#626d79;font-weight:400}.official-badge{color:#119465;font-size:15px}.chat-attachment{margin:10px -6px -3px;max-width:262px;border-radius:10px;overflow:hidden;background:#fff}.chat-attachment img{display:block;width:100%;height:auto;max-height:180px;object-fit:cover}.chat-attachment p{font-size:13px;margin:7px 10px}.chat-attachment audio{width:100%;height:42px}.media-link{font-size:14px;display:block;padding:9px 13px;color:#184d87;text-decoration:none}.photo-media.single-photo{background-size:contain!important;background-repeat:no-repeat;background-position:center!important;background-color:#10151d}.photo-stage{position:relative}.photo-stage audio{position:absolute;bottom:8px;left:5%;width:90%}.image-results{padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.image-result{display:flex;flex-direction:column;text-decoration:none;gap:8px;font-size:15px}.image-result img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px}.image-result small{font-size:12px;color:#637185}.lens-header{display:flex;align-items:center;gap:13px;padding:12px 20px}.lens-header h1{font-size:21px;font-weight:500}.lens-target{padding:10px 20px;background:#131a23}.lens-target img{width:100%;border-radius:12px}.lens-tabs{font-size:15px;padding:18px 19px;border-bottom:1px solid #d3dce6}.lens-tools{display:grid;gap:12px;padding:20px}.lens-tools a{font-size:17px}.voice-player{height:42px;width:100%;max-width:280px}.voicemail{display:flex;gap:12px;padding:18px;border-bottom:1px solid #dbe0e6}.voicemail>div{min-width:0;flex:1}.voicemail p{font-size:14px;margin:5px 0;color:#5e6d7b}.voicemail details{font-size:14px}.voicemail audio{max-width:100%}.telephone .app-bottom .tab-link{flex-direction:column;gap:6px}.call-screen{height:100%;background:linear-gradient(#243e5b,#10283e);color:white;display:flex;flex-direction:column;align-items:center;padding:55px 20px 40px;text-align:center}.call-screen>.avatar{width:95px;height:95px;margin:25px 0}.call-screen h1{font-size:32px;font-weight:400;margin:10px}.call-screen p{font-size:17px;line-height:1.8}.call-screen .call-caption{min-height:130px;font-size:18px}.call-tools{display:flex;justify-content:space-around;width:100%;margin-top:auto}.call-tools button{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:14px;min-height:65px;min-width:80px}.call-buttons{display:flex;justify-content:space-around;width:100%;padding:30px 30px 15px;gap:20px}.call-buttons button{border-radius:50px;display:flex;align-items:center;gap:10px;justify-content:center;padding:17px 24px;font-size:17px}.answer-call{background:#15955a;color:white}.end-call{background:#d34842;color:white}.end-call .icon{transform:rotate(135deg)}.dialpad{display:grid;grid-template-columns:repeat(3,1fr);padding:15px}.dialpad button{font-size:26px!important;min-height:50px!important}#dial-number{width:100%;padding:9px}.gmail-search{display:flex;align-items:center;gap:12px;padding:10px 18px;background:#eaf0fa;border-radius:30px;margin:9px 15px}.gmail-search input{min-width:0;width:100%;border:0;background:transparent;outline:none;font-size:16px}.mail-inbox-label{font-size:13px;color:#5a697c;padding:6px 22px}.mail-row{display:flex;align-items:flex-start;gap:14px;padding:16px 19px;text-decoration:none}.sender-circle{width:42px;height:42px;border-radius:50%;background:#b8cce9;color:#244568;display:grid;place-items:center;flex:none;font-size:18px}.mail-row:nth-child(3n+1) .sender-circle{background:#d3bce6;color:#573b73}.mail-row:nth-child(3n+2) .sender-circle{background:#f5bfaa;color:#6f3b2a}.mail-row-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;font-size:15px}.mail-row-copy strong{font-size:17px;font-weight:500}.mail-row-copy span,.mail-row-copy small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mail-row-copy small{font-size:14px;color:#596779}.mail-row.unread strong,.mail-row.unread span{font-weight:700}.mail-row time{font-size:12px;white-space:nowrap;color:#47576b}.mail-document{padding:20px;font-size:16px;line-height:1.9;overflow-wrap:anywhere;user-select:text}.mail-document h1{font-size:25px;line-height:1.6;font-weight:500}.mail-sender{display:flex;gap:13px;align-items:flex-start;margin:23px 0}.mail-sender small{display:block;font-size:12px;color:#69788b}.mail-sender strong{font-size:15px}.sms-row small{display:block;font-size:14px;color:#637080;margin-top:7px;line-height:1.6}.sms-row{text-decoration:none;align-items:flex-start}.sms-date{text-align:center;font-size:13px;color:#586777;padding:25px 10px}.sms-bubble{margin:12px 25px 12px 17px;padding:17px;background:#e9edf3;border-radius:21px;font-size:17px;line-height:1.7;overflow-wrap:anywhere}.sms-bubble.mine{background:#d5e7fb;margin-left:45px}.sms-url{display:block;color:#1d5ca4;margin-top:8px}.bank-page{background:#f1f5f3}.bank-top{height:65px;background:#fff;border-bottom:1px solid #dbe4df;display:flex;align-items:center;justify-content:space-between;padding:0 15px}.bank-top strong{font-size:22px;color:#116b4b;letter-spacing:.05em}.bank-top i{font-size:30px;font-style:normal}.bank-greeting{font-size:15px;padding:21px}.bank-greeting span{display:block;font-size:12px;color:#718075;margin-top:5px}.bank-balance{margin:0 16px;background:#fff;border-radius:12px;padding:22px 20px 0;box-shadow:0 2px 8px #193c2720}.bank-balance>div{display:flex;justify-content:space-between;font-size:16px}.bank-balance>div span{font-size:11px;background:#e6f2eb;padding:4px 8px;color:#256a45;border-radius:4px}.bank-number{font-size:13px;color:#6d796f}.balance-number{font-size:39px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;margin:23px 0}.balance-number small{font-size:16px}.bank-detail{display:block;border-top:1px solid #e2e8e4;text-align:center;padding:17px;text-decoration:none;font-size:14px;color:#0d6d46}.bank-shortcuts{display:flex;justify-content:space-around;padding:23px 13px}.bank-shortcuts a{display:flex;align-items:center;flex-direction:column;gap:10px;text-decoration:none;font-size:14px;background:#fff;border:1px solid #d6e2d9;border-radius:12px;width:104px;padding:16px 10px;color:#136b46}.bank-notice{margin:0 17px;background:#fff;border-radius:11px;padding:15px 18px}.bank-notice p{font-size:15px;font-weight:600;margin:0 0 12px}.bank-notice a{font-size:14px;line-height:1.7;color:#1c5c40}.bank-banner{margin:19px 17px;padding:28px 24px;background:linear-gradient(120deg,#cce4d4,#e8f3ed);border-radius:11px;font-size:19px;color:#236141;line-height:1.7}.bank-banner strong{font-size:25px}.bank-bottom{background:white}.bank-bottom .active{color:#057545}.bank-account-mini,.bank-filter{padding:18px 22px;font-size:15px;background:white;border-bottom:1px solid #d9e4de}.bank-filter{color:#397656}.bank-transaction{padding:20px;background:white;border-bottom:1px solid #d7e3da}.bank-transaction small{font-size:13px;color:#64776c}.bank-transaction>div{display:flex;align-items:center;justify-content:space-between;margin:12px 0;font-size:16px}.bank-transaction b{font-size:21px;font-weight:500}.bank-payee{display:block;width:100%;border:1px solid #c1d7c7;padding:18px;border-radius:9px;font-size:18px;background:white;text-align:left}.bank-payee small{display:block;font-size:13px;margin-top:10px}.account-logo{font-family:Arial,sans-serif;font-size:40px!important;color:#4285f4}.device-card{border:1px solid #cbd5df;border-radius:15px;padding:22px 18px;margin:20px 0}.device-card p{font-size:15px;line-height:1.8}.ai-intro{margin:30px 22px;color:#2f4e78}.ai-intro strong{font-size:23px}.ai-intro p{font-size:16px;line-height:1.8}.ai-message{padding:18px 20px;margin:17px;border-radius:15px;background:#edf1f9;font-size:17px;line-height:1.9;user-select:text}.ai-message.me{background:#d9e8fb;margin-left:55px}#mail-compose-form{display:grid;gap:15px}#mail-compose-form label{font-size:14px}#mail-compose-form input,#mail-compose-form textarea{width:100%;border:1px solid #7d8a9a;padding:8px;border-radius:5px;background:white;display:block;margin-top:5px}#mail-compose-form textarea{min-height:130px}

.message-content{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 5px;align-items:end}.message-sender{grid-column:1/-1;grid-row:1;font-size:12px;margin-left:4px}.message-bubble{grid-column:1;grid-row:2}.message-time{grid-column:2;grid-row:2}.message.mine .message-content{grid-template-columns:auto minmax(0,1fr)}.message.mine .message-bubble{grid-column:2}.message.mine .message-time{grid-column:1}.chat-attachment video{width:100%;display:block}.friend-add{text-align:center;padding:55px 25px}.friend-add .avatar{width:95px;height:95px}.friend-add h1{font-size:26px}.friend-add p{font-size:16px;line-height:1.8}.friend-add .primary-button{margin:30px auto}.proof-link{text-decoration:none}.proof-thumbnail{height:320px;overflow:hidden;position:relative}.proof-thumbnail .proof-shot{width:370px;transform:scale(.68);transform-origin:top left}.proof-shot{background:#a7bbd2;color:#172638;font-family:"Yu Gothic UI",sans-serif;width:100%;margin:0;white-space:normal}.proof-status{background:#fff;padding:10px 17px;font-size:13px;display:flex;justify-content:space-between}.proof-heading{padding:19px 13px;font-size:19px;font-weight:600}.proof-body{padding:10px 12px 18px}.proof-date{font-size:12px;background:#839cba;color:white;text-align:center;width:60px;border-radius:12px;margin:10px auto 20px;padding:4px}.proof-left{display:flex;gap:8px;align-items:flex-start;margin:14px 25px 14px 0}.proof-left>i{background:#5a7597;color:white;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-style:normal;flex:none;font-size:13px}.proof-left p{border-radius:15px;background:white;padding:11px 13px;margin:0;font-size:15px;line-height:1.7}.proof-left img{width:100%;display:block;border-radius:10px}.proof-right{display:flex;justify-content:flex-end;margin:14px 0 14px 55px}.proof-right p{background:#b1e78b;border-radius:15px;padding:11px 13px;font-size:15px;margin:0;line-height:1.7}.proof-input{padding:20px 15px;background:#f9fbfd;color:#758599;font-size:16px}
:root #screen{--ox:50%;--oy:50%;transform-origin:var(--ox) var(--oy)}#screen.m-unlock{animation:phone-unlock .38s cubic-bezier(.2,0,0,1) both}#screen.m-open{animation:phone-open .3s cubic-bezier(.05,.7,.1,1) both}#screen.m-back{animation:phone-back .26s cubic-bezier(.3,0,.8,.15) both}#screen.m-lock{animation:phone-lock .3s ease-out both}#screen[class*=m-]>.page{animation:none}@keyframes phone-unlock{from{transform:translateY(48px) scale(.96);opacity:0}}@keyframes phone-open{from{transform:scale(.18);opacity:0;border-radius:28px}}@keyframes phone-back{from{transform:scale(1.04);opacity:0}}@keyframes phone-lock{from{filter:blur(7px);opacity:.3}}.unlock:active{transform:scale(.88)}.news-top{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;color:#c32635;background:white}.news-top strong{font-size:25px}.news-categories{white-space:nowrap;padding:13px 18px;background:#fff;border-bottom:1px solid #ccd5df;font-size:16px}.news-date{font-size:13px;color:#637184;padding:9px 20px}.news-item{display:block;text-decoration:none;padding:18px 21px;border-bottom:1px solid #d7dfe8;background:#fff}.news-item small{font-size:12px;color:#506d8d}.news-item h2{font-size:20px;line-height:1.6;margin:7px 0;font-weight:600}.news-item p{font-size:13px;color:#6a7789;margin:8px 0 0}.news-correction{border-left:4px solid #087d55;padding:15px;background:#edf5ef;margin-top:25px}.news-correction p{font-size:16px}@media(prefers-reduced-motion:reduce){#screen{animation:none!important}}

.chat-attachment img,.chat-attachment video{aspect-ratio:16/9;object-fit:cover}.chat-attachment video{background:#121c2b}.photo-stage audio{z-index:2}

/* Separate app layouts from LINE's notification badge and native navigation. */
#screen{bottom:64px}#system-nav{height:64px;background:#0e1824}#system-nav button{height:62px;width:110px;display:flex;flex-direction:column;justify-content:center;gap:1px;font-size:26px}#system-nav small{font-size:12px;font-weight:500}#nav-home{border-radius:30px}#nav-home:active{background:#b7d5f5}#phone.is-app #nav-home{color:#174e82;background:#e6eff9;margin:4px 0;height:54px}#phone.is-dark #nav-home{background:#263b51;color:#fff}
.list-row{width:100%;text-align:left;text-decoration:none}.list-row .copy{min-width:0}.page-scroll{overflow-x:hidden}.toolbar,.app-bottom,.gmail-search,.bank-top{flex-shrink:0}.toolbar h1{min-width:0}.mail-row{height:auto;min-height:96px;position:relative;border-radius:0;background:transparent;color:#202124;padding:15px 16px;align-items:flex-start}.mail-row.unread{background:#fff}.mail-row.read{background:#f4f7fc}.mail-row-copy{padding-right:3px}.mail-row-copy strong{padding-right:40px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-row time{position:absolute;right:16px;top:19px;max-width:56px;text-align:right;font-size:11px}.mail-sender>div{min-width:0}.mail-row-copy small{line-height:1.4}.mail-inbox-label{margin:12px 0}.gmail-page .app-bottom{height:66px}.telephone .page-scroll>.document{padding:10px 22px}.telephone .list-row{min-height:80px}.telephone .list-row>.icon:last-child{margin-left:auto}.telephone .list-row small{line-height:1.4}.phone-consult{display:block;background:#e8f0fb;color:#174f87;padding:12px 22px;text-decoration:none;font-size:16px;border-top:1px solid #c6d5e7}.telephone .app-bottom{height:72px}.call-screen{padding-top:25px}.call-screen>.avatar{margin:12px 0;width:78px;height:78px}.call-screen .call-caption{min-height:90px;font-size:17px;margin:12px 0}.call-buttons{padding:18px 20px}.call-screen h1{font-size:28px}.call-screen>p{margin:8px 0}
.ai-services{padding:18px;display:grid;gap:13px}.ai-service{display:flex;align-items:center;gap:17px;min-height:90px;padding:16px;border:1px solid #d8dfe7;border-radius:18px;text-decoration:none;background:#fff}.ai-service>span{width:48px;height:48px;display:grid;place-items:center;font-size:38px}.ai-service>strong{font-size:22px;font-weight:500}.ai-service>i{margin-left:auto;font-size:24px;color:#637182;font-style:normal}.gemini>span{color:#3377db}.chatgpt>span{color:#087e69}.claude>span{color:#bd5535}.muse>span{color:#8353c8}.tenbin>span{color:#2774c1}.ai-service:active{background:#e7eff9}
.suggested-message{margin:8px 12px;padding:13px 16px;background:white;border:1px solid #4f8b63;color:#246a39;border-radius:20px;font-size:15px;flex-shrink:0}.site-domain{color:#526e82;font-size:13px!important;border-bottom:1px solid #d1dce5;padding-bottom:12px}
.real-map{width:100%;min-height:0;flex:1;border:0;background:#e7edf1}.map-place{padding:15px 18px;background:#fff;flex-shrink:0}.map-place>strong{font-size:19px}.map-google{display:block;text-align:center;margin:13px 0;padding:13px;background:#1a73e8;color:#fff;border-radius:24px;text-decoration:none;font-size:17px}.map-saved{display:flex;justify-content:space-between;font-size:13px}.map-saved a{text-decoration:none;color:#245fa3;padding:8px 0}
.bank-top{background:#007f55;color:white;height:72px}.bank-top strong,.bank-top button{color:#fff}.bank-page{background:#e9f3ef}.bank-greeting{color:#194b37}.bank-balance{border-top:5px solid #00a66a;border-radius:9px}.bank-shortcuts a{background:#008557;border:0;color:white;font-weight:600;box-shadow:0 3px 0 #00633f}.bank-banner{background:#007f55;color:white}.bank-banner strong{color:#fff}.bank-other{display:flex;margin:0 16px 13px;padding:20px 17px;background:#fff;border:1px solid #c4ddd0;border-left:5px solid #009c64;border-radius:7px;text-decoration:none;justify-content:space-between;gap:10px;font-size:15px}.bank-other strong{white-space:nowrap}.bank-profile{margin:20px 0}.bank-profile dt{font-size:14px;color:#596e63;margin-top:19px}.bank-profile dd{margin:7px 0;padding-bottom:16px;border-bottom:1px solid #cddfd4;font-size:18px;line-height:1.7}.bank-payee{margin:13px 0}.bank-transaction strong{font-size:15px}.consultation .consult-label{font-size:13px;color:#42638a}.consultation ul{padding-left:23px;font-size:16px;line-height:1.85}.consultation li{margin:12px 0}.consult-voice{padding:18px;background:#e7eef7;border-left:4px solid #315c8a}.consult-voice p{margin-bottom:0}.consultation h1{font-size:26px}.consultation h2{font-size:20px}.consultation .primary-button{margin:25px 0 15px}

.conversation-help{background:#edf3f8;color:#34516a;border:0;border-top:1px solid #ccd8e3;padding:9px;font-size:13px;min-height:37px}.conversation-tips p{font-size:17px;line-height:1.75;margin:18px 0}.conversation-tips small{color:#627382}.cropped-mail{background:#fff;color:#202124;margin:16px 0;box-shadow:0 1px 5px #15243928;text-align:left;overflow:hidden}.crop-sender{padding:16px 18px 8px;display:flex;flex-direction:column;gap:5px}.crop-sender small{color:#657080}.cropped-mail p{font-size:16px;line-height:1.8;padding:4px 18px 0;margin:0;white-space:nowrap}.crop-edge{height:15px;background:linear-gradient(#fff0,#edf0f3);margin-top:5px}.document blockquote{margin:18px 0 8px;padding:14px 16px;background:#e9f4e3;border-left:4px solid #507943;font-size:17px;line-height:1.8}

/* Keep text and the device ratio stable when the on-screen keyboard opens. */
body.keyboard-open{align-items:start}
.keyboard-open #screen{bottom:calc(64px + var(--keyboard-inset))}
.keyboard-open #system-nav{bottom:var(--keyboard-inset)}

.map-canvas{position:relative;flex:1;min-height:0;background:#e7edf1}.map-canvas .real-map{position:absolute;inset:0;width:100%;height:100%}.map-loading{position:absolute;inset:0;display:grid;place-content:center;margin:0;color:#526476;font-size:16px}
