@charset "UTF-8";
:root{--ink:oklch(28% .014 150);--muted:oklch(57% .012 150);--paper:oklch(97% .007 110);--line:oklch(89% .009 130);--accent:oklch(43% .045 154);--soft:oklch(93% .013 128);--ease:cubic-bezier(.16,1,.3,1);--phone-scale:1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:340px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit;border:0;background:none}a{color:inherit;text-decoration:none}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid oklch(60% .05 154);outline-offset:1px}svg{display:block;width:20px;height:20px;flex-shrink:0}button{touch-action:manipulation}button:not(.desktop-item):not(.page-dot){transition:background .18s,color .18s,opacity .18s,box-shadow .18s}p{margin:0}img{display:block;max-width:100%;object-fit:cover}button:hover{color:var(--accent)}[hidden]{display:none!important}
.site-header{height:82px;padding:0 4.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:5;background:var(--paper)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:29px;height:29px;display:grid;grid-template-columns:1fr 1fr;gap:4px;transform:rotate(-6deg)}.brand-mark i{border-radius:4px;background:var(--ink)}.brand-mark i:nth-child(2){background:oklch(66% .075 155)}.brand-mark i:nth-child(3){background:oklch(77% .014 150)}.brand strong{font-size:23px;letter-spacing:-.9px;font-weight:650}.brand strong span{font-size:12px;letter-spacing:2px;font-weight:450;margin-left:13px;color:var(--muted)}.top-nav{display:flex;gap:32px;position:absolute;left:50%;transform:translateX(-50%);height:100%;align-items:center}.nav-link{font-size:13px;color:var(--muted);height:100%;position:relative;padding:0 3px}.nav-link.active{color:var(--ink);font-weight:600}.nav-link.active:after{content:"";position:absolute;bottom:0;height:2px;left:2px;right:2px;background:var(--accent)}.nav-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:oklch(69% .065 145);margin:0 0 7px 5px}.header-end{display:flex;align-items:center;gap:24px}.save-state{font-size:11px;display:flex;align-items:center;gap:7px;color:var(--muted)}.save-state i{height:5px;width:5px;border-radius:50%;background:oklch(60% .075 150)}.icon-button{padding:9px;border-radius:8px;display:grid;place-items:center}.icon-button:hover{background:var(--soft)}.icon-button svg{height:17px;width:17px}
.workspace{max-width:1280px;margin:0 auto;padding:33px 46px 20px;display:grid;grid-template-columns:245px minmax(390px,1fr) 280px;gap:35px;min-height:calc(100vh - 132px);align-items:center}.intro-panel{align-self:center;margin-top:-58px;position:relative}.eyebrow{font-size:9px;font-weight:550;letter-spacing:2px;color:var(--muted)}h1{font-size:37px;line-height:1.56;letter-spacing:1px;font-weight:500;margin:23px 0 17px}.title-period{color:oklch(60% .055 145)}.intro-copy{font-size:12px;line-height:2;color:var(--muted);letter-spacing:.3px}.intro-rule{height:1px;background:var(--line);width:35px;margin:34px 0 28px}.feature-line{display:flex;gap:14px;align-items:flex-start;margin-bottom:24px}.feature-number{font-size:10px;font-weight:500;letter-spacing:1px;color:oklch(65% .015 145);padding-top:2px}.feature-line strong{font-size:12px;letter-spacing:.5px;font-weight:550}.feature-line p{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.8}.text-link{display:flex;align-items:center;gap:10px;font-size:11px;padding:0;color:var(--accent);font-weight:550}.text-link svg{width:15px;height:15px}.intro-chat{margin:34px 0 0 28px}.left-bottom{display:flex;align-items:center;gap:14px;margin-top:76px;color:oklch(63% .015 145)}.tiny-cross{font-size:29px;font-weight:200}.left-bottom p{font-size:10px;line-height:1.9;letter-spacing:.5px}.left-bottom em{font-family:Georgia,serif;font-size:12px;font-weight:400}
.phone-stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;isolation:isolate}.phone-aura{position:absolute;width:440px;height:570px;top:90px;background:radial-gradient(ellipse,oklch(86% .018 130 / .45),transparent 68%);z-index:-1;pointer-events:none}.phone-holder{width:calc(378px * var(--phone-scale));height:calc(812px * var(--phone-scale));position:relative;flex-shrink:0}.phone{width:378px;height:812px;border-radius:55px;padding:8px;position:relative;background:linear-gradient(115deg,#7e8180 0,#272b2a 4%,#555a58 42%,#222725 96%,#959b96);box-shadow:0 0 0 1px #aeb2aa,0 0 0 3px #dddeda,0 15px 28px -15px #373e3966,20px 28px 54px -31px #1e2b2d88;transform:scale(var(--phone-scale));transform-origin:top left;user-select:none}.phone:before{content:"";position:absolute;inset:3px;border:1px solid #c1c5bf80;border-radius:52px;pointer-events:none;z-index:10}.screen{width:100%;height:100%;border-radius:47px;overflow:hidden;position:relative;background:#2c2d2c;color:#f6f6f4}.side-button{position:absolute;width:3px;background:linear-gradient(90deg,#585b56,#c2c3bd);left:-4px;border-radius:2px}.silent{top:110px;height:24px}.volume-one{top:156px;height:49px}.volume-two{top:217px;height:49px}.power{left:auto;right:-4px;top:173px;height:74px}.wallpaper{position:absolute;inset:0;background-image:linear-gradient(180deg,#2025220a,#1b201b33),url("assets/rain.jpg");background-position:center;background-size:cover;transition:opacity .2s}.screen[data-wallpaper="sage"] .wallpaper{background:radial-gradient(ellipse at 0 2%,#b8c9b9,transparent 62%),radial-gradient(ellipse at 100% 100%,#53695a,transparent 63%),linear-gradient(150deg,#a7b9ab,#6e8170)}.screen[data-wallpaper="dusk"] .wallpaper{background:radial-gradient(ellipse at 80% 15%,#d2aab9,transparent 60%),radial-gradient(ellipse at 10% 90%,#4b4260,transparent 55%),linear-gradient(145deg,#9f8ba2,#635773)}.screen[data-wallpaper="custom"] .wallpaper{background-image:var(--custom-wallpaper);background-position:center;background-size:cover}.status-bar{position:absolute;top:0;left:0;right:0;height:49px;padding:15px 25px 0;display:flex;align-items:flex-start;justify-content:space-between;font-size:14px;font-weight:650;z-index:25;pointer-events:none;color:#f9faf7;text-shadow:0 1px 5px #2424244a}.island{width:99px;height:27px;background:#141615;border-radius:18px;position:absolute;top:9px;left:50%;transform:translateX(-50%)}.island:after{content:"";width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#25314b,#0e1115 70%);position:absolute;right:9px;top:9px}.status-icons{display:flex;align-items:center;gap:6px;padding-top:3px}.status-icons svg{width:15px;height:13px;stroke-width:2.7}.signal{display:flex;gap:2px;align-items:flex-end;height:11px}.signal i{width:3px;height:4px;border-radius:1px;background:currentColor}.signal i:nth-child(2){height:6px}.signal i:nth-child(3){height:8px}.signal i:nth-child(4){height:11px}.battery{font-size:9px;line-height:12px;padding:0 4px;background:#f3f5f0;color:#343a35;border-radius:4px;position:relative;text-shadow:none}.battery:after{content:"";position:absolute;right:-2px;top:4px;height:5px;width:1px;background:#f2f4ef80}.home{position:absolute;inset:0}.companion-bar{position:absolute;top:56px;left:17px;right:17px;display:flex;align-items:center;height:48px;background:linear-gradient(110deg,#242628f5,#202327f2);border:1px solid #acb4b34d;box-shadow:0 3px 7px #252c2940;border-radius:27px;padding:5px 6px;gap:8px}.companion-main{display:flex;align-items:center;gap:9px;flex:1;text-align:left;min-width:0;color:#f4f5f1!important}.companion-main img{width:33px;height:33px;border-radius:50%}.companion-main b{font-size:11px;line-height:1.5;font-weight:550;display:block}.companion-main small{font-size:8px;letter-spacing:.5px;color:#c2c6c4;display:block;margin-top:2px}.companion-call{width:32px;height:32px;border-radius:50%;background:#e9ede416;color:#e2e9df!important;display:grid;place-items:center}.companion-call:hover{background:#e9ede430}.companion-call svg{width:15px;height:15px}.wave{display:flex;gap:3px;align-items:center;margin-left:auto;margin-right:10px;height:18px}.wave i{width:2px;height:6px;background:#b9caba;border-radius:2px}.wave i:nth-child(2){height:13px}.wave i:nth-child(3){height:18px}.wave i:nth-child(4){height:10px}.desktop-grid{position:absolute;top:121px;left:17px;right:17px;height:530px;--gap:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));gap:var(--gap);touch-action:pan-y}.desktop-item{position:relative;min-width:0;min-height:0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f7f8f4;text-shadow:0 1px 4px #202523aa;outline-offset:3px!important;touch-action:none;cursor:grab;border-radius:19px;z-index:1}.desktop-item:active{cursor:grabbing}.desktop-item:hover{color:#f6f8f3}.app-icon{width:63px;height:63px;border-radius:16px;display:grid;place-items:center;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #fafaf52a,0 2px 4px #1c241d22;flex-shrink:0;color:#f8fbf3}.app-icon:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 2px #f8faf420;pointer-events:none}.app-icon svg{height:35px;width:35px;stroke-width:1.7}.app-icon.chat{background:linear-gradient(#27d467,#0cb84d)}.app-icon.phoneapp{background:linear-gradient(#4ce36b,#15bf46)}.app-icon.phoneapp svg{fill:currentColor;stroke-width:1.5;width:37px;height:37px}.app-icon.moments{background:linear-gradient(#ff96b6,#f45f94)}.app-icon.moments svg{fill:currentColor;stroke-width:1.3;width:38px;height:38px}.app-icon.character{background:linear-gradient(#6cb8fb,#3678df)}.app-icon.music{background:linear-gradient(#fb7467,#eb453e)}.app-icon.world{background:linear-gradient(#f9c448,#f29d24)}.app-icon.photos{background:linear-gradient(#b99ddd,#9872c7)}.app-icon.settings{background:linear-gradient(#a5aaa8,#747b79)}.app-icon.settings svg{height:42px;width:42px;stroke-width:2}.app-icon.calendar{background:#f0f0ed;color:#3a3b3a;display:flex;flex-direction:column;font-weight:300}.calendar-week{color:#e75859;font-size:10px;font-weight:650;margin-top:5px}.calendar-date{font-size:39px;line-height:41px;font-weight:300;letter-spacing:-2px;margin-left:-2px}.app-icon.diary{background:linear-gradient(#fdf5cb 0 24%,#f1f0e9 24%);color:#8a8d84}.app-icon.diary:before{content:"";width:40px;height:32px;position:absolute;top:25px;background:repeating-linear-gradient(transparent 0 7px,#c3c6bd 7px 8px)}.app-icon.wallet{background:linear-gradient(#373c3c,#212526)}.app-icon.wallet svg{color:#e9c98c}.app-icon.browser{background:linear-gradient(#f3f7f7,#dfe8e9);color:#359ce9}.app-icon.browser svg{height:49px;width:49px;stroke-width:1.8}.app-icon.heart{background:linear-gradient(#ed99c4,#d75b9f)}.app-icon.spark{background:linear-gradient(#a595ed,#7464cf)}.app-icon.message{background:linear-gradient(#56cded,#2696d8)}.app-label{font-size:10px;line-height:1.4;letter-spacing:.4px;margin-top:6px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-glyph{width:48px!important;height:43px!important;fill:#f1f9ed;stroke:none!important}.widget{width:100%;height:100%;border:1px solid #f1f2e94d;border-radius:24px;overflow:hidden;text-shadow:none;background:#e6e9e348;backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);box-shadow:inset 0 1px 1px #f9faf333,0 2px 5px #242a241a}.status-widget{padding:10px;display:grid;grid-template-columns:1fr 108px;gap:9px;background:#e5e7e471}.stats-panel{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;gap:6px;min-width:0}.stat-tile{background:#f5f5f117;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#f7f8f4}.stat-tile svg{height:18px;width:18px;margin-bottom:3px}.stat-tile b{font-size:11px;font-weight:550}.stat-tile small{font-size:7px;opacity:.85;margin-top:1px}.time-tile{grid-column:2/4;gap:2px}.time-tile b{font-size:30px;line-height:1.1;font-weight:600;letter-spacing:-1px}.time-tile small{font-size:7px;letter-spacing:.3px}.storage-ring{width:30px;height:30px;border-radius:50%;border:5px solid #f5f6f142;border-top-color:#454d48;display:grid;place-items:center;font-size:6px;margin-bottom:3px;background:#3b413e}.status-photo{height:100%;width:100%;border-radius:16px;filter:saturate(.6)}.music-widget{background:linear-gradient(135deg,#e4e5df77,#a4aaa17a);padding:11px;position:relative;text-align:left}.vinyl-title{position:absolute;top:9px;left:12px;font:italic 11px Georgia,serif;color:#f2f3ee}.vinyl{height:121px;width:121px;position:absolute;top:25px;left:10px;border-radius:50%;background:repeating-radial-gradient(circle,#d6d9d4 0px,#6d736f 1.1px,#c0c5bc 2.2px,#717772 3px);box-shadow:2px 4px 10px #2a332644,inset 0 0 5px #f6f7f0}.vinyl:after{content:"";position:absolute;inset:31px;border-radius:50%;background:#292d2b;box-shadow:0 0 0 1px #848b7d;display:block}.vinyl-label{position:absolute;inset:0;z-index:1;display:grid;place-items:center;font-size:15px;color:#e7ece4}.tonearm{width:8px;height:85px;position:absolute;right:17px;top:32px;background:linear-gradient(90deg,#d2d8ce,#fbfcf7,#a8b1a4);border-radius:5px;transform:rotate(12deg);transform-origin:top center;box-shadow:2px 2px 4px #2d352c55}.tonearm:before{content:"";position:absolute;top:-7px;left:-6px;width:20px;height:20px;border:5px solid #ecefe7;background:#626e61;border-radius:50%;box-shadow:0 2px 3px #2d352c55}.tonearm:after{content:"";position:absolute;bottom:-9px;left:-2px;width:11px;height:23px;background:#d9dfd5;border:1px solid #98a193;border-radius:4px;transform:rotate(-8deg)}.track-caption{position:absolute;bottom:10px;left:12px;font-size:7px;letter-spacing:.3px;color:#f4f6ee;max-width:90px}.music-widget.playing .vinyl{animation:spin 8s linear infinite}.love-widget{background:linear-gradient(#656c6580,#242d277d);padding:13px 10px 11px;display:flex;align-items:center;flex-direction:column}.couple-portraits{display:flex;gap:17px;align-items:center;margin-top:1px}.couple-portraits img{width:48px;height:48px;border-radius:50%;border:1px solid #e9eee36b}.couple-portraits:after{content:"♡";position:absolute;font-size:10px;left:50%;top:34px;transform:translateX(-50%);color:#e1e8db}.couple-names{display:flex;justify-content:space-between;width:110px;font-size:8px;padding:5px 11px}.couple-day{font-size:8px;color:#eff2e9;margin-top:7px;letter-spacing:.5px}.love-quote{font:9px Georgia,serif;background:#ecefe413;border-radius:11px;padding:7px 5px;width:100%;margin-top:auto;color:#edf1e7;white-space:nowrap}.quote-widget{padding:16px 14px;text-align:left;display:flex;flex-direction:column;justify-content:center;background:#dde1d84a}.quote-widget .quote-symbol{font:40px Georgia,serif;line-height:.8;color:#eef2e6}.quote-widget p{font:italic 15px/1.5 Georgia,serif;margin:10px 0 12px}.quote-widget small{font-size:8px;letter-spacing:1px}.memory-widget{display:flex;align-items:center;justify-content:center;gap:0;padding:15px 12px;background:#d9ddd530}.polaroid{width:32%;height:123px;padding:5px 5px 17px;background:#f2f1e9;transform:rotate(-8deg);box-shadow:0 3px 7px #19241d55}.polaroid img{width:100%;height:100%;filter:saturate(.55)}.polaroid:nth-child(2){transform:rotate(3deg) translateY(4px);z-index:1;margin:0 -4px}.polaroid:nth-child(3){transform:rotate(8deg)}.photo-widget{position:relative}.photo-widget img{height:100%;width:100%;filter:saturate(.6)}.photo-widget span{position:absolute;bottom:12px;left:12px;font:italic 13px Georgia,serif;text-shadow:0 1px 5px #2b302b}.note-widget{padding:15px;background:#e6e8dfb0;text-align:left;color:#414a40;display:flex;flex-direction:column}.note-widget strong{font-size:10px;font-weight:500;display:flex;align-items:center;gap:5px}.note-widget strong svg{width:12px;height:12px}.note-widget p{font-size:11px;line-height:1.9;margin-top:12px}.note-widget small{font-size:8px;opacity:.6;margin-top:auto}.page-controls{position:absolute;bottom:118px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:7px;height:15px}.page-dot{width:5px;height:5px;border-radius:50%;background:#eef1ea69;padding:0;transition:width .2s var(--ease),background .2s}.page-dot.active{width:17px;background:#f2f6ec}.dock{position:absolute;bottom:27px;left:12px;right:12px;height:82px;border-radius:30px;display:flex;align-items:center;justify-content:space-around;padding:9px 11px;background:#d4ddd027;border:1px solid #e8eddf55;box-shadow:inset 0 1px 1px #f8fbef26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.dock button{padding:0}.dock .app-icon{width:61px;height:61px;border-radius:17px}.dock .app-icon.calendar .calendar-date{font-size:37px}.home-indicator{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);z-index:30;width:122px;height:10px}.home-indicator button{display:block;background:#edf2e7;width:100%;height:4px;border-radius:10px;padding:0;box-shadow:0 0 2px #25332633}.home-indicator button:before{content:"";position:absolute;inset:-8px -12px}.phone-hint{font-size:10px;letter-spacing:.4px;color:var(--muted);display:flex;gap:7px;align-items:center;margin-top:23px;white-space:nowrap}.phone-hint svg{width:13px;height:13px}.edit-banner{display:none;position:absolute;top:62px;left:20px;right:20px;align-items:center;justify-content:space-between;font-size:11px;color:#f2f5ed;height:30px}.edit-banner button{background:#e9efdfde;color:#30392e;padding:6px 15px;border-radius:20px;font-size:10px;font-weight:600}.editing .companion-bar{display:none}.editing .edit-banner{display:flex}.editing .desktop-item:before{content:"−";height:17px;width:17px;border-radius:50%;background:#e2e7deec;color:#3f483b;position:absolute;top:-6px;left:-4px;z-index:3;line-height:16px;font-size:17px;box-shadow:0 1px 4px #1b291f22;pointer-events:none}.editing .desktop-grid:before{content:"";position:absolute;inset:-4px;border:1px dashed #f3f7e14d;border-radius:22px;pointer-events:none}.editing .desktop-item:focus-visible{outline:2px solid #eff4e4}.editing .desktop-item{animation:wiggle .25s ease-in-out infinite alternate}.editing .desktop-item:nth-child(even){animation-direction:alternate-reverse;animation-duration:.3s}.desktop-item.dragging{z-index:15;opacity:.95;animation:none;filter:drop-shadow(0 8px 9px #14241d55);cursor:grabbing;transition:none!important}.drop-preview{background:#e9f1d938;border:1.5px dashed #f2f8e5;border-radius:20px;z-index:0;pointer-events:none}.drop-preview.invalid{background:#e7a5a52b;border-color:#f1c7bd}.move-toolbar{display:flex;align-items:center;justify-content:space-between;padding:11px;background:var(--soft);border-radius:9px;font-size:10px;margin:12px 0}.move-toolbar kbd{font:10px inherit;background:var(--paper);padding:3px 5px;border-radius:3px}.empty-page{grid-column:1/5;grid-row:3/5;align-self:center;text-align:center;font-size:12px;color:#f2f5e7;text-shadow:0 1px 4px #1b271e}.empty-page svg{margin:0 auto 13px;opacity:.7;width:30px;height:30px}.empty-page p{font-size:9px;line-height:1.8;margin-top:8px;opacity:.7}
.inspector{align-self:center;background:oklch(98.7% .004 110);border:1px solid var(--line);border-radius:17px;padding:23px 22px 0;box-shadow:0 7px 26px -15px oklch(50% .02 140 / .17);min-width:0;margin-top:-22px}.inspector-heading{display:flex;align-items:center;justify-content:space-between}.inspector-heading .eyebrow{font-size:8px;letter-spacing:1.9px}.version{font-size:8px;letter-spacing:.5px;color:oklch(64% .01 145);border:1px solid var(--line);padding:3px 5px;border-radius:4px}h2{font-size:18px;letter-spacing:.5px;font-weight:550;margin:14px 0 9px;display:flex;align-items:center;justify-content:space-between}.mini-phone{color:oklch(62% .02 140)}.mini-phone svg{width:18px;height:18px}.inspector-subtitle{font-size:9px;line-height:1.7;color:var(--muted);letter-spacing:.1px}.inspector-tabs{display:flex;background:oklch(94.5% .006 130);border-radius:7px;padding:3px;margin:20px 0}.inspector-tabs button{font-size:11px;padding:7px 0;flex:1;border-radius:5px;color:var(--muted)}.inspector-tabs button.active{background:oklch(99% .003 120);color:var(--ink);box-shadow:0 1px 3px #23322512;font-weight:600}.panel-section{padding:0 0 20px}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px;font-size:10px;font-weight:550;letter-spacing:.4px}.section-label small{font-size:9px;color:var(--muted);font-weight:400;letter-spacing:0}.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.theme-choice{padding:0;text-align:center;position:relative}.theme-preview{height:73px;border:2px solid transparent;border-radius:10px;padding:3px;position:relative;background-clip:content-box;background-size:cover;display:block}.theme-choice.active .theme-preview{border-color:var(--accent)}.theme-preview:after{content:"";position:absolute;inset:3px;border-radius:6px;pointer-events:none;box-shadow:inset 0 0 0 1px #32493911}.theme-choice.active .theme-preview:before{content:"✓";position:absolute;right:7px;bottom:7px;background:#eff3e9;height:13px;width:13px;border-radius:50%;font-size:8px;line-height:13px;color:#344d3c;z-index:1}.theme-choice span:last-child{font-size:9px;color:var(--muted);display:block;margin-top:6px}.theme-preview.rain{background-image:url('assets/rain.jpg')}.theme-preview.sage{background-image:linear-gradient(145deg,#bdcabb,#5a745e)}.theme-preview.dusk{background-image:linear-gradient(145deg,#dfbdc6,#655578)}.upload-wallpaper{margin-top:12px;width:100%;border:1px dashed var(--line);border-radius:6px;font-size:9px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:6px;padding:8px}.upload-wallpaper svg{width:12px;height:12px}.primary-button{width:100%;background:var(--ink);color:oklch(98% .005 120);border-radius:7px;padding:12px 14px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:11px;font-weight:500}.primary-button:hover{background:var(--accent);color:oklch(98% .005 120)}.primary-button svg{width:14px;height:14px}.primary-button.is-editing{background:var(--accent)}.secondary-button{width:100%;background:var(--soft);padding:10px 12px;border-radius:7px;font-size:10px;display:flex;align-items:center;justify-content:center;gap:6px}.secondary-button svg{width:13px;height:13px}.helper{font-size:9px;color:var(--muted);line-height:1.8;margin-top:9px}.widget-library{display:grid;grid-template-columns:1fr 1fr;gap:9px}.widget-choice{padding:8px 7px;background:oklch(95% .009 130);border:1px solid transparent;border-radius:9px;text-align:left;display:flex;align-items:center;gap:7px;font-size:9px}.widget-choice:hover{border-color:oklch(75% .025 145);background:oklch(92% .015 130)}.widget-thumb{width:27px;height:27px;border-radius:7px;display:grid;place-items:center;background:oklch(87% .017 145);color:oklch(52% .027 145);flex-shrink:0}.widget-thumb svg{height:15px;width:15px}.widget-choice>span:last-child{line-height:1.6}.widget-choice small{display:block;font-size:7px;color:var(--muted)}.character-quick{border-top:1px solid var(--line);padding:17px 0;display:flex;align-items:center;gap:9px;width:100%;text-align:left}.character-quick img{width:34px;height:34px;border-radius:50%;filter:saturate(.5)}.character-quick strong{font-size:10px;font-weight:550}.character-quick p{font-size:8px;margin-top:5px;color:var(--muted)}.character-quick>svg{margin-left:auto;height:14px;width:14px;color:var(--muted)}.inspector-foot{margin:0 -22px;background:oklch(96% .006 125);border-top:1px solid var(--line);border-radius:0 0 17px 17px;display:flex;align-items:center;justify-content:center;gap:5px;font-size:8px;color:oklch(63% .01 140);padding:12px 0}.inspector-foot svg{width:10px;height:10px}.connection-state{display:flex;gap:7px;align-items:center;font-size:10px;padding:10px 11px;background:var(--soft);border-radius:7px;margin-bottom:16px}.connection-state i{width:5px;height:5px;background:oklch(65% .02 145);border-radius:50%}.connection-state.connected i{background:oklch(55% .1 145)}.form-field{display:block;margin:12px 0}.form-field>span{display:flex;justify-content:space-between;font-size:10px;font-weight:500;margin-bottom:7px}.form-field>span small{font-weight:400;color:var(--muted);font-size:8px}.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid var(--line);border-radius:6px;background:oklch(99% .003 120);padding:9px 10px;font-size:10px;color:var(--ink);resize:vertical;line-height:1.6;min-width:0}.form-field textarea{min-height:77px}.form-field input::placeholder,.form-field textarea::placeholder{color:oklch(68% .01 140)}.form-field input[type="range"]{padding:0;accent-color:var(--accent);border:0}.check-field{display:flex;gap:7px;align-items:center;font-size:9px;margin:12px 0 17px;line-height:1.6;color:var(--muted)}.check-field input{margin:0;accent-color:var(--accent)}.inline-result{font-size:10px;line-height:1.8;margin:10px 0;color:var(--accent);word-break:break-word}.inline-result.error{color:oklch(48% .12 28)}.api-form .secondary-button{margin-top:8px}.character-form .avatar-editor{display:flex;gap:11px;align-items:center;margin-bottom:17px}.avatar-editor img{width:50px;height:50px;border-radius:15px;filter:saturate(.65)}.avatar-editor button{font-size:10px;color:var(--accent);padding:0}.avatar-editor small{display:block;font-size:8px;line-height:1.7;color:var(--muted);margin-top:5px}.site-footer{height:50px;padding:0 4.2%;display:flex;align-items:center;justify-content:space-between;color:oklch(63% .012 145);font-size:9px;letter-spacing:.5px}.site-footer>span:first-child{font-size:8px;letter-spacing:1.3px}.footer-spark{margin:0 10px;color:oklch(59% .04 145)}.mobile-toolbar{display:none}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,12px);padding:11px 20px;font-size:12px;line-height:1.6;border-radius:10px;background:oklch(28% .02 150);color:oklch(97% .01 130);box-shadow:0 6px 25px #27352d25;opacity:0;pointer-events:none;z-index:100;transition:opacity .2s,transform .2s;max-width:90vw;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.exit-focus{display:none;position:fixed;right:28px;top:24px;background:var(--soft);padding:12px;border-radius:50%;z-index:40}.focus-mode .site-header,.focus-mode .intro-panel,.focus-mode .inspector,.focus-mode .site-footer{display:none}.focus-mode .workspace{display:flex;justify-content:center;min-height:100dvh;padding:22px}.focus-mode .exit-focus{display:block}.focus-mode .phone-hint{display:none}
.app-screen{position:absolute;inset:0;z-index:20;background:oklch(96.5% .009 110);color:var(--ink);padding-top:53px;display:flex;flex-direction:column;animation:app-in .28s var(--ease);user-select:text}.screen:has(.app-screen:not([hidden])) .status-bar{color:var(--ink);text-shadow:none}.screen:has(.app-screen:not([hidden])) .battery{background:var(--ink);color:#f0f4e9}.screen:has(.app-screen:not([hidden])) .battery:after{background:#4a584880}.screen:has(.app-screen:not([hidden])) .home-indicator button{background:var(--ink)}.app-topbar{display:flex;align-items:center;justify-content:space-between;padding:6px 17px 13px;min-height:51px;gap:9px;border-bottom:1px solid oklch(89% .01 130 / .7);flex-shrink:0}.app-back{display:flex;align-items:center;gap:2px;font-size:12px;color:var(--accent);padding:5px 0}.app-back svg{width:18px;height:18px}.app-heading{text-align:center;min-width:0}.app-heading h3{font-size:14px;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:195px}.app-heading small{font-size:8px;color:var(--muted);display:block;margin-top:4px}.app-topbar>.icon-button{padding:5px}.app-scroll{overflow-y:auto;min-height:0;flex:1;padding:22px 20px 36px;overscroll-behavior:contain}.app-scroll h4{font-size:12px;font-weight:550;margin:20px 0 14px}.app-scroll .form-field input,.app-scroll .form-field textarea,.app-scroll .form-field select{font-size:12px;padding:11px}.app-scroll .form-field>span{font-size:11px}.app-scroll .primary-button{padding:13px;font-size:12px}.app-scroll .helper{font-size:10px}.app-scroll .form-field textarea{min-height:110px}.chat-context{padding:7px 16px;font-size:8px;color:var(--muted);text-align:center;letter-spacing:.2px;background:oklch(94% .012 125);flex-shrink:0}.chat-context button{text-decoration:underline;font-size:inherit;color:var(--accent);padding:2px}.chat-messages{padding:23px 15px 15px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;display:flex;flex-direction:column;gap:17px}.chat-date{font-size:8px;text-align:center;color:var(--muted);margin-bottom:3px}.message{display:flex;align-items:flex-start;gap:8px}.message>img{width:31px;height:31px;border-radius:10px;flex-shrink:0;object-fit:cover}.message-body{max-width:245px;min-width:0}.message-name{font-size:8px;line-height:1.5;color:var(--muted);margin:0 0 4px 2px}.message-bubble{border-radius:3px 13px 13px 13px;background:oklch(99% .004 110);padding:11px 12px;font-size:12px;line-height:1.85;white-space:pre-wrap;word-break:break-word;box-shadow:0 1px 1px #32442c08}.message.user{flex-direction:row-reverse}.message.user .message-name{text-align:right;margin-right:2px}.message.user .message-bubble{background:oklch(84% .04 140);border-radius:13px 3px 13px 13px}.message-note{font-size:7px;color:oklch(64% .015 140);margin:4px 2px 0}.message.user .message-note{text-align:right}.message-bubble.typing{color:var(--muted);letter-spacing:3px;font-size:19px;padding:4px 14px}.chat-compose{padding:10px 12px 31px;border-top:1px solid var(--line);background:oklch(97.5% .007 120);display:flex;align-items:flex-end;gap:7px;flex-shrink:0}.chat-compose textarea{width:100%;border:1px solid var(--line);background:oklch(99% .003 120);border-radius:14px;padding:11px 12px;font-size:12px;line-height:1.5;color:var(--ink);resize:none;max-height:100px;min-height:41px;outline-offset:0}.send-button{flex-shrink:0;width:39px;height:41px;border-radius:13px;display:grid;place-items:center;background:var(--accent);color:oklch(98% .006 120)!important}.send-button svg{width:18px;height:18px}.chat-error{margin:0 16px 10px;padding:10px 12px;border-radius:10px;font-size:10px;line-height:1.7;background:oklch(92% .025 35);color:oklch(43% .08 30);flex-shrink:0}.chat-error button{padding:4px 0;color:inherit;text-decoration:underline;font-size:10px}.character-hero{display:flex;flex-direction:column;align-items:center;padding:9px 0 24px}.character-hero img{width:86px;height:86px;border-radius:27px;filter:saturate(.65);box-shadow:0 7px 15px #263c2320}.character-hero h3{font-size:23px;letter-spacing:2px;font-weight:550;margin:16px 0 7px}.character-hero p{font-size:10px;color:var(--muted)}.detail-row{padding:15px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.8;display:flex;gap:22px}.detail-row>span{color:var(--muted);width:53px;flex-shrink:0}.detail-row p{font-size:11px;white-space:pre-wrap;word-break:break-word}.character-actions{display:flex;gap:8px;margin-top:23px}.character-actions>*{flex:1}.setting-group{background:oklch(99% .003 120);border-radius:15px;padding:0 15px;margin:13px 0 22px}.setting-row{display:flex;justify-content:space-between;align-items:center;text-align:left;gap:12px;width:100%;border-bottom:1px solid var(--line);padding:15px 0;font-size:12px}.setting-row:last-child{border-bottom:0}.setting-row>svg{height:17px;width:17px;color:var(--accent)}.setting-row>span{flex:1}.setting-row small{font-size:10px;color:var(--muted)}.setting-row>span>small{display:block;margin-top:5px;font-size:9px}.setting-row .row-arrow{width:13px;height:13px;color:var(--muted)}.app-intro{text-align:center;padding:12px 0 15px}.app-intro .big-app-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:19px;background:var(--soft);color:var(--accent);margin:0 auto 15px}.big-app-icon svg{width:30px;height:30px}.app-intro h3{font-size:23px;font-weight:500;letter-spacing:1px;margin:0 0 10px}.app-intro p{font-size:11px;line-height:1.9;color:var(--muted)}.journal-text{min-height:300px!important;line-height:2!important;background:repeating-linear-gradient(transparent 0 30px,#d7ded030 30px 31px)!important;border:0!important}.moment-cover{height:170px;position:relative;border-radius:18px;overflow:hidden;margin-bottom:30px}.moment-cover>img{width:100%;height:100%;object-position:50% 30%;filter:saturate(.5);opacity:.85}.moment-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,#15251880)}.moment-cover>span{position:absolute;bottom:16px;left:18px;color:#f0f4e8;font:italic 23px Georgia,serif;z-index:1}.moment-entry{padding:15px 0 21px;border-bottom:1px solid var(--line)}.moment-person{display:flex;align-items:center;gap:9px;margin-bottom:11px}.moment-person img{width:29px;height:29px;border-radius:9px}.moment-person b{font-size:11px;font-weight:600}.moment-person small{display:block;font-size:8px;color:var(--muted);margin-top:3px}.moment-entry p{font-size:12px;line-height:1.9}.moment-entry .moment-photo{margin-top:14px;width:160px;max-height:180px;border-radius:4px;filter:saturate(.5)}.moment-like{display:flex;gap:6px;align-items:center;font-size:10px;color:var(--muted);margin-top:13px;padding:0}.moment-like svg{width:14px;height:14px}.moment-like.liked{color:oklch(57% .12 10)}.moment-like.liked svg{fill:currentColor}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.photo-grid figure{margin:0;padding:7px 7px 20px;background:oklch(99% .004 110);box-shadow:0 3px 10px #263c2312;transform:rotate(-3deg)}.photo-grid figure:nth-child(even){transform:rotate(3deg)}.photo-grid img{width:100%;height:140px;filter:saturate(.6)}.photo-grid figcaption{font:italic 10px Georgia,serif;color:var(--muted);text-align:center;padding-top:11px}.music-cover{width:215px;height:215px;margin:24px auto 31px;border-radius:50%;background:repeating-radial-gradient(circle,#495347 0 1px,#263123 1px 3px);padding:60px;box-shadow:0 16px 23px #26322230}.music-cover img{width:100%;height:100%;border-radius:50%;border:5px solid #8a9c7a}.music-cover.playing{animation:spin 12s linear infinite}.music-title{text-align:center;font:italic 24px Georgia,serif}.music-artist{text-align:center;font-size:10px;color:var(--muted);margin:9px 0 25px}.music-controls{display:flex;align-items:center;justify-content:center;gap:29px;margin:20px 0}.music-controls button{padding:10px}.music-controls .play-large{width:58px;height:58px;background:var(--accent);color:#f1f5e9;border-radius:50%;display:grid;place-items:center}.music-upload{margin-top:25px}.world-list{padding-top:5px}.world-list textarea{min-height:190px!important}.date-card{padding:30px 20px;text-align:center;background:var(--soft);border-radius:19px;margin-top:20px}.date-card .date-number{font-size:76px;font-weight:250;letter-spacing:-4px;line-height:1.2}.date-card p{font-size:12px;line-height:2;color:var(--muted)}.days-count{font-size:31px;margin:20px 0 7px;text-align:center}.love-page-portraits{display:flex;justify-content:center;gap:40px;position:relative;margin:25px 0}.love-page-portraits:after{content:"♡";position:absolute;left:50%;top:30px;transform:translateX(-50%);font-size:20px;color:oklch(58% .09 15)}.love-page-portraits img{width:80px;height:80px;border-radius:50%;filter:saturate(.6)}.quote-block{text-align:center;font:italic 20px/1.7 Georgia,serif;margin:25px 0;color:var(--accent)}.app-section-caption{font-size:9px;color:var(--muted);letter-spacing:1.4px;text-align:center;margin-bottom:20px}.confirm-box{margin-top:15px;background:oklch(93% .018 40);padding:14px;border-radius:10px;font-size:11px;line-height:1.8}.confirm-box .confirm-actions{display:flex;gap:8px;margin-top:10px}.danger-button{background:oklch(50% .1 30);color:#f7f5ef;border-radius:6px;padding:8px 12px;font-size:10px}.confirm-actions .secondary-button{width:auto;flex:1}.widget-settings-list{display:grid;gap:9px;margin-top:20px}.widget-settings-row{display:flex;align-items:center;gap:11px;padding:12px;background:var(--soft);border-radius:11px;font-size:11px}.widget-settings-row svg{width:20px;height:20px;color:var(--accent)}.widget-settings-row>div{flex:1}.widget-settings-row small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.widget-settings-row button{font-size:10px;color:var(--accent);padding:7px;background:oklch(98% .007 110);border-radius:6px}.loading-dots{display:inline-flex;gap:4px;align-items:center}.loading-dots i{height:4px;width:4px;background:var(--muted);border-radius:50%;animation:pulse 1s ease-in-out infinite alternate}.loading-dots i:nth-child(2){animation-delay:.2s}.loading-dots i:nth-child(3){animation-delay:.4s}
.app-label{flex-shrink:0;overflow:visible;font-size:10.5px;margin-top:5px}.stat-tile{background:#7d877927}.app-icon.spark svg{width:51px;height:51px;filter:drop-shadow(0 2px 2px #46366d44)}.app-icon.spark{background:linear-gradient(#c86cce,#9251bd)}.app-icon.message svg{width:51px;height:43px;filter:drop-shadow(0 2px 2px #14487033)}.app-icon.message{background:linear-gradient(#65bde5,#198dd9)}
@keyframes app-in{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes wiggle{from{rotate:-.55deg}to{rotate:.55deg}}@keyframes pulse{from{opacity:.3}to{opacity:1}}
@media(min-width:1450px){.workspace{gap:50px;max-width:1390px;grid-template-columns:270px minmax(430px,1fr) 290px;padding-top:38px;padding-bottom:24px}.intro-panel{margin-left:10px}h1{font-size:41px}.intro-copy{font-size:13px}.inspector{padding:26px 24px 0}.inspector-foot{margin:0 -24px}.theme-preview{height:81px}.panel-section{padding-bottom:23px}.phone-hint{margin-top:24px}}
@media(max-width:1120px){.workspace{grid-template-columns:190px minmax(320px,1fr) 260px;gap:24px;padding-left:30px;padding-right:30px}.intro-panel{margin-top:-10px}h1{font-size:31px}.eyebrow{font-size:8px;letter-spacing:1.5px}.intro-copy{font-size:11px}.feature-line{gap:10px}.feature-line strong{font-size:10px}.feature-line p{font-size:9px}.inspector{padding:20px 18px 0}.inspector-foot{margin:0 -18px}.inspector-subtitle{font-size:8px}.left-bottom{margin-top:50px}.top-nav{gap:24px}.brand strong span{display:none}}
@media(max-width:930px){.workspace{grid-template-columns:minmax(330px,1fr) 280px;max-width:780px;padding:25px 25px 15px;gap:35px}.intro-panel{display:none}.site-header{height:70px;padding:0 28px}.site-footer>span:first-child{display:none}.site-footer{justify-content:center;height:40px}.top-nav{gap:25px}.header-end .save-state{display:none}.inspector{margin-top:-20px}.brand strong{font-size:21px}.phone-hint{font-size:9px}.workspace{min-height:calc(100vh - 110px)}}
@media(max-width:650px){.site-header{height:58px;padding:0 20px;border:0;background:transparent}.brand-mark{width:22px;height:22px;gap:3px}.brand strong{font-size:19px}.brand{gap:9px}.top-nav{display:none}.header-end{gap:7px}.header-end .save-state{display:flex;font-size:9px}.focus-button{display:none}.workspace{display:flex;justify-content:center;padding:9px 0 5px;min-height:0;max-width:none}.inspector{display:none}.phone-hint{font-size:8px;margin-top:15px;letter-spacing:.2px}.site-footer{display:none}.mobile-toolbar{display:flex;margin:17px auto 15px;justify-content:center;gap:10px;width:min(94vw,360px)}.mobile-toolbar button{display:flex;align-items:center;gap:5px;background:oklch(93% .012 130);border:1px solid var(--line);font-size:10px;border-radius:20px;padding:9px 12px}.mobile-toolbar svg{height:13px;width:13px}.toast{bottom:85px}.phone-aura{width:95vw}.focus-mode .workspace{padding:12px 0}.focus-mode .mobile-toolbar{display:none}.focus-mode .exit-focus{right:8px;top:8px;padding:8px;opacity:.7}.focus-mode .exit-focus svg{width:15px;height:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.music-cover.playing,.music-widget.playing .vinyl,.editing .desktop-item{animation:none!important}}
