@charset "UTF-8";
:root{--bg:#f5f0e8;--paper:#fffcf7;--card:#fffefa;--ink:#3d352f;--muted:#95877b;--line:#e8ded3;--accent:#b9674e;--accent-dark:#914a37;--soft:#f5e5d9;--soft-2:#edceba;--shadow:0 10px 40px #4f352b07;--serif:"Noto Serif SC","Songti SC","STSong","SimSun",serif;--sans:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color-scheme:light;font-family:var(--sans);font-size:14px;color:var(--ink);background:var(--bg)}
:root[data-theme=green]{--bg:#eef3ef;--paper:#fafffa;--card:#fff;--ink:#2f4038;--muted:#7d8e83;--line:#dce5dc;--accent:#497762;--accent-dark:#315944;--soft:#e2eee4;--soft-2:#bdd6c3;--shadow:0 10px 40px #27473107}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 90% 0%,var(--soft) 0,transparent 38%),var(--bg);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{color:inherit;cursor:pointer;border:0;background:none}button:disabled{cursor:wait;opacity:.55}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input,textarea,select{color:var(--ink);accent-color:var(--accent)}input:focus,textarea:focus,select:focus{outline:0;border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 11%,transparent)}svg.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}img{max-width:100%;display:block}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button{appearance:none}textarea{resize:vertical;line-height:1.85}::selection{background:var(--soft-2)}
.boot{height:90vh;display:grid;place-content:center;gap:16px;text-align:center;color:var(--muted)}.boot-mark{font-size:50px;color:var(--accent)}.workspace{max-width:1180px;margin:auto;padding:0 44px 120px}.topbar{height:98px;display:flex;align-items:center;justify-content:space-between;gap:25px}.space-button{display:flex;align-items:center;gap:10px;padding:10px 0}.space-button>.icon{width:16px;color:var(--accent)}.space-button span:first-of-type{font-size:13px;font-weight:600;letter-spacing:.08em}.preview-badge{font-size:10px;color:var(--muted);border-left:1px solid var(--line);padding-left:10px;font-weight:400!important;letter-spacing:0!important}.top-tools{display:flex;gap:15px;align-items:center}.search{position:relative;display:flex;align-items:center;gap:10px;min-width:240px;padding:9px 14px;background:color-mix(in srgb,var(--paper) 65%,transparent);border:1px solid var(--line);border-radius:30px;color:var(--muted)}.search .icon{width:17px;height:17px}.search input{background:transparent;border:0;width:100%;font-size:11px;outline:none;box-shadow:none}.search-clear{display:flex;padding:0}.search-clear .icon{width:13px}.avatar{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:var(--soft);border:1px solid var(--soft-2);color:var(--accent);font-family:var(--serif);font-size:17px}.page-layout{display:grid;grid-template-columns:minmax(0,690px) 260px;gap:45px;align-items:start;justify-content:center}.page-layout.single{grid-template-columns:minmax(0,900px)}.main-column{min-width:0}.record-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:7px 0 26px}.segment{display:flex;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--paper) 60%,transparent);padding:4px;gap:4px}.segment button{padding:10px 26px;border-radius:7px;font-size:12px;letter-spacing:.02em;color:var(--muted);transition:.2s}.segment button.active{color:var(--paper);background:var(--accent);box-shadow:0 2px 5px #4931240b}.record-count{font-size:11px;color:var(--muted);letter-spacing:.04em}.filter-row{display:flex;align-items:center;gap:8px;margin:0 0 24px;flex-wrap:wrap}.pill{border:1px solid transparent;border-radius:30px;padding:7px 14px;color:var(--muted);font-size:11px;display:inline-flex;align-items:center;gap:5px}.pill.active{border-color:var(--line);color:var(--accent);background:var(--paper)}.pill .icon{width:13px;height:13px}.filter-clear{color:var(--accent);font-size:11px;margin-left:auto}.section-label{display:flex;gap:15px;align-items:center;font-size:11px;letter-spacing:.09em;color:var(--muted);margin:26px 0 15px}.section-label:after{content:"";height:1px;flex:1;background:var(--line)}.section-label:first-child{margin-top:0}.timeline-entry{display:grid;grid-template-columns:50px minmax(0,1fr);gap:18px;position:relative;padding-bottom:26px}.timeline-entry:before{content:"";position:absolute;left:24px;top:45px;bottom:0;width:1px;background:var(--line)}.timeline-entry:last-child:before{display:none}.date-stamp{text-align:center;padding-top:6px;position:relative;z-index:1}.date-stamp strong{font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.2}.date-stamp small{display:block;color:var(--muted);font-size:10px;margin-top:5px;letter-spacing:.05em}.date-stamp.fuzzy .icon{color:var(--muted);margin-top:5px;width:19px}.record-card{background:var(--card);border:1px solid color-mix(in srgb,var(--line) 85%,transparent);border-radius:13px;overflow:hidden;box-shadow:var(--shadow);transition:border-color .2s,transform .2s}.record-card:hover{border-color:var(--soft-2);transform:translateY(-1px)}.diary-card{padding:22px;cursor:pointer}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.card-title{font-family:var(--serif);font-size:24px;font-weight:600;letter-spacing:.03em;line-height:1.5}.card-title.small{font-size:20px}.tiny-tag{font-size:9px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:2px 5px;vertical-align:middle;margin-left:8px;white-space:nowrap;display:inline-block;font-family:var(--sans);font-weight:400;letter-spacing:0}.type-mark{color:var(--muted);display:flex;align-items:center;gap:5px;font-size:10px;white-space:nowrap}.type-mark .icon{width:14px;height:14px}.diary-cover{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:1.65;background:var(--soft);margin-bottom:17px}.diary-cover img{height:100%;width:100%;object-fit:cover;transition:transform .7s}.diary-card:hover .diary-cover img{transform:scale(1.025)}.image-count{position:absolute;bottom:10px;right:10px;display:flex;align-items:center;gap:5px;padding:5px 8px;background:#37251b70;color:#fff;border-radius:5px;font-size:10px;backdrop-filter:blur(8px)}.image-count .icon{width:13px;height:13px}.diary-excerpt{font-family:var(--serif);line-height:2;font-size:14px;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:.03em;color:color-mix(in srgb,var(--ink) 80%,var(--muted))}.card-footer{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted)}.people-inline{display:flex;align-items:center;gap:6px}.people-inline span{display:inline-block;border-radius:50%;height:20px;width:20px;line-height:20px;text-align:center;background:var(--soft);font-size:9px;color:var(--accent)}.text-link{font-size:11px;color:var(--accent);display:inline-flex;gap:5px;align-items:center}.text-link .icon{width:13px;height:13px}.photo-card{padding:18px;cursor:pointer}.photo-card .card-top{margin-bottom:12px}.photo-card-title{font-family:var(--serif);font-size:18px;font-weight:500}.photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;border-radius:8px;overflow:hidden}.photo-strip.one{grid-template-columns:1fr}.photo-strip.one img{aspect-ratio:1.9}.photo-strip img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--soft)}.photo-card-copy{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.8}.empty{padding:70px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper) 65%,transparent)}.empty .icon{width:35px;height:35px;margin-bottom:18px;color:var(--soft-2)}.empty strong{display:block;color:var(--ink);font-family:var(--serif);font-size:20px;font-weight:500;margin-bottom:12px}.empty p{font-size:12px;line-height:1.9}.empty .btn{margin-top:20px}
.sidebar{padding-top:7px;position:sticky;top:25px}.calendar-card{border:1px solid var(--line);border-radius:14px;padding:23px 18px;background:color-mix(in srgb,var(--paper) 70%,transparent)}.calendar-heading{display:flex;align-items:baseline;justify-content:space-between;padding:0 7px 18px}.calendar-heading strong{font-family:var(--serif);font-size:31px;font-weight:400}.calendar-heading span{font-size:10px;color:var(--muted);letter-spacing:.12em}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:8px 0}.calendar-grid span{font-size:10px;color:var(--muted);padding:5px 0}.calendar-grid button{font-size:11px;position:relative;aspect-ratio:1;border-radius:50%;padding:0}.calendar-grid button.has-record:after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:var(--accent);bottom:2px;left:calc(50% - 1.5px)}.calendar-grid button.today{color:var(--accent);background:var(--soft)}.calendar-grid button:hover{background:var(--soft)}.sidebar-note{font-family:var(--serif);font-size:16px;color:var(--muted);line-height:1.9;margin:28px 8px}.sidebar-people{display:flex;align-items:center;margin:28px 8px 0;gap:0}.sidebar-people .person-circle{margin-right:-5px;border:3px solid var(--bg);width:39px;height:39px}.sidebar-people .text-link{margin-left:15px}.local-status{font-size:10px;color:var(--muted);line-height:1.8;margin:30px 8px 0;display:flex;align-items:flex-start;gap:7px}.local-status .icon{width:13px;height:13px;margin-top:2px}.storage-warning{padding:12px 16px;background:#fff0cf;border:1px solid #e4c47f;color:#74552a;line-height:1.7;font-size:12px;border-radius:8px;margin-bottom:20px}
.bottom-nav{position:fixed;z-index:30;bottom:20px;left:50%;transform:translateX(-50%);width:min(550px,calc(100% - 32px));height:73px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--paper) 94%,transparent);border-radius:21px;box-shadow:0 9px 35px #4f302817;backdrop-filter:blur(20px);display:grid;grid-template-columns:repeat(5,1fr);padding:7px 13px;align-items:center}.nav-item{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:9px;color:var(--muted);padding:5px;letter-spacing:.04em}.nav-item .icon{width:22px;height:22px}.nav-item.active{color:var(--accent)}.nav-add{width:54px;height:54px;background:var(--accent);border-radius:50%;color:var(--paper);display:grid;place-items:center;justify-self:center;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 20%,transparent);border:4px solid var(--paper);transform:translateY(-12px);transition:.2s}.nav-add:hover{background:var(--accent-dark);transform:translateY(-14px)}.nav-add .icon{width:25px;height:25px;stroke-width:1.4}.add-open .nav-add{transform:translateY(-12px) rotate(45deg)}.add-open .bottom-nav{z-index:65}
.photo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:6px 0 25px}.photo-toolbar .filter-row{margin:0}.photo-toolbar .count{color:var(--muted);font-size:11px;white-space:nowrap}.person-filter{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:0 0 22px}.person-filter button{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:11px;border:1px solid var(--line);border-radius:30px;padding:5px 10px 5px 5px;color:var(--muted)}.person-filter button.active{border-color:var(--accent);color:var(--accent);background:var(--soft)}.person-circle{display:inline-grid;place-items:center;width:33px;height:33px;border-radius:50%;background:var(--soft);color:var(--accent);font-family:var(--serif);font-size:15px;flex-shrink:0}.person-filter .person-circle{width:23px;height:23px;font-size:11px}.photo-day{margin-bottom:32px}.day-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin:0 0 13px}.day-heading strong{font-family:var(--serif);font-size:20px;font-weight:500}.day-heading small{font-size:10px;color:var(--muted);margin-left:10px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.photo-tile{padding:0;text-align:left;min-width:0;position:relative}.photo-tile img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:var(--soft);transition:filter .2s}.photo-tile:hover img{filter:brightness(.94)}.photo-tile .caption{font-size:10px;color:var(--muted);margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-persons{position:absolute;right:7px;top:7px;color:#fff;font-size:9px;background:#392c2370;backdrop-filter:blur(4px);padding:4px 6px;border-radius:4px;display:flex;align-items:center;gap:3px}.tile-persons .icon{width:12px;height:12px}.day-note{padding:14px 16px;background:color-mix(in srgb,var(--soft) 50%,var(--paper));border:1px solid var(--line);border-radius:9px;font-family:var(--serif);font-size:13px;line-height:1.9;margin-bottom:13px;display:flex;justify-content:space-between;gap:15px}.day-note .icon{width:15px;height:15px}.day-note button{align-self:flex-start;color:var(--muted);padding:2px}.back-row{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 22px}.back-row button{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.group-banner{margin-bottom:24px}.group-banner h2{font-family:var(--serif);font-size:27px;font-weight:500;margin-bottom:8px}.group-banner p{font-size:11px;color:var(--muted)}
.profile-header{display:flex;gap:18px;align-items:center;padding:12px 2px 29px}.profile-art{width:65px;height:65px;background:linear-gradient(145deg,#edc9aa 0%,#ecc5a5 35%,#b28d7c 36%,#d9b998 60%,#9a7261 61%,#947d6c);border-radius:50%;position:relative;overflow:hidden}.profile-art:after{content:"";position:absolute;left:12px;top:10px;background:#fff8df9c;width:12px;height:12px;border-radius:50%}.profile-info strong{font-family:var(--serif);font-size:23px;letter-spacing:.04em;font-weight:500}.profile-info p{font-size:11px;color:var(--muted);margin-top:9px}.profile-stats{display:flex;gap:26px;margin-left:auto;text-align:center}.profile-stats strong{display:block;font-family:var(--serif);font-weight:400;font-size:25px}.profile-stats small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.settings-section{border-top:1px solid var(--line);padding:24px 0}.settings-label{font-size:11px;color:var(--muted);margin-bottom:15px;letter-spacing:.08em;display:flex;align-items:center;justify-content:space-between}.skin-options{display:grid;grid-template-columns:1fr 1fr;gap:15px}.skin{padding:13px;border:1px solid var(--line);border-radius:12px;text-align:left;background:var(--card);position:relative}.skin.selected{outline:1px solid var(--accent);border-color:var(--accent)}.skin-preview{height:103px;border-radius:6px;padding:13px 13px 0;overflow:hidden;background:#f6eee1;position:relative}.skin-preview.green{background:#e8f0e9}.skin-preview:before{content:"";display:block;width:54%;height:7px;background:#c3876d;border-radius:3px;margin-bottom:11px}.skin-preview.green:before{background:#5f8b6d}.skin-preview .mini-cover{height:51px;overflow:hidden;border-radius:4px;opacity:.85}.mini-cover img{width:100%;height:100%;object-fit:cover}.skin-preview .mini-line{height:5px;border-radius:3px;background:#ded0bd;margin-top:8px;width:70%}.skin-preview.green .mini-line{background:#c5d8c8}.skin-label{display:flex;align-items:center;justify-content:space-between;padding:13px 2px 1px;font-size:12px}.skin-label .icon{width:17px;height:17px;color:var(--accent)}.settings-note{font-size:10px;color:var(--muted);line-height:1.8;margin-top:13px}.person-list{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.person-card{padding:16px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);display:flex;align-items:center;gap:11px;text-align:left}.person-card .person-circle{width:36px;height:36px;font-size:15px}.person-card strong{display:block;font-size:12px;font-weight:500}.person-card small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.settings-row{display:flex;align-items:center;width:100%;padding:17px 0;border-bottom:1px solid var(--line);gap:11px;text-align:left;font-size:12px}.settings-row>.icon{color:var(--muted);width:18px}.settings-row>.value{margin-left:auto;color:var(--muted);display:flex;gap:6px;align-items:center;font-size:11px}.settings-row>.value .icon{width:15px}.danger-text{color:#ad5548!important}.preview-explanation{font-size:10px;line-height:1.9;color:var(--muted);padding:23px 0 8px}
.map-controls{display:flex;justify-content:space-between;align-items:center;margin:6px 0 20px;gap:12px}.map-controls .segment button{padding:9px 21px}.map-badge{font-size:10px;color:var(--muted);display:flex;gap:5px;align-items:center}.map-badge .icon{width:13px}.map-canvas{height:390px;position:relative;isolation:isolate;z-index:0;overflow:hidden;border-radius:14px;border:1px solid var(--line);background:#edf0e7}.map-canvas svg.map-drawing{height:100%;width:100%;object-fit:cover;opacity:.85}.map-caption{position:absolute;bottom:12px;right:13px;font-size:9px;color:#6d7c70;background:#ffffffc9;padding:5px 8px;border-radius:5px}.map-location-chip{position:absolute;left:15px;top:15px;border-radius:7px;background:#ffffffed;color:#50604d;font-size:11px;padding:9px 13px;box-shadow:0 1px 6px #48534210}.map-pin{position:absolute;transform:translate(-50%,-100%);color:var(--accent);filter:drop-shadow(0 3px 2px #263e3425);padding:0;display:flex;align-items:center;flex-direction:column}.map-pin .icon{width:35px;height:35px;fill:var(--accent);stroke:var(--paper);stroke-width:1.1}.map-pin span{font-size:9px;background:var(--card);color:var(--ink);padding:4px 7px;border-radius:4px;box-shadow:0 1px 7px #0001;margin-bottom:3px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-summary{display:flex;align-items:center;justify-content:space-between;padding:24px 0 18px;font-size:12px}.map-summary strong{font-family:var(--serif);font-size:24px;font-weight:400;color:var(--accent);margin:0 5px}.location-row{display:flex;gap:13px;align-items:center;background:var(--card);border:1px solid var(--line);padding:13px;border-radius:9px;margin-bottom:10px;width:100%;text-align:left}.location-row img{width:55px;height:55px;object-fit:cover;border-radius:6px}.location-row .place-symbol{width:43px;height:43px;background:var(--soft);display:grid;place-items:center;border-radius:9px;color:var(--accent)}.location-row strong{font-size:12px;font-weight:500}.location-row small{font-size:10px;color:var(--muted);display:block;margin-top:6px}.location-row .text-link{margin-left:auto}.location-row>.icon:last-child{margin-left:auto;color:var(--muted);width:16px}.map-empty{height:390px;display:grid;place-content:center;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:14px;color:var(--muted);gap:15px}.map-empty>.icon{margin:auto;width:35px;height:35px;color:var(--soft-2)}
.btn{border-radius:8px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:10px 17px;gap:7px;background:var(--accent);color:var(--paper);font-size:12px;transition:.2s}.btn:hover{background:var(--accent-dark)}.btn.secondary{background:var(--soft);color:var(--accent)}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}.btn .icon{width:16px;height:16px}.btn.full{width:100%}.icon-button{padding:8px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--muted)}.icon-button:hover{background:var(--soft)}.icon-button .icon{width:19px;height:19px}.subtle{font-size:11px;color:var(--muted);line-height:1.8}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;min-width:0}.field>span,.field-label{font-size:11px;color:var(--muted);display:flex;gap:6px;align-items:center}.field input,.field textarea,.field select,.form-input{width:100%;background:var(--card);border:1px solid var(--line);border-radius:7px;padding:12px 13px;font-size:13px;min-width:0}.field textarea{min-height:95px}.field small{font-size:10px;color:var(--muted)}.form-grid .field{margin-bottom:15px}.text-chips{display:flex;gap:7px;flex-wrap:wrap;margin:-3px 0 20px}.text-chips button{font-size:11px;color:var(--muted);background:var(--soft);padding:6px 11px;border-radius:25px}.check-label{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.7;margin:15px 0;color:var(--muted)}.person-choice{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.person-choice button{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:25px;padding:4px 11px 4px 4px;font-size:11px;color:var(--muted)}.person-choice button.selected{border-color:var(--accent);background:var(--soft);color:var(--accent)}.person-choice .person-circle{width:25px;height:25px;font-size:11px}.muted-panel{padding:14px 16px;border:1px solid var(--line);background:var(--soft);border-radius:8px;color:var(--muted);font-size:11px;line-height:1.9;margin:17px 0}
.modal-backdrop{position:fixed;inset:0;z-index:50;background:#312b265c;backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;padding:30px 20px;animation:fade-in .18s}.modal{width:min(620px,100%);max-height:calc(100dvh - 60px);overflow-y:auto;overscroll-behavior:contain;background:var(--paper);border:1px solid color-mix(in srgb,var(--line) 50%,transparent);border-radius:17px;box-shadow:0 30px 100px #23180f30;animation:rise-in .22s ease-out}.modal.wide{width:min(740px,100%)}.modal.small{width:min(430px,100%)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;position:sticky;top:0;background:color-mix(in srgb,var(--paper) 97%,transparent);z-index:4;border-bottom:1px solid var(--line);min-height:61px}.modal-header .header-info{color:var(--muted);font-size:11px;display:flex;align-items:center;gap:7px}.modal-header .header-info>.icon{width:15px}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding:17px 24px;background:var(--paper);position:sticky;bottom:0;z-index:3}.modal-footer .footer-note{margin-right:auto;align-self:center;color:var(--muted);font-size:10px}.modal-sheet-backdrop{align-items:flex-end;padding-bottom:109px}.add-sheet{width:min(510px,100%);border-radius:18px;padding:13px 20px 22px;max-height:75vh}.sheet-handle{width:35px;height:4px;border-radius:6px;background:var(--line);margin:0 auto 4px}.sheet-top{display:flex;justify-content:flex-end;height:31px;align-items:center}.add-option{display:flex;align-items:center;gap:16px;width:100%;border:1px solid var(--line);border-radius:10px;padding:18px 16px;margin-top:10px;background:var(--card);text-align:left}.add-option:hover{border-color:var(--soft-2);background:var(--soft)}.add-option>span:first-child{width:45px;height:45px;border-radius:10px;display:grid;place-items:center;background:var(--soft);color:var(--accent)}.add-option>span:first-child>.icon{width:25px;height:25px}.add-option strong{font-family:var(--serif);font-size:20px;font-weight:500}.add-option small{display:block;margin-top:7px;font-size:10px;color:var(--muted);line-height:1.5}.add-option>.icon:last-child{margin-left:auto;color:var(--muted);width:16px}.diary-title-input{font-family:var(--serif)!important;font-size:25px!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;padding:14px 0!important;background:transparent!important;box-shadow:none!important}.diary-body-input{border:0!important;border-radius:0!important;background:transparent!important;padding:10px 0!important;min-height:190px!important;font-family:var(--serif)!important;font-size:16px!important;line-height:2.1!important;box-shadow:none!important}.editor-date{border:1px solid var(--line);border-radius:6px;padding:7px 10px;background:var(--card);font-size:11px;color:var(--muted);max-width:180px}.editor-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:10px 0 20px}.editor-photo{position:relative}.editor-photo img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:7px}.editor-photo button{position:absolute;top:4px;right:4px;background:#2e221779;color:#fff;display:grid;place-items:center;padding:4px;border-radius:50%}.editor-photo button .icon{width:12px;height:12px}.editor-add{width:100%;border:1px dashed var(--soft-2);border-radius:8px;padding:18px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px}.editor-add .icon{width:18px}.photo-library{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.library-photo{position:relative;border:2px solid transparent;padding:0;border-radius:9px;overflow:hidden}.library-photo img{width:100%;aspect-ratio:1;object-fit:cover}.library-photo.selected{border-color:var(--accent)}.library-photo span{position:absolute;right:6px;top:6px;width:21px;height:21px;background:var(--paper);border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--accent)}.library-photo.selected span{background:var(--accent);border-color:var(--accent);color:var(--paper)}.library-photo .icon{width:13px;height:13px}.upload-drop{border:1px dashed var(--soft-2);border-radius:10px;padding:35px 20px;text-align:center;background:var(--soft);width:100%;color:var(--accent);display:block}.upload-drop>.icon{width:29px;height:29px;margin:0 auto 12px}.upload-drop strong{display:block;font-size:14px;font-weight:500;margin-bottom:9px}.upload-drop small{color:var(--muted);font-size:10px}.upload-list{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:20px 0}.upload-tile{position:relative;min-width:0}.upload-tile img{aspect-ratio:1;object-fit:cover;border-radius:7px;width:100%}.upload-tile small{font-size:9px;color:var(--muted);display:block;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-tile button{position:absolute;right:4px;top:4px;background:#fff9;border-radius:50%;padding:3px;display:flex}.upload-tile button .icon{width:12px;height:12px}.upload-progress{height:3px;border-radius:3px;overflow:hidden;background:var(--line);margin:12px 0}.upload-progress>span{display:block;height:100%;background:var(--accent);transition:width .3s}.upload-status{font-size:11px;color:var(--muted);margin:10px 0;line-height:1.8}.viewer-image{position:relative;overflow:hidden;background:var(--soft);touch-action:pan-y;border-radius:8px}.viewer-image.tagging{cursor:crosshair;touch-action:none}.viewer-image>img{width:100%;height:auto;user-select:none;pointer-events:none}.face-mark{position:absolute;border:2px solid #fff7d4;box-shadow:0 0 0 1px #65553e40;border-radius:5px;color:#fff;cursor:pointer;background:#fff0;padding:0}.face-mark span{position:absolute;left:-2px;top:calc(100% + 3px);background:#473c2eb5;color:#fff;padding:4px 7px;border-radius:4px;font-size:10px;white-space:nowrap}.draw-mark{position:absolute;border:2px dashed #ffec9c;background:#fff7d417;border-radius:4px;pointer-events:none}.viewer-top-actions{display:flex;align-items:center;gap:8px;margin:18px 0;flex-wrap:wrap}.viewer-top-actions button{display:flex;gap:5px;align-items:center;font-size:11px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;color:var(--muted)}.viewer-top-actions button.active{color:var(--accent);border-color:var(--accent);background:var(--soft)}.viewer-top-actions .icon{width:15px;height:15px}.viewer-meta{display:flex;align-items:center;gap:14px;margin:18px 0;flex-wrap:wrap}.viewer-meta button,.viewer-meta span{font-size:11px;color:var(--muted);display:flex;gap:5px;align-items:center}.viewer-meta .icon{width:14px;height:14px}.viewer-caption{font-family:var(--serif);font-size:16px;line-height:2;white-space:pre-wrap;margin:15px 0 22px}.viewer-people{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:17px 0}.viewer-people button{display:flex;align-items:center;gap:5px;font-size:11px;background:var(--soft);color:var(--accent);border-radius:25px;padding:5px 10px}.viewer-people .icon{width:13px;height:13px}.diary-detail-title{font-family:var(--serif);font-size:29px;font-weight:500;line-height:1.6;margin:3px 0 22px}.diary-detail-body{font-family:var(--serif);font-size:16px;line-height:2.2;white-space:pre-wrap;margin-bottom:25px;letter-spacing:.03em}.detail-photo{width:100%;padding:0;display:block;margin:14px 0;border-radius:8px;overflow:hidden}.detail-photo img{width:100%}.person-profile{text-align:center;margin:7px 0 25px}.person-profile .person-circle{width:60px;height:60px;font-size:25px;margin:auto auto 12px}.person-profile h2{font-family:var(--serif);font-weight:500;font-size:25px}.person-profile p{font-size:11px;color:var(--muted);margin-top:9px}.invite-steps{display:grid;gap:0;margin:20px 0}.invite-step{display:flex;gap:13px;position:relative;padding-bottom:23px;align-items:flex-start}.invite-step:before{content:"";position:absolute;left:13px;top:29px;bottom:3px;width:1px;background:var(--line)}.invite-step:last-child:before{display:none}.invite-step>span{background:var(--soft);border:1px solid var(--line);color:var(--accent);border-radius:50%;height:28px;width:28px;display:grid;place-items:center;font-size:11px;flex-shrink:0}.invite-step strong{font-size:12px;font-weight:500;display:block;margin:4px 0 6px}.invite-step p{font-size:10px;color:var(--muted);line-height:1.8}.toast{position:fixed;bottom:115px;left:50%;transform:translate(-50%,12px);background:color-mix(in srgb,var(--ink) 95%,transparent);color:var(--paper);padding:12px 19px;font-size:12px;border-radius:8px;z-index:100;box-shadow:0 4px 20px #0002;max-width:min(480px,90%);line-height:1.7;pointer-events:none;opacity:0;transition:.2s;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes rise-in{from{transform:translateY(12px);opacity:.5}to{transform:translateY(0);opacity:1}}
@media(min-width:1300px){.workspace{padding-top:12px}.page-layout{gap:60px}.topbar{height:105px}.timeline-entry{grid-template-columns:58px minmax(0,1fr);gap:22px}.timeline-entry:before{left:28px}.diary-card{padding:25px}.diary-cover{aspect-ratio:1.75}}
@media(max-width:900px){.workspace{padding:0 25px 115px;max-width:740px}.page-layout{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.topbar{height:84px}.search{min-width:210px}.profile-stats{gap:19px}}
@media(max-width:560px){body{background:var(--paper)}.workspace{padding:0 18px 110px}.topbar{height:72px;gap:12px}.space-button{gap:7px}.space-button span:first-of-type{font-size:11px}.space-button>.icon{width:13px}.preview-badge{font-size:9px;padding-left:7px}.top-tools{gap:9px}.search{min-width:0;padding:8px 10px;width:38px;height:35px;transition:.2s}.search input{width:0;padding:0;opacity:0}.search:focus-within,.search.has-query{width:170px}.search:focus-within input,.search.has-query input{width:100%;opacity:1;font-size:10px}.search-clear{display:none}.search.has-query .search-clear{display:flex}.avatar{width:31px;height:31px;font-size:14px}.record-controls{margin:4px 0 19px;gap:8px}.segment{border-radius:8px;padding:3px;gap:3px}.segment button{padding:9px 20px;font-size:11px;border-radius:5px}.record-count{font-size:9px}.filter-row{gap:3px;margin-bottom:20px}.pill{font-size:10px;padding:6px 11px}.timeline-entry{grid-template-columns:34px minmax(0,1fr);gap:10px;padding-bottom:20px}.timeline-entry:before{left:16px;top:43px}.date-stamp strong{font-size:23px}.date-stamp small{font-size:9px}.diary-card{padding:16px}.card-title{font-size:21px}.card-title.small{font-size:19px}.card-top{margin-bottom:13px}.diary-cover{aspect-ratio:1.25;margin-bottom:13px}.diary-excerpt{font-size:13px;line-height:1.95;-webkit-line-clamp:3}.type-mark{font-size:9px}.type-mark .icon{display:none}.tiny-tag{font-size:8px;padding:1px 4px;margin-left:5px}.card-footer{font-size:9px;margin-top:13px;padding-top:11px}.card-footer .text-link{font-size:10px}.photo-card{padding:13px}.photo-card-title{font-size:16px}.photo-card-copy{font-size:11px}.section-label{font-size:10px}.bottom-nav{bottom:0;border-radius:0;width:100%;height:calc(69px + env(safe-area-inset-bottom));padding:6px 12px calc(6px + env(safe-area-inset-bottom));border-left:0;border-right:0;border-bottom:0;box-shadow:0 -4px 25px #4f302806;background:color-mix(in srgb,var(--paper) 96%,transparent)}.nav-add{width:53px;height:53px;transform:translateY(-11px);border-width:4px}.nav-item{font-size:9px;gap:4px}.nav-item .icon{width:22px;height:22px}.photo-grid{gap:9px}.photo-tile .caption{font-size:9px}.photo-toolbar{margin-bottom:21px}.photo-toolbar .count{font-size:9px}.day-heading strong{font-size:18px}.day-heading small{font-size:9px}.day-heading .text-link{font-size:10px}.day-note{font-size:12px;padding:12px}.profile-header{gap:13px;padding:7px 0 24px}.profile-art{width:49px;height:49px}.profile-info strong{font-size:20px}.profile-info p{font-size:10px}.profile-stats{gap:13px}.profile-stats strong{font-size:22px}.profile-stats small{font-size:9px}.skin-preview{height:99px;padding:13px 10px 0}.skin-label{font-size:11px}.skin{padding:10px}.skin-options{gap:11px}.person-list{gap:7px}.person-card{flex-direction:column;gap:9px;text-align:center;padding:14px 7px}.person-card strong{font-size:11px}.person-card small{font-size:9px}.settings-row{font-size:11px}.settings-row .value{font-size:10px}.map-canvas,.map-empty{height:370px}.map-controls .segment button{padding:9px 16px}.map-badge{font-size:9px}.map-summary{font-size:11px}.map-summary .btn{padding:9px 12px;font-size:10px}.modal-backdrop{padding:10px;align-items:flex-end}.modal{max-height:94dvh;border-radius:15px;width:100%}.modal-header{padding:13px 17px;min-height:55px}.modal-body{padding:20px 17px}.modal-footer{padding:14px 17px;gap:9px}.modal-footer .btn{font-size:11px;padding:10px 15px}.modal-sheet-backdrop{padding:10px 12px calc(88px + env(safe-area-inset-bottom))}.add-sheet{padding:12px 15px 18px;border-radius:16px}.add-option{padding:17px 13px;gap:13px}.add-option strong{font-size:19px}.add-option small{font-size:10px}.add-option>span:first-child{width:43px;height:43px}.add-option>span:first-child>.icon{width:24px;height:24px}.toast{bottom:94px;font-size:11px;width:max-content;max-width:88%}.upload-list{grid-template-columns:repeat(3,1fr)}.form-grid{gap:9px}.diary-detail-title{font-size:26px}.diary-detail-body{font-size:15px}.viewer-top-actions{gap:6px}.viewer-top-actions button{font-size:10px;padding:8px}.modal-footer .footer-note{font-size:9px}.person-filter{padding-bottom:20px;gap:6px}.person-filter button{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
[hidden]{display:none!important}.people-inline span:last-child{width:auto;height:auto;line-height:1.5;background:transparent;border-radius:0;color:var(--muted);white-space:nowrap;margin-left:3px}.card-footer>.text-link{white-space:nowrap}
.account-summary{width:100%;display:flex;align-items:center;gap:13px;padding:15px 17px;border:1px solid var(--line);border-radius:10px;text-align:left;background:var(--soft);margin-bottom:25px}.account-summary>.icon{width:20px;color:var(--accent);flex-shrink:0}.account-summary>span{flex:1;min-width:0}.account-summary strong{font-size:12px;font-weight:500;display:block}.account-summary small{font-size:10px;color:var(--muted);display:block;margin-top:6px;line-height:1.7}.account-summary>.icon:last-child{width:15px}.auth-intro{margin-bottom:25px}.auth-intro strong{font-family:var(--serif);font-size:24px;font-weight:500}.auth-intro p{font-size:11px;color:var(--muted);margin-top:10px;line-height:1.9}.field>.code-input-row{display:flex;align-items:stretch;gap:9px}.code-input-row>input{flex:1;width:0}.code-input-row>.btn{white-space:nowrap;font-size:11px;padding:10px 12px}.account-profile{display:flex;align-items:center;flex-direction:column;gap:12px;margin:5px 0 23px}.account-profile>.icon{width:30px;height:30px;color:var(--accent)}.account-profile strong{font-family:var(--serif);font-size:24px;font-weight:500}.account-profile>span{font-size:12px;color:var(--muted)}.space-options{display:grid;gap:10px;margin-bottom:18px}.space-option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:9px;padding:15px 13px;text-align:left;background:var(--card)}.space-option.selected{background:var(--soft);border-color:var(--accent)}.space-option>.icon{width:20px;color:var(--accent);flex-shrink:0}.space-option>span{flex:1;min-width:0}.space-option strong{font-size:12px;font-weight:500;display:block;overflow-wrap:anywhere}.space-option small{font-size:10px;color:var(--muted);display:block;margin-top:7px;line-height:1.7}.space-option>.icon:last-child{width:15px}.operation-error{color:#a14335;border-color:#cb9489}.storage-warning .text-link{margin-left:12px}.topbar>.space-button{min-width:0}.space-button span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.preview-badge{white-space:nowrap}.profile-info{min-width:0}.profile-info strong{overflow-wrap:anywhere}
@media(max-width:560px){.space-button{gap:5px}.space-button span:first-of-type{max-width:95px;letter-spacing:0}.preview-badge{font-size:8px;padding-left:5px}.topbar{gap:6px}.top-tools{gap:6px}.space-option{padding:13px 11px}.account-summary{padding:13px}.profile-info strong{font-size:18px}.profile-stats{flex-shrink:0}}
.entry-open{background:var(--bg)}
.entry-page{max-width:1160px;min-height:100dvh;padding:38px 44px 25px;margin:auto;display:flex;flex-direction:column}
.entry-brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:17px;color:var(--ink);letter-spacing:.08em}
.entry-brand>.icon{width:23px;height:23px;color:var(--accent);stroke-width:1.5}
.entry-brand>small{font-family:var(--sans);font-size:9px;color:var(--muted);letter-spacing:.03em;border-left:1px solid var(--line);padding-left:12px;margin-left:4px}
.entry-layout{display:grid;grid-template-columns:minmax(0,1fr) 405px;gap:80px;align-items:center;flex:1;padding:45px 0 50px}
.entry-story{padding:0 15px 0 5px}
.entry-story h1{font-family:var(--serif);font-size:40px;line-height:1.7;font-weight:500;letter-spacing:.1em;margin:22px 0 15px}
.entry-story>p{font-size:12px;line-height:2.2;letter-spacing:.06em;color:var(--muted)}
.entry-card{background:var(--paper);padding:34px 31px;border:1px solid var(--line);border-radius:18px;box-shadow:0 15px 50px #69483108;position:relative}
.entry-card:before{content:"";position:absolute;left:28px;right:28px;top:0;height:3px;background:linear-gradient(90deg,var(--soft-2),var(--accent),var(--soft-2));opacity:.5;border-radius:0 0 8px 8px}
.entry-card-heading{margin-bottom:30px}.entry-eyebrow{font-size:10px;letter-spacing:.18em;color:var(--accent);display:block;margin-bottom:12px}
.entry-card-heading h2{font-family:var(--serif);font-size:28px;font-weight:500;letter-spacing:.06em;margin-bottom:11px}
.entry-card-heading>p{font-size:10px;line-height:1.9;color:var(--muted)}
.entry-card .field{margin-bottom:20px}.entry-card .field input{padding:13px 12px;font-size:12px;background:color-mix(in srgb,var(--paper) 70%,var(--bg))}
.entry-card .code-input-row{gap:8px}.entry-card .code-input-row>.btn{font-size:10px;padding:10px 11px}
.entry-delivery{display:flex;align-items:flex-start;gap:7px;font-size:10px;line-height:1.9;color:var(--muted);margin:22px 0}
.entry-delivery>.icon{width:13px;height:13px;flex-shrink:0;margin-top:3px;color:var(--accent)}
.entry-delivery strong{display:block;color:var(--accent);font-weight:400;margin-top:5px}
.entry-submit{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;font-size:13px;padding:14px 16px;border-radius:8px;letter-spacing:.06em}
.entry-submit>.icon{width:15px;height:15px}.entry-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:24px}
.entry-footer>span{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--muted)}.entry-footer .icon{width:12px;height:12px}.entry-footer .text-link{font-size:9px}
.entry-error{border:1px solid #d7afa5;background:#fff2e9;border-radius:7px;padding:11px 12px;font-size:11px;color:#984d3c;line-height:1.8;margin-bottom:20px}
.entry-bottom{text-align:center;font-family:var(--serif);font-size:10px;color:var(--muted);letter-spacing:.12em;line-height:1.9}
.entry-illustration{position:relative;height:260px;width:360px;max-width:100%;margin-left:5px}
.entry-orbit{position:absolute;width:270px;height:250px;top:0;left:32px;background:radial-gradient(ellipse,var(--soft),transparent 72%);border-radius:50%}
.entry-sheet{position:absolute;width:172px;height:205px;background:#fffaf0;box-shadow:0 9px 27px #72503c13;border:1px solid #e5d8c4;border-radius:4px}
.sheet-back{left:72px;top:20px;transform:rotate(-13deg);background:repeating-linear-gradient(transparent 0 21px,#d8ccb650 21px 22px),#f3e6cc}
.sheet-front{left:112px;top:21px;transform:rotate(8deg);padding:14px 13px}.sheet-front:before{content:"";width:67px;height:19px;position:absolute;left:49px;top:-10px;background:#c6ae826b;transform:rotate(-5deg);border-left:2px dotted #f0e6d4;border-right:2px dotted #f0e6d4}
.sheet-date{font-family:var(--serif);font-size:9px;color:#8d7762;display:block;margin-bottom:10px;letter-spacing:.03em}
.sheet-landscape{height:89px;background:linear-gradient(155deg,#f3d1a4,#e8bc8e);position:relative;overflow:hidden;border-radius:2px;margin-bottom:12px}
.sheet-landscape:before{content:"";position:absolute;width:30px;height:30px;top:12px;right:18px;border-radius:50%;background:#f9e7bb}
.sheet-landscape:after{content:"";position:absolute;width:170px;height:90px;border-radius:50%;background:#8d9a7f;left:-18px;top:61px;transform:rotate(-13deg)}
.sheet-landscape>span{position:absolute;width:120px;height:66px;border-radius:50%;background:#bd936f;right:-22px;top:58px;transform:rotate(20deg)}
.sheet-landscape>.icon{position:absolute;bottom:9px;left:12px;width:13px;height:13px;color:#fff5dc;z-index:1;stroke-width:1.3}
.sheet-front>i{display:block;width:96%;height:3px;background:#decdb5;border-radius:1px;margin-bottom:7px;opacity:.7}.sheet-front>i:nth-of-type(2){width:72%}.sheet-front>i:nth-of-type(3){width:83%}
.sheet-stamp{font-family:var(--serif);font-size:8px;color:#b47d64;position:absolute;right:11px;bottom:9px;transform:rotate(-8deg);border:1px solid #c69e8c8c;padding:2px 4px;letter-spacing:.05em}
.entry-spark{position:absolute;color:#c99b6f}.spark-one{left:25px;top:57px;font-size:23px}.spark-two{right:14px;top:112px;font-size:19px}
.entry-leaf{position:absolute;left:27px;bottom:15px;transform:rotate(-29deg);color:#8e9b75}.entry-leaf>.icon{width:59px;height:59px;stroke-width:.8}
.entry-pencil{position:absolute;bottom:10px;left:183px;width:111px;height:6px;border-radius:1px;background:linear-gradient(#d5a375 0 35%,#b78760 35% 72%,#e3b68a 72%);transform:rotate(-16deg);box-shadow:0 3px 5px #76553315}
.entry-pencil:before{content:"";position:absolute;left:-14px;top:0;border-top:3px solid transparent;border-bottom:3px solid transparent;border-right:14px solid #bd9b79}.entry-pencil:after{content:"";position:absolute;right:0;top:0;height:100%;width:9px;background:#a87e70;border-radius:0 1px 1px 0}
.welcome-layout{width:100%;max-width:590px;margin:45px auto 20px;text-align:center;flex:1}
.welcome-mark{position:relative;display:grid;place-items:center;width:61px;height:61px;margin:0 auto 22px;background:var(--soft);border:1px solid var(--line);border-radius:21px;transform:rotate(-7deg);color:var(--accent)}.welcome-mark>.icon{width:28px;height:28px;stroke-width:1.3}.welcome-mark>span{position:absolute;right:-8px;top:-5px;font-size:19px;color:var(--accent)}
.welcome-heading h1{font-family:var(--serif);font-size:32px;font-weight:500;line-height:1.7;letter-spacing:.05em}.welcome-heading>p{font-size:11px;line-height:2;color:var(--muted);margin-top:12px}
.welcome-card{text-align:left;margin-top:28px;padding:30px 34px}.welcome-card .field>span{justify-content:space-between}.welcome-card .field small{font-size:9px;color:var(--muted);font-weight:400}
.welcome-theme-label{font-size:11px;color:var(--muted);margin:25px 0 13px}.welcome-themes{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:27px}
.welcome-theme{text-align:left;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.welcome-theme.selected{border-color:var(--accent);outline:1px solid var(--accent)}
.welcome-theme-paper{height:68px;background:#f2e7d5;border-radius:5px;padding:15px 12px;display:block;position:relative;overflow:hidden}.welcome-theme-paper>i{display:block;height:4px;background:#d6b99e;width:49%;margin-bottom:7px;border-radius:2px}.welcome-theme-paper>i:first-child{height:5px;background:#b97b5e;width:63%}.welcome-theme-paper>i:nth-child(3){width:38%}.welcome-theme-paper>span{position:absolute;right:12px;top:20px;color:#b28167}.welcome-theme-paper .icon{width:26px;height:26px;stroke-width:1.2;opacity:.65}
.welcome-theme.green .welcome-theme-paper{background:#e7eee3}.welcome-theme.green .welcome-theme-paper>i{background:#b4c5aa}.welcome-theme.green .welcome-theme-paper>i:first-child{background:#6d8b64}.welcome-theme.green .welcome-theme-paper>span{color:#708c67}
.welcome-theme>strong{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:500;margin:14px 0 7px}.welcome-theme>strong>.icon{width:15px;height:15px;color:var(--accent)}.welcome-theme>small{display:block;font-size:9px;color:var(--muted);line-height:1.7}.welcome-private-note{display:flex;justify-content:center;align-items:center;gap:5px;font-size:9px;color:var(--muted);margin-top:17px;line-height:1.8}.welcome-private-note>.icon{width:11px;height:11px}.welcome-logout{margin:22px auto 0;font-size:10px}
@media(max-width:900px){.entry-page{padding:30px 30px 24px;max-width:810px}.entry-layout{grid-template-columns:minmax(0,1fr) 350px;gap:25px}.entry-card{padding:30px 24px}.entry-story{padding:0}.entry-story h1{font-size:29px}.entry-story>p{font-size:11px}.entry-illustration{height:240px;width:300px;transform:scale(.85);transform-origin:left bottom;margin-left:-17px;margin-top:-20px}.welcome-card{padding:29px}.welcome-layout{margin-top:40px}}
@media(max-width:640px){.entry-page{padding:25px 22px 26px}.entry-brand{font-size:15px}.entry-brand>.icon{width:21px}.entry-layout{display:flex;flex-direction:column;gap:27px;justify-content:center;padding:40px 0 29px}.entry-story{width:100%;text-align:center}.entry-illustration{display:none}.entry-story h1{font-size:28px;line-height:1.6;margin:0 0 11px;letter-spacing:.07em}.entry-story h1 br{display:none}.entry-story>p{font-size:10px;line-height:1.9}.entry-story>p br{display:none}.entry-card{width:100%;max-width:405px;padding:27px 23px;border-radius:14px}.entry-card-heading{margin-bottom:25px}.entry-card-heading h2{font-size:25px}.entry-card-heading>p{font-size:10px}.entry-eyebrow{font-size:9px}.entry-delivery{font-size:10px}.entry-footer{gap:6px}.entry-bottom{font-size:9px;letter-spacing:.04em}.welcome-layout{margin-top:32px}.welcome-mark{width:51px;height:51px;border-radius:17px;margin-bottom:20px}.welcome-heading h1{font-size:27px}.welcome-heading>p{font-size:10px}.welcome-card{max-width:none;padding:25px 20px;margin-top:25px}.welcome-themes{gap:10px}.welcome-theme{padding:10px}.welcome-theme>small{font-size:8px}.welcome-theme>strong{font-size:11px}.welcome-card .field small{font-size:8px}}
.upload-captions{margin:19px 0 23px}.upload-caption-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.upload-caption-heading>span{font-size:11px;color:var(--muted);white-space:nowrap}.caption-tabs{padding:3px;gap:3px;border-radius:8px}.caption-tabs button{padding:7px 13px;border-radius:5px;font-size:11px;white-space:nowrap}.upload-captions .field{margin-bottom:0}.upload-captions textarea{min-height:84px}.upload-caption-note{font-size:10px;line-height:1.8;color:var(--muted);margin-top:9px}.photo-caption-list{display:grid;gap:12px}.photo-caption-row{display:grid;grid-template-columns:84px minmax(0,1fr);gap:13px;padding:13px;border:1px solid var(--line);border-radius:9px;background:var(--card);align-items:start}.photo-caption-row>img{width:84px;height:84px;object-fit:cover;border-radius:6px}.photo-caption-row .field{min-width:0}.photo-caption-row .field>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;margin-bottom:8px}.photo-caption-row textarea{font-size:12px;padding:9px 11px;min-height:90px;line-height:1.8}@media(max-width:560px){.caption-tabs button{padding:7px 11px;font-size:10px}.photo-caption-row{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:10px}.photo-caption-row>img{width:64px;height:64px}.photo-caption-row textarea{font-size:12px;padding:8px 10px}.upload-caption-heading>span{font-size:10px}.upload-caption-note{font-size:9px}}

/* Photo upload editors share the existing warm and green theme variables. */
.upload-tile .upload-thumb-button{position:relative;inset:auto;display:block;width:100%;padding:0;background:transparent;border:0;border-radius:7px;text-align:left;overflow:hidden}
.upload-tile small{white-space:pre-line;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.7;font-variant-numeric:tabular-nums}
.pending-photo-details>summary>span{flex:1;min-width:0;white-space:pre-line;overflow-wrap:anywhere}
.upload-location-actions{margin:10px 0 14px;min-width:0}
.upload-location-actions:empty{display:none}
.upload-location-error{font-size:11px;line-height:1.8;color:var(--accent);overflow-wrap:anywhere;margin:9px 0}
.upload-location-error .text-link{margin-left:5px}
.upload-thumb-button>img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:7px}
.upload-override-badge{position:absolute;left:5px;bottom:25px;max-width:calc(100% - 10px);padding:3px 6px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--accent);font-size:8px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;box-shadow:0 1px 5px #0001}
.upload-thumb-button .upload-override-badge{bottom:5px}
.pending-photo-thumb{position:relative;display:block;width:84px;height:84px;padding:0;border-radius:6px;overflow:hidden;background:var(--soft);text-align:left}
.pending-photo-thumb>img{display:block;width:84px;height:84px;object-fit:cover;border-radius:6px}
.pending-photo-thumb>.icon{position:absolute;right:4px;bottom:4px;width:20px;height:20px;padding:4px;border-radius:5px;background:var(--paper);color:var(--accent);box-shadow:0 1px 5px #0001}
.photo-caption-fields{min-width:0}
.pending-photo-details{grid-column:1/-1;min-width:0;padding-top:11px;border-top:1px solid var(--line)}
.pending-photo-details>summary{display:flex;align-items:center;gap:8px;min-width:0;list-style:none;color:var(--accent);font-size:10px;line-height:1.8;cursor:pointer;overflow-wrap:anywhere}
.pending-photo-details>summary::-webkit-details-marker{display:none}
.pending-photo-details>summary:after{content:'⌄';margin-left:auto;font-size:14px;line-height:1;flex-shrink:0}
.pending-photo-details[open]>summary{margin-bottom:14px}
.pending-photo-details[open]>summary:after{transform:rotate(180deg)}
.pending-photo-details .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.pending-photo-details .field{margin-bottom:13px}
.pending-photo-details .field>span{font-size:10px;margin-bottom:0;line-height:1.6}
.pending-photo-details .field input{min-width:0;padding:10px 9px;font-size:12px}
.pending-photo-details .text-chips{gap:6px;margin-bottom:14px}
.pending-photo-details .text-chips button{padding:5px 9px;font-size:10px}
.pending-photo-details .check-label{margin:10px 0;font-size:11px}
.pending-photo-editor-image{display:block;width:100%;max-height:230px;object-fit:contain;border-radius:8px;background:var(--soft);margin-bottom:20px}
.pending-photo-preview{display:block;width:100%;padding:0;border:0;border-radius:8px;background:transparent;margin-bottom:20px;cursor:zoom-in}
.pending-photo-preview .pending-photo-editor-image{margin-bottom:0}
.viewer-photo-button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.viewer-photo-button>img{display:block;width:100%;height:auto;user-select:none;pointer-events:none}
.viewer-image.tagging .viewer-photo-button{cursor:crosshair}
.pending-photo-preview:focus-visible,.viewer-photo-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.upload-panel{border:0;padding:0;margin:0;min-width:0}
.pending-editor-note{font-size:10px;line-height:1.8;color:var(--muted);margin:8px 0 15px;overflow-wrap:anywhere}
@media(max-width:560px){.pending-photo-thumb,.pending-photo-thumb>img{width:64px;height:64px}.pending-photo-thumb>.icon{width:19px;height:19px}.pending-photo-details{padding-top:10px}.pending-photo-details .form-grid{gap:7px}.pending-photo-details .field input{padding:10px 7px;font-size:12px}.pending-photo-details>summary{font-size:10px}.pending-photo-editor-image{max-height:200px;margin-bottom:17px}.pending-editor-note{font-size:9px}.upload-override-badge{font-size:8px;padding:2px 5px}}
.online-map{position:absolute;inset:0;width:100%;height:100%}.online-map-intro{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:28px;gap:17px;background:var(--paper)}.online-map-intro>.icon{width:40px;height:40px;color:var(--accent)}.online-map-intro strong{font-family:var(--serif);font-size:23px;font-weight:400}.online-map-intro p{max-width:380px;color:var(--muted);font-size:12px;line-height:1.9;margin:0}.online-map-status{position:absolute;top:14px;left:14px;right:65px;z-index:2;background:var(--card);color:var(--ink);font-size:12px;line-height:1.8;border-radius:8px;padding:10px 14px;box-shadow:0 3px 15px #0001;pointer-events:none}.online-map-status[hidden]{display:none}.map-zoom-controls{position:absolute;right:12px;top:14px;z-index:3;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 2px 10px #0001;overflow:hidden}.map-zoom-controls button{width:38px;height:38px;display:grid;place-items:center;font-size:20px;color:var(--ink)}.map-zoom-controls button+button{border-top:1px solid var(--line)}
.map-controls .map-mode-tabs button{padding:9px 13px;white-space:nowrap}.map-position-label{font-size:10px;color:var(--muted);line-height:1.8;margin:10px 0 0;min-height:18px}.map-position-label:empty{display:none}.fog-map-label{position:absolute;left:14px;top:14px;z-index:3;font-size:11px;color:#f8f5ec;background:#27333eda;padding:8px 12px;border-radius:20px;pointer-events:none}.exploration-note{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 18px}.exploration-track{display:flex;align-items:center;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.exploration-track>span{color:var(--accent);background:var(--soft);padding:10px;border-radius:9px}.exploration-track>span>.icon{width:19px;height:19px}.exploration-track>div{min-width:0;flex:1}.exploration-track strong{font-size:12px;font-weight:500;display:block;overflow-wrap:anywhere}.exploration-track small{font-size:10px;color:var(--muted);display:block;margin-top:6px}.is-fog{background:#29343e}@media(max-width:420px){.map-controls>.map-badge{display:none}.map-mode-tabs{width:100%;display:flex}.map-controls .map-mode-tabs button{flex:1;padding:10px 6px}.map-canvas{height:420px}.map-summary{gap:10px}}
/* A day is the reading surface; text and photos keep their own editors. */
.daily-card{padding:22px;cursor:pointer;min-width:0;transition:border-color .2s,box-shadow .2s}.daily-card:hover{border-color:var(--soft-2);box-shadow:0 8px 25px #62402c08}.daily-card:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.daily-card-heading{display:flex;align-items:center;gap:8px;margin-bottom:17px;flex-wrap:wrap}.daily-card-heading h2{font:500 21px/1.5 var(--serif);letter-spacing:.03em}.daily-card-heading .tiny-tag{margin:0}.daily-fragment-mark{font-size:9px;color:var(--muted);margin-left:auto}.daily-photos{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border-radius:8px;overflow:hidden;background:var(--soft)}.daily-photos img{width:100%;height:100%;aspect-ratio:1;object-fit:cover}.daily-photos:has(img:nth-child(2):last-of-type){grid-template-columns:repeat(2,minmax(0,1fr))}.daily-photos.one{grid-template-columns:1fr}.daily-photos.one img{aspect-ratio:1.85}.daily-photo-more{position:absolute;bottom:8px;right:8px;border-radius:5px;background:#37251b95;color:#fff;padding:6px 9px;font-size:11px}.daily-excerpts{margin-top:18px;display:grid;gap:14px}.daily-excerpt h3{font:500 18px/1.7 var(--serif);margin-bottom:5px}.daily-excerpt p{font:14px/1.95 var(--serif);white-space:pre-line;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:color-mix(in srgb,var(--ink) 86%,var(--muted))}.daily-excerpts>small{color:var(--muted);font-size:10px}.daily-card .card-footer{font-size:11px}.added-day-entry{margin-bottom:21px}.daily-order-hint{font-size:10px;line-height:1.8;color:var(--muted);margin:-8px 0 22px}.daily-detail-heading{padding-bottom:23px;border-bottom:1px solid var(--line);margin-bottom:8px}.daily-detail-heading h1{font:500 27px/1.6 var(--serif);letter-spacing:.02em}.daily-detail-heading>p{font-size:11px;color:var(--muted);margin-top:8px}.daily-text{padding:18px 0 24px;border-bottom:1px solid var(--line)}.daily-text-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;min-height:25px;margin-bottom:7px}.daily-text-actions>.icon-button{padding:4px;color:var(--muted)}.daily-text-actions>.icon-button .icon{width:14px;height:14px}.daily-text h2{font:500 23px/1.6 var(--serif);margin:0 0 12px}.daily-text>p{font:16px/2.1 var(--serif);white-space:pre-wrap;overflow-wrap:anywhere}.daily-related{margin-top:16px;padding:13px;background:var(--soft);border-radius:7px;display:grid;gap:11px}.daily-related>small{font-size:10px;color:var(--muted)}.daily-related .text-link{text-align:left;line-height:1.8;width:100%;min-width:0}.daily-related .text-link span{flex:1;min-width:0;overflow-wrap:anywhere}.daily-related .icon{flex-shrink:0}.daily-detail-photos{padding-top:24px}.daily-detail-photos .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.daily-detail-photos .caption{white-space:normal;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.photo-reference-entry{padding:8px 0}.photo-reference-entry .daily-text-actions{margin:0}.daily-texts:empty{display:none}
@media(max-width:560px){.daily-card{padding:15px}.daily-card-heading{margin-bottom:13px;gap:6px}.daily-card-heading h2{font-size:18px}.daily-card .card-footer{font-size:10px}.daily-excerpts{margin-top:14px;gap:12px}.daily-excerpt h3{font-size:17px}.daily-excerpt p{font-size:13px;-webkit-line-clamp:3}.daily-photos{gap:4px}.daily-photos.one img{aspect-ratio:1.45}.daily-detail-heading h1{font-size:24px}.daily-text>p{font-size:15px;line-height:2}.daily-text h2{font-size:21px}.daily-detail-heading{padding-bottom:20px}.daily-detail-photos .photo-grid{gap:8px}.daily-order-hint{font-size:10px}}
.viewer-caption-edit{display:block;width:100%;text-align:left;padding:0;min-height:44px;border-radius:5px;overflow-wrap:anywhere;cursor:text}.viewer-caption-edit.is-placeholder{color:var(--muted)}.viewer-caption-edit:hover{color:var(--accent)}.viewer-caption-edit:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.viewer-meta button{min-height:32px;text-align:left;padding:3px 0;border-radius:4px;max-width:100%;overflow-wrap:anywhere}.viewer-meta button:hover{color:var(--accent)}

.online-map{isolation:isolate}.map-base-map-button{position:absolute;left:14px;bottom:38px;z-index:4;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:8px 12px;font-size:11px;box-shadow:0 2px 9px #0002}.exploration-live-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 10px;min-height:64px}.exploration-live-buttons{display:flex;gap:8px;align-items:center}.exploration-live-status{font-size:12px;line-height:1.8;color:var(--muted)}.exploration-live-status.is-recording{color:var(--accent)}.exploration-live-status.is-recording:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:7px}.exploration-live-row>.text-link{font-size:11px}.exploration-summary{padding-top:12px;font-size:11px;color:var(--muted)}.exploration-error{font-size:11px;color:#a74737;line-height:1.8;margin:8px 0;overflow-wrap:anywhere}.exploration-track button:disabled{opacity:.3;cursor:default}@media(max-width:380px){.exploration-live-row{gap:7px}.exploration-live-status{font-size:11px}.exploration-live-buttons .btn{font-size:11px;padding:9px 12px}}

/* Keep the mobile paper surface and empty view as tall as the usable screen. */
body{min-height:100vh;min-height:100dvh}
@media(max-width:560px){
  .workspace:has(.main-column>.empty){display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding-bottom:calc(93px + env(safe-area-inset-bottom))}
  .workspace:has(.main-column>.empty)>.topbar{flex:none}
  .page-layout:has(>.main-column>.empty){display:flex;flex-direction:column;align-items:stretch;flex:1;gap:0}
  .main-column:has(>.empty){display:flex;flex-direction:column;flex:1}
  .main-column:has(>.empty)>:not(.empty){flex-shrink:0}
  .main-column>.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:280px;padding:clamp(28px,6dvh,60px) 20px}
  .main-column>.empty>.btn>.icon{width:16px;height:16px;margin:0}
}
.automatic-exploration-settings .settings-row{padding-top:4px}
.settings-switch{display:inline-block;position:relative;width:38px;height:23px;border-radius:20px;background:var(--line);transition:background .18s}
.settings-switch:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:var(--card);box-shadow:0 1px 3px #0002;transition:transform .18s}
[role="switch"][aria-checked="true"] .settings-switch{background:var(--accent)}
[role="switch"][aria-checked="true"] .settings-switch:after{transform:translateX(15px)}
.automatic-exploration-settings .settings-note{max-width:42em}
