/* STILL 2.0 — quiet editorial, accessible, mobile-first visual layer.
   Design tokens are intentionally isolated from Drive and data modules. */
:root{--bg:#f8f7f3;--surface:#fffefa;--surface-alt:#f0f2ec;--ink:#27332d;--muted:#78847b;--line:#e4e8df;--accent:#506b57;--accent-hover:#3c5544;--accent-soft:#e4ede3;--warm:#a98b64;--shadow:0 15px 50px rgba(38,64,44,.07);--radius:19px;scroll-behavior:smooth}
:root[data-accent="sand"]{--accent:#946e50;--accent-hover:#79573d;--accent-soft:#f2e8dd;--warm:#946e50}
:root[data-accent="lavender"]{--accent:#756589;--accent-hover:#655273;--accent-soft:#eee9f3;--warm:#9b859d}
:root[data-theme="dark"]{--bg:#161e1a;--surface:#222b25;--surface-alt:#1a261f;--ink:#e9eee6;--muted:#a5b3a7;--line:#34433a;--accent:#a3c5ab;--accent-hover:#bbd4c0;--accent-soft:#344839;--warm:#d3b48a;--shadow:0 14px 35px #00000024}
:root[data-theme="dark"][data-accent="sand"]{--accent:#dfb593;--accent-hover:#ecc8a9;--accent-soft:#413629}
:root[data-theme="dark"][data-accent="lavender"]{--accent:#c3b0d4;--accent-hover:#d2c1e2;--accent-soft:#393046}
body{font-size:14px;line-height:1.5;background:var(--bg)}h1,h2,h3{line-height:1.2}button{transition:background-color .22s ease,border-color .22s ease,box-shadow .24s ease,transform .24s ease}button:active{transform:scale(.98)}.button{border-radius:11px;font-size:13px;padding:12px 17px}.button.secondary{background:var(--surface);color:var(--accent);border-color:var(--line)}.button.secondary:hover,.button.quiet:hover{background:var(--accent-soft)}.button.quiet{background:rgba(255,255,255,.65);color:#35503c;border-color:transparent}.button.pressed{background:var(--accent-soft);color:var(--accent)}.button.danger{background:#a34e45;color:white;border-color:#a34e45}.circle-button{height:38px;width:38px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750}.caption{font-size:12px}.subtitle{font-size:14px;line-height:1.8;max-width:680px}.title{font-size:clamp(38px,4.6vw,53px);margin:8px 0 13px}.intro{margin-bottom:26px}.shell{max-width:1600px;grid-template-columns:246px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:35px 19px;background:var(--surface);gap:0}.brand{padding:0 12px;margin-bottom:55px}.brand-mark{height:43px;width:43px;border-radius:14px;font-size:25px;font-family:Georgia,serif;background:var(--accent-soft);border:0;color:var(--accent);font-style:italic}.brand-word{font-size:32px}.brand-sub{letter-spacing:1.9px;font-size:9px}.nav-title{margin-bottom:18px}.nav{gap:7px}.nav-button{font-size:13px;min-height:45px;padding:12px 16px;border-radius:12px}.nav-button:hover{transform:translateX(2px)}.nav-button.active{color:var(--accent);background:var(--accent-soft)}.side-bottom{padding-top:22px}.main{padding:32px clamp(23px,4.4vw,70px) 50px}.toolbar{margin-bottom:35px}.breadcrumb{font-size:11px;font-weight:600;letter-spacing:1.4px}.breadcrumb span{padding:0 7px;color:var(--line)}.avatar{height:40px;width:40px;font-size:13px;border-radius:50%}.main-footer{display:flex;justify-content:space-between;gap:15px;margin-top:70px;padding-top:25px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.section-header{margin:32px 0 17px}.section-title{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(23px,2.8vw,29px);letter-spacing:-.5px;margin-top:5px}.section-header .subtle-link{font-size:12px;font-weight:650}.badge{font-size:11px;border-radius:40px}
/* Dashboard */
.hero{position:relative;display:grid;grid-template-columns:1fr minmax(210px,32%);overflow:hidden;min-height:325px;border-radius:26px;padding:clamp(25px,5vw,52px);background:linear-gradient(115deg,#eaf0e5 0%,#e5ecdf 56%,#dbe7d9 100%);color:#31463a}.hero .eyebrow{color:#657c69}.hero-date{font-size:12px;color:#798879;margin:12px 0 5px}.hero-title{font-size:clamp(40px,5.5vw,68px);letter-spacing:-2px;line-height:1.06;font-weight:400}.hero-title em{font-weight:400;color:#53775d}.hero p{max-width:415px;line-height:1.7;font-size:13px;color:#637565;margin:17px 0 21px}.hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.hero-actions .button{background:#4c6954;color:white;border-color:#4c6954}.hero-actions .quiet{background:#ffffffa8;color:#385a40;border-color:#ffffffc0}.hero-decoration{position:relative;min-height:220px;display:grid;place-items:end center}.hero-decoration span{z-index:2;font:italic 24px/1.17 Georgia,serif;text-align:center;color:#6d846f;transform:rotate(-10deg);padding-bottom:25px}.petal{position:absolute;border-radius:70% 0 70% 0;transform:rotate(-20deg);background:#a7c3aa66}.petal-one{width:170px;height:190px;right:24%;top:4px}.petal-two{width:120px;height:190px;right:8%;top:38px;transform:rotate(24deg);background:#d0dbbb94}.petal-three{width:130px;height:160px;right:35%;top:63px;transform:rotate(-65deg);background:#c6d4c08f} :root[data-theme="dark"] .hero{background:linear-gradient(115deg,#2c4032,#384a39);color:#edf5eb}:root[data-theme="dark"] .hero-title em,:root[data-theme="dark"] .hero p,:root[data-theme="dark"] .hero-date,:root[data-theme="dark"] .hero .eyebrow{color:#cee0cd}
.stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:20px 0 33px}.stat-strip>div{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:16px 19px}.stat-strip strong{font:normal 27px/1 Georgia,serif;color:var(--ink)}.stat-strip>div>span:last-child{color:var(--muted);font-size:11px}.stat-icon{height:31px;width:31px;display:grid;place-items:center;border-radius:9px;color:var(--accent);background:var(--accent-soft)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px;align-items:start}.dashboard-main{min-width:0}.aside-stack{display:grid;gap:16px}.aside-card{border:1px solid var(--line);border-radius:19px;background:var(--surface);padding:21px;box-shadow:0 6px 25px #00000004}.aside-quote{background:var(--accent-soft);border-color:transparent}.aside-quote p{font-size:25px;line-height:1.2;margin:15px 0;color:var(--accent)}
/* Reflections */
.entry-stack{display:grid;gap:12px}.entry-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}.entry-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.entry-card-main{display:grid;width:100%;gap:11px;text-align:left;border:0;background:transparent;color:var(--ink);padding:21px 50px 14px 22px}.entry-card-main strong{font:normal 22px/1.25 Georgia,serif;letter-spacing:-.35px}.entry-snippet{font-size:12px;line-height:1.8;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.entry-bottom{font-size:11px;color:var(--accent);display:flex;align-items:center;gap:5px}.entry-card-action{position:absolute;top:18px;right:17px}.icon-action{display:inline-grid;place-items:center;border:0;background:transparent;border-radius:9px;color:var(--muted);height:35px;width:35px}.icon-action:hover{background:var(--accent-soft);color:var(--accent)}.is-favorite,.fav-label{color:#bd816f!important}.tag-row{display:flex;gap:7px;flex-wrap:wrap;padding:0 18px 17px}.tag{font-size:11px;background:var(--surface-alt);padding:5px 9px;border-radius:99px;color:var(--accent)}.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 20px}.filter-bar select,.filter-bar input,.date-filter{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:11px;padding:11px 12px;font-size:12px;min-height:42px}.filter-search{display:flex;align-items:center;gap:10px;flex:1;min-width:min(100%,230px);color:var(--muted);border:1px solid var(--line);background:var(--surface);padding:0 12px;border-radius:11px}.filter-search input{border:0;outline:0;width:100%;min-width:50px}.filter-search input:focus-visible{outline:0}.filter-search:focus-within{outline:2px solid var(--accent-soft)}.draft-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:15px;display:flex;gap:12px;align-items:center}.draft-card>div:first-child{flex:1;display:grid;gap:6px}.draft-card strong{font-size:13px}.memory-detail{max-width:850px}.memory-detail>.eyebrow{margin-top:28px}.memory-detail .detail-title{font-size:clamp(37px,5vw,57px);margin:16px 0}.detail-story{margin:30px 0;background:var(--surface);padding:clamp(22px,4vw,38px);border-radius:17px;border:1px solid var(--line);font-size:15px;line-height:1.95;overflow-wrap:anywhere}.detail-story p+p{margin-top:11px}.detail-story h2{font:normal 26px Georgia,serif;margin:20px 0 12px}.detail-story h3{font-size:17px;margin:18px 0 10px}.detail-story blockquote{border-left:3px solid var(--accent);padding:7px 14px;color:var(--accent);background:var(--surface-alt)}.detail-story code{background:var(--surface-alt);padding:2px 5px;border-radius:4px}.detail-story .md-list{padding-left:14px}.detail-story .md-space{height:12px}.memory-detail .action-row{margin:22px 0}.detail-head{display:flex;gap:9px;flex-wrap:wrap}
/* Calendar */
.calendar-widget .cal-head{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:17px}.cal-title{font-size:23px;color:var(--ink);white-space:nowrap}.cal-actions{display:flex;align-items:center;gap:4px}.cal-actions .flip{transform:scaleX(-1)}.new-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday{text-align:center;color:var(--muted);font-size:11px;font-weight:600;padding:7px 0}.calendar-cell{position:relative;display:grid;align-content:center;justify-items:center;gap:3px;min-height:51px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--ink);font-size:13px}.calendar-cell:hover{background:var(--surface-alt)}.calendar-cell.today{border-color:var(--accent);color:var(--accent)}.calendar-cell.selected{background:var(--accent);color:var(--bg)}.calendar-cell.selected:hover{background:var(--accent-hover)}.cal-dot-row{display:flex;gap:3px;min-height:5px}.cal-dot{display:inline-block;height:5px;width:5px;border-radius:50%;background:#7c9a80}.cal-dot.golden{background:#c1a06c}.calendar-cell.selected .cal-dot{background:white}.calendar-cell.selected .cal-dot.golden{background:#efcb8e}.calendar-widget.is-compact .cal-title{font-size:18px}.calendar-widget.is-compact .calendar-cell{min-height:31px;font-size:11px;border-radius:7px}.calendar-widget.is-compact .new-cal-grid{gap:0}.calendar-widget.is-compact .weekday{font-size:9px}.calendar-widget.is-compact .icon-action{height:29px;width:29px}.cal-open{margin:14px 0 0 auto}.cal-toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:17px}.jump-control{display:flex;align-items:center;gap:9px;padding:7px 12px;border:1px solid var(--line);border-radius:12px;color:var(--accent);background:var(--surface);font-size:12px}.jump-control input{border:0;min-height:28px;background:transparent;color:var(--ink);font-size:13px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:20px;align-items:start}.calendar-main{border:1px solid var(--line);border-radius:19px;padding:clamp(17px,3vw,32px);background:var(--surface)}.calendar-main .cal-title{font-size:31px}.calendar-main .calendar-cell{min-height:clamp(47px,7vw,77px);font-size:16px}.cal-legend{display:flex;align-items:center;gap:19px;font-size:11px;color:var(--muted);margin:20px 4px 0}.cal-legend span{display:flex;align-items:center;gap:6px}.calendar-detail{background:var(--surface);border:1px solid var(--line);border-radius:19px;padding:24px}.calendar-detail>h2{font-size:29px;font-weight:400;line-height:1.2;margin:15px 0 23px}.calendar-detail .section-header{margin:22px 0 13px}.calendar-detail .section-header h3{font-size:14px}.day-memory{text-align:left;width:100%;display:grid;gap:5px;background:var(--surface-alt);border:1px solid var(--line);border-radius:11px;padding:13px;margin-bottom:7px;color:var(--ink)}.day-memory strong{font-size:13px}.day-memory span{font-size:11px;color:var(--muted)}.special-date{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:10px 0}.special-date>div{display:grid;gap:3px}.special-date strong{font-size:12px}.year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.year-card{padding:20px 8px;border:1px solid var(--line);border-radius:12px;background:var(--surface-alt);text-align:center;color:var(--ink);display:grid;gap:8px;justify-items:center}.year-card:hover{background:var(--accent-soft)}.year-card .serif{font-size:18px}.year-card strong{font:normal 31px Georgia,serif;color:var(--accent)}.year-card small{font-size:11px;color:var(--muted)}
/* Gallery & people */
.gallery-summary{border-radius:17px;padding:22px 26px;background:var(--accent-soft);border:0}.gallery-summary strong{font-size:43px}.gallery-tabs{margin-bottom:0}.gallery-tabs button{font-size:12px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.gallery-grid .media-tile,.gallery-grid.compact .media-tile{border-radius:15px;box-shadow:none;border:1px solid var(--line)}.gallery-grid .media-tile:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.gallery-grid .thumbnail{aspect-ratio:4/4.4}.gallery-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.gallery-grid.compact .thumbnail{aspect-ratio:4/4}.gallery-grid .media-name{font-size:12px;padding:11px 13px 4px}.gallery-grid .media-meta{font-size:10px;padding:0 13px 13px}.gallery-filters{margin:1px 0 22px}.date-filter{display:flex;align-items:center;gap:6px;padding:5px 9px}.date-filter span{color:var(--muted);font-size:11px}.date-filter input{border:0;padding:3px;min-height:30px;width:136px;background:transparent}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.people-grid.large{grid-template-columns:repeat(3,minmax(0,1fr))}.person-card{position:relative;display:grid;text-align:left;justify-items:start;gap:9px;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:13px;color:var(--ink)}.person-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.person-cover{display:grid;place-items:center;width:100%;height:112px;border-radius:11px;background:var(--accent-soft);overflow:hidden}.person-cover .person-avatar{margin:0}.person-cover img{width:100%;height:100%;object-fit:cover}.person-cover.loaded .person-avatar{display:none}.person-name{font-size:15px;font-weight:700}.person-count{font-size:11px;color:var(--accent)}.person-description{font-size:11px;color:var(--muted);line-height:1.5;min-height:32px}.person-hero{display:flex;gap:23px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:17px;background:var(--surface);margin-top:18px}.person-hero .intro{margin:0}.person-hero .person-avatar.big{font-size:40px;height:82px;width:82px;border-radius:50%;margin:0;background:var(--accent-soft);color:var(--accent)}.person-hero .title{font-size:38px}
/* Settings */
.settings-stack{display:grid;gap:18px;max-width:900px}.settings-card{padding:26px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.settings-card h2{font:normal 27px Georgia,serif;margin:8px 0 16px}.setting-row{padding:20px 0;border-top:1px solid var(--line);gap:20px}.setting-row>div:first-child{flex:1}.setting-row strong{font-size:13px}.setting-row p{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.7}.account-panel{display:flex;align-items:center;gap:16px;padding:17px;background:var(--surface-alt);border-radius:12px;margin-bottom:8px}.account-panel strong{font-size:14px}.account-panel p{font-size:12px;overflow-wrap:anywhere}.account-panel .caption{display:block;margin-top:5px}.swatches{display:flex;gap:9px}.swatch{height:35px;width:35px;border-radius:50%;background:var(--swatch);border:4px solid var(--surface);outline:1px solid var(--line)}.swatch.active{outline:3px solid var(--accent)}.notice.warn{font-size:12px;border-radius:13px}
/* Editor, viewer and forms */
.modal-overlay{backdrop-filter:blur(7px);background:#1c2722a8}.modal{border-radius:18px;box-shadow:0 25px 90px #0000002f}.modal-head h2{font-size:31px;font-weight:400}.field label{font-size:12px}.field input,.field select,.field textarea{font-size:14px}.editor-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:8px 0 0}.editor-toolbar button{min-width:34px;min-height:30px;border:1px solid var(--line);background:var(--surface-alt);color:var(--ink);border-radius:7px;font-size:12px}.editor-toolbar #draft-status{margin-left:auto;font-size:10px}.editor-toolbar+.field textarea{margin-top:0}.check-line{display:flex;align-items:center;gap:8px;padding:13px 0;margin-bottom:16px;color:var(--ink);font-size:12px}.check-line input{width:17px;height:17px;accent-color:var(--accent)}.attach-zone{border:1px dashed var(--line);border-radius:13px;padding:16px}.attach-zone>label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}.attach-zone>input{display:block;margin:12px 0;width:100%}.attach-zone p{font-size:11px;line-height:1.7;color:var(--muted);margin-top:12px}.attach-list{margin-top:12px}.modal.wide.media-viewer{max-width:940px}.preview-image{max-width:100%;max-height:66vh;object-fit:contain;user-select:none;transition:transform .3s ease;cursor:zoom-in}.zoom-stage{height:min(66vh,650px);min-height:260px;display:grid;place-items:center;overflow:auto;overscroll-behavior:contain;background:#171d19;border-radius:12px;touch-action:pan-x pan-y}.preview-image.zoomed{transform:scale(1.9);cursor:zoom-out}.preview-video{max-height:65vh}.audio-panel{display:grid;justify-items:center;gap:25px;padding:60px 20px;color:var(--accent);background:var(--surface-alt);border-radius:12px}.audio-panel audio{width:min(100%,420px)}.gallery-viewer-nav{gap:8px}.gallery-viewer-nav .button{font-size:11px;padding:9px 12px}.empty{padding:28px 20px;border:1px dashed var(--line);border-radius:16px;background:var(--surface)}.empty h3{font-size:16px;margin:11px 0}.empty p{font-size:12px;margin-bottom:15px}
/* Friendly entrance animations */
@keyframes floatin{from{opacity:0;transform:translateY(11px)}to{opacity:1;transform:translateY(0)}}
#page-content>.hero,#page-content>.intro,#page-content>.calendar-layout,#page-content>.gallery-summary{animation:floatin .42s cubic-bezier(.2,.75,.3,1) both}.entry-card,.media-tile,.person-card{animation:floatin .35s ease both}.entry-card:nth-child(2),.media-tile:nth-child(2){animation-delay:.05s}.entry-card:nth-child(3),.media-tile:nth-child(3){animation-delay:.09s}
@media(max-width:1160px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.aside-stack{display:grid;grid-template-columns:1fr 1fr;gap:15px}.calendar-layout{grid-template-columns:minmax(0,1fr) 280px}.stat-strip>div{flex-wrap:wrap;gap:8px}}
@media(max-width:840px){.calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-detail{display:block}.hero{grid-template-columns:1fr minmax(90px,25%)}.hero-decoration span{font-size:17px}.people-grid.large{grid-template-columns:repeat(2,1fr)}}
@media(max-width:670px){.shell{display:block}.sidebar{display:none}.main{padding:17px 16px 105px}.toolbar{margin-bottom:23px}.breadcrumb{font-size:10px}.toolbar-actions{gap:7px}.toolbar-actions .circle-button{height:34px;width:34px}.toolbar-actions .avatar{height:34px;width:34px}.hero{min-height:290px;grid-template-columns:1fr;padding:29px 24px;border-radius:18px}.hero-title{font-size:48px}.hero-decoration{display:none}.hero p{max-width:330px}.hero-actions{gap:7px}.hero-actions .button{padding:11px 13px;font-size:12px}.stat-strip{gap:7px;margin:11px 0 22px}.stat-strip>div{display:grid;justify-items:start;padding:12px 10px;border-radius:11px;gap:5px}.stat-strip strong{font-size:24px}.stat-strip>div>span:last-child{font-size:10px;line-height:1.2}.stat-icon{height:26px;width:26px}.aside-stack{grid-template-columns:1fr}.aside-stack>.aside-card:first-child{display:block}.calendar-widget.is-compact .calendar-cell{min-height:38px}.dashboard-grid{gap:17px}.section-title{font-size:25px}.section-header{margin:27px 0 14px}.entry-card-main{padding:20px 46px 14px 18px}.entry-card-main strong{font-size:21px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gallery-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.people-grid,.people-grid.large{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.person-card{padding:10px}.person-cover{height:83px}.person-description{font-size:10px}.calendar-main .calendar-cell{min-height:46px;font-size:13px}.calendar-main{padding:13px}.calendar-main .cal-title{font-size:24px}.new-cal-grid{gap:3px}.calendar-detail{padding:19px}.year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cal-toolbar{gap:7px}.jump-control span{display:none}.date-filter input{width:125px}.filter-bar{gap:7px}.filter-bar select{max-width:calc(50% - 7px)}.mobile-nav{display:flex;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -9px 30px #00000009;justify-content:space-around;padding:10px 4px max(11px,env(safe-area-inset-bottom))}.mobile-nav button{min-width:52px;gap:4px;font-size:10px}.mobile-nav button.active{color:var(--accent)}.mobile-nav button.active svg{stroke-width:2.2}.modal{padding:20px;max-height:94dvh}.modal-head h2{font-size:27px}.settings-card{padding:20px}.setting-row{flex-direction:column;gap:13px;align-items:flex-start}.main-footer{display:block;font-size:10px}.main-footer span{display:block;margin-top:4px}}
:root[data-motion="reduced"] *, :root[data-motion="reduced"] *::before,:root[data-motion="reduced"] *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
