.phone{background:linear-gradient(145deg,#fafcfc 0%,var(--bg) 48%,#e7efef 100%)}
.home{padding:calc(25px + env(safe-area-inset-top)) 23px calc(15px + env(safe-area-inset-bottom))}
.home-head{margin-bottom:18px}.home-head h1{font-size:24px}.name-row{gap:9px;margin-top:5px}.subline{margin-top:4px}
.schedule-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:12px}.schedule-title{display:flex;justify-content:space-between;align-items:end}.schedule-title h2{font-size:17px;font-weight:450;letter-spacing:.08em;margin:5px 0 0}.schedule-title #clock{font-size:9px;padding-bottom:2px}
.current-line{width:100%;display:grid;grid-template-columns:56px 1fr auto 14px;align-items:center;gap:7px;padding:11px 0;border:0;border-bottom:1px solid var(--line-soft);background:transparent;color:inherit;text-align:left}.current-tag{font-size:6px;letter-spacing:.14em;color:#8e9da0}.current-tag i{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--accent);margin-right:4px}.current-line strong{font-size:10px;font-weight:500}.current-line>span:nth-child(3){font-size:7px;color:#9ba8aa}.current-line b{font-size:10px;font-weight:400;color:#849597;text-align:right}
.schedule-list{min-height:27px}.schedule-row{display:grid;grid-template-columns:42px 1fr 12px;align-items:center;min-height:27px;border-bottom:0}.schedule-row time{font-size:7px}.schedule-row strong{font-size:9px}.schedule-row>span{font-size:8px}.schedule-row:not(.current){opacity:.68}.schedule-row.current{display:none}
.apps-section{padding-top:14px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;color:#98a5a7;font-size:7px;letter-spacing:.17em}.section-head small{font-size:6px;letter-spacing:.12em;color:#a1adaf}.app-scroller{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 0 3px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.app-scroller::-webkit-scrollbar{display:none}.app-page{flex:0 0 100%;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);scroll-snap-align:start}.app-item{min-width:0;height:54px;border:0;border-bottom:1px solid var(--line);background:transparent;display:grid;grid-template-columns:23px 1fr 15px;align-items:center;text-align:left;padding:0 3px;cursor:pointer;color:inherit}.app-item:nth-child(odd){border-right:1px solid var(--line);padding-right:13px}.app-item:nth-child(even){padding-left:13px}.app-num{font-size:7px;color:#a0abad;align-self:start;padding-top:10px}.app-copy{display:flex;flex-direction:column;gap:4px}.app-copy b{font-size:10px;font-weight:450;letter-spacing:.02em}.app-copy small{font-size:6px;letter-spacing:.15em;color:#9ca9ab}.app-arrow{font-size:10px;color:#8a9b9d;text-align:right}.app-item:active{background:rgba(105,148,150,.045)}.app-page-last .app-item{height:54px}.app-dots{display:flex;justify-content:center;gap:4px;margin-top:6px}.app-dots i{width:3px;height:3px;border-radius:50%;background:#bcc6c7;transition:width .18s ease}.app-dots i.active{width:9px;border-radius:3px;background:#789698}
.couple-panel{margin-top:12px;padding:10px 0 9px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.couple-head{display:flex;justify-content:space-between;font-size:6px;letter-spacing:.17em;color:#9ba7a9}.couple-head small{font-size:6px;color:#a9b3b5}.couple-row{display:flex;align-items:center;justify-content:center;gap:12px;margin:9px 0 5px}.avatar{width:28px;height:28px;border:1px solid var(--line-strong);border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#f7faf9,#e3ebeb);color:#698689;font-size:6px;letter-spacing:.06em;box-shadow:0 3px 12px rgba(52,78,81,.06)}.avatar-you{background:#f2f5f5;color:#8c9a9c}.couple-line{display:flex;align-items:center;gap:5px;color:#9aa8aa;font-size:6px;letter-spacing:.1em}.couple-line i{width:11px;height:1px;background:var(--line)}.couple-note{text-align:center;font-size:8px;color:#87979a;margin:0;letter-spacing:.03em}.quick-area{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.quick-area button{min-height:44px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.22);padding:8px 9px;text-align:left;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;color:inherit;cursor:pointer}.quick-area button span{grid-column:1/-1;font-size:5.5px;letter-spacing:.14em;color:#9ba8aa}.quick-area button b{font-size:8px;font-weight:450;margin-top:4px}.quick-area button em{grid-row:2;font-style:normal;font-size:8px;color:#829497;align-self:end}.home-foot{margin-top:auto;padding-top:8px}
@media(min-width:600px){.phone{border-radius:30px}}


/* v4.2 — personal avatars + refined archive button */
.icon-btn.profile-trigger { position:relative; }
.profile-glyph { position:relative; display:block; width:15px; height:15px; border:1px solid rgba(74,101,104,.38); border-radius:50%; }
.profile-glyph::before { content:""; position:absolute; width:4px; height:4px; left:4px; top:3px; border:1px solid rgba(74,101,104,.52); border-radius:50%; }
.profile-glyph::after { content:""; position:absolute; width:8px; height:4px; left:2.5px; bottom:2px; border:1px solid rgba(74,101,104,.52); border-bottom:0; border-radius:8px 8px 0 0; }
.avatar { overflow:hidden; position:relative; }
.avatar img { width:100%; height:100%; display:block; object-fit:cover; border-radius:inherit; }
.avatar-dh img { object-position:center; }
.avatar-you img { object-position:center; }
.avatar.large { width:52px; height:52px; }

/* v4.3 — custom widget space */
.custom-space{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.custom-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.custom-head>span{font-size:6px;letter-spacing:.18em;color:#9ba7a9}
.custom-head button{border:0;background:transparent;color:#7d9092;font:inherit;font-size:7px;letter-spacing:.04em;padding:3px 0;cursor:pointer}
.widget-shelf{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.home-widget{min-height:62px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.22);overflow:hidden;position:relative}
.home-widget iframe{width:100%;height:100%;min-height:62px;border:0;display:block;background:transparent}
.widget-empty{padding:13px 0 3px;text-align:center;font-size:7px;color:#a1adaf;letter-spacing:.05em}
.widget-box{max-height:88dvh;overflow:auto}
.widget-intro{font-size:8px;color:#8c9b9d;line-height:1.7;margin:8px 0 12px}
.widget-fields{display:grid;gap:8px}
.widget-fields label{font-size:6px;letter-spacing:.14em;color:#94a1a3;display:grid;gap:5px}
.widget-fields input,.widget-fields textarea{box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:9px;background:rgba(247,250,249,.72);color:#526568;font:inherit;outline:none}
.widget-fields input{height:32px;padding:0 9px;font-size:10px;letter-spacing:.04em}
.widget-fields textarea{min-height:78px;padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;line-height:1.55;resize:vertical}
.widget-fields label:nth-child(2) textarea{min-height:92px}.widget-fields label:nth-child(3) textarea{min-height:86px}.widget-fields label:nth-child(4) textarea{min-height:70px}
.widget-preview-head{display:flex;justify-content:space-between;align-items:center;margin:12px 0 6px;font-size:6px;letter-spacing:.15em;color:#99a6a8}
.widget-preview-head button,.save-widget{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.28);color:#718689;padding:5px 8px;font-size:7px;cursor:pointer}
.widget-preview{width:100%;height:120px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.2);display:block}
.save-widget{font-size:7px;letter-spacing:.08em;padding:6px 10px}

/* v4.4 — profile SVG + widget library workflow */
.icon-btn.profile-trigger{color:#71898c}
.profile-icon{width:15px;height:15px;display:block}
.profile-icon path{fill:currentColor}
.custom-head button{letter-spacing:.06em}
.widget-library-head{display:flex;justify-content:space-between;align-items:center;margin:12px 0 6px;font-size:6px;letter-spacing:.15em;color:#99a6a8}
.widget-library-head small{font-size:6px;letter-spacing:.05em;color:#a4afb1}
.widget-library{display:grid;gap:5px}
.library-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.22)}
.library-row div{min-width:0;display:flex;flex-direction:column;gap:3px}
.library-row b{font-size:9px;font-weight:450;color:#657679;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.library-row small{font-size:6px;color:#9aa7a9;letter-spacing:.05em}
.library-row button{border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.3);color:#718689;padding:5px 8px;font-size:7px;cursor:pointer}
.library-empty{padding:9px 0;font-size:7px;color:#a1adaf;text-align:center}
