:root{font-family:Segoe UI,PingFang SC,Noto Sans SC,sans-serif;color:#1d1916;background:radial-gradient(circle at top left,rgba(255,224,181,.8),transparent 28%),radial-gradient(circle at right center,rgba(150,187,216,.4),transparent 26%),linear-gradient(160deg,#f8f2e8,#f5ead8 48%,#efe5da);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;font-weight:400}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh;overflow-x:hidden}button,input,textarea,select{font:inherit}img,video{display:block;max-width:100%}.app-shell{width:min(1240px,calc(100% - 2rem));margin:0 auto;padding:1.2rem 0 2.4rem}.login-layout{min-height:calc(100vh - 2.4rem);display:grid;place-items:center}.hero-panel,.panel,.feature-stage{border:1px solid rgba(61,49,38,.08);border-radius:28px;background:linear-gradient(135deg,#fff9f0f2,#fcf0dceb),#ffffffb8;box-shadow:0 22px 50px #54432d1a}.hero-panel{position:relative;display:grid;grid-template-columns:1fr;gap:1.2rem;padding:1.5rem;overflow:hidden;background:radial-gradient(circle at 15% 20%,rgba(255,221,170,.92),transparent 28%),radial-gradient(circle at 82% 22%,rgba(255,173,138,.42),transparent 24%),radial-gradient(circle at 68% 78%,rgba(108,166,207,.22),transparent 26%),linear-gradient(135deg,#fff8edfa,#ffeed0e6 48%,#fce4bdf0)}.hero-panel-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:1.2rem;align-items:stretch}.hero-main,.hero-side{position:relative;z-index:1}.hero-main{display:grid;align-content:center;gap:.9rem;padding:.4rem 0}.hero-kicker-row{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.hero-copy-large{max-width:40rem;font-size:1.06rem;line-height:1.7}.hero-user-chip{display:inline-flex;width:fit-content;align-items:center;padding:.72rem 1rem;border:1px solid rgba(133,94,51,.12);border-radius:999px;background:#fffcf6ad;color:#302720db;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-side{display:grid;gap:.9rem;align-content:center}.hero-memory-card{position:relative;padding:1rem 1.05rem;border-radius:22px;border:1px solid rgba(61,49,38,.08);box-shadow:0 18px 34px #54432d1a;overflow:hidden}.hero-memory-card:before{content:"";position:absolute;inset:auto auto 0 0;width:7rem;height:7rem;border-radius:999px;filter:blur(10px);opacity:.55;pointer-events:none}.hero-memory-card--warm{background:linear-gradient(145deg,#fffaf2f2,#ffe8cbe0)}.hero-memory-card--warm:before{background:#ffb6754d}.hero-memory-card--soft{background:linear-gradient(145deg,#fffcf7eb,#e1ecf4d1)}.hero-memory-card--soft:before{background:#6ca6cf3d}.hero-memory-label{display:inline-flex;margin-bottom:.55rem;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#855e33}.hero-memory-card strong,.hero-memory-card p{position:relative;z-index:1;margin:0;line-height:1.55}.hero-panel:before,.hero-panel:after{content:"";position:absolute;inset:auto;border-radius:999px;pointer-events:none;mix-blend-mode:screen}.hero-panel:before{top:-4rem;right:-3rem;width:18rem;height:18rem;background:radial-gradient(circle,rgba(255,251,232,.9),rgba(255,203,136,.08) 62%,transparent 72%);animation:heroGlowFloat 9s ease-in-out infinite}.hero-panel:after{left:8%;bottom:-5.5rem;width:22rem;height:11rem;background:radial-gradient(circle,rgba(255,240,213,.7),rgba(255,174,112,.08) 64%,transparent 76%);filter:blur(8px);animation:heroGlowSweep 11s ease-in-out infinite}.hero-panel>*{position:relative;z-index:1}.hero-panel h1,.section-heading h2{margin:.35rem 0 .7rem;line-height:.96;letter-spacing:-.04em}.hero-panel h1{font-size:clamp(2.2rem,5vw,4.2rem)}.hero-copy,.muted-copy,.section-heading p,.timeline-card-copy span{color:#302720bd}.panel-grid,.control-grid,.status-list,.page-stack,.section-heading,.upload-details,.timeline-card-copy,.empty-state,.timeline-tree,.year-branches{display:grid;gap:.9rem}.upload-card,.timeline-card,.tile{border:1px solid rgba(63,50,35,.08);border-radius:22px;background:#ffffffb8;box-shadow:0 14px 28px #49392614}.eyebrow{display:inline-flex;align-items:center;gap:.35rem;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:#855e33}.version-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;background:#2269801f;color:#226980;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:none}.main-nav{display:flex;flex-wrap:wrap;gap:.75rem}.mobile-menu-toggle{display:none;align-items:center;justify-content:center;gap:.65rem;width:100%;min-height:3rem;padding:.8rem 1rem;border:1px solid rgba(61,49,38,.12);border-radius:18px;background:#ffffffeb;color:#1d1916;cursor:pointer}.mobile-menu-toggle-icon{display:inline-grid;gap:.22rem}.mobile-menu-toggle-icon span{display:block;width:1rem;height:2px;border-radius:999px;background:currentColor}.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0 1.4rem}.nav-chip,.timeline-chip{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.8rem 1.1rem;text-decoration:none;color:inherit;border-radius:999px;border:1px solid rgba(61,49,38,.08);background:#ffffffb8;cursor:pointer;transition:transform .18s ease,background-color .18s ease,color .18s ease}.nav-chip:hover,.timeline-chip:hover{transform:translateY(-1px)}.nav-chip.active,.timeline-chip.active{background:#2f6c7d;color:#fff8ef}.action-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.75rem 1rem;border:0;border-radius:14px;background:#2f6c7d;color:#fff8ef;text-decoration:none;cursor:pointer}.action-button.subtle{border:1px solid rgba(61,49,38,.12);background:#ffffffe6;color:#1d1916}.app-logout-button{border:1px solid rgba(133,94,51,.18);background:linear-gradient(135deg,#ffedd6fa,#ffd5a3eb);color:#714321}.app-logout-button:hover{background:linear-gradient(135deg,#ffe7ca,#ffcc92f5)}.action-button.danger{background:#b44343;color:#fff7f3}.action-button:disabled,.disabled-link{opacity:.65;pointer-events:none;cursor:not-allowed}.clickable-panel{cursor:pointer}.page-frame{display:grid}.page-stack{gap:1.2rem}.panel-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-layout{grid-template-columns:.82fr 1.18fr}.panel{padding:1.2rem}.panel-header,.status-row,.month-branch-top,.year-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem}.control-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.gallery-filter-grid{margin:.9rem 0 .4rem}.gallery-filter-actions{margin-bottom:.65rem}.control-grid label,.upload-details,.month-branch{display:grid;gap:.35rem}.control-grid input,.control-grid select,.control-grid textarea,.upload-details select,.upload-details textarea,.upload-dropzone{font:inherit}.control-grid input,.control-grid select,.control-grid textarea,.upload-details select,.upload-details textarea{padding:.75rem .85rem;border:1px solid rgba(64,53,40,.16);border-radius:16px;background:#ffffffeb}.control-grid textarea,.upload-details textarea{resize:vertical}.upload-dropzone{display:grid;gap:.35rem;justify-items:center;padding:1.2rem;margin-top:.8rem;border:1px dashed rgba(58,47,37,.22);border-radius:22px;background:linear-gradient(135deg,#fffaf1eb,#eff5fcb3);cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.upload-dropzone input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.upload-dropzone.dragging{border-color:#2f6c7d8c;box-shadow:0 18px 30px #2f6c7d29;transform:translateY(-2px)}.upload-dropzone-visual{position:relative;display:grid;place-items:center;width:5.75rem;height:5.75rem;margin-bottom:.2rem}.upload-file-icon{position:relative;width:3.4rem;height:4.2rem;border:1px solid rgba(69,53,35,.12);border-radius:1rem;background:linear-gradient(180deg,#fffffffa,#fcefd8eb);box-shadow:0 14px 28px #4939261f;animation:uploadFileFloat 2.8s ease-in-out infinite}.upload-file-icon-fold{position:absolute;top:0;right:0;width:1rem;height:1rem;background:linear-gradient(135deg,#fff3ddf2,#f1ddbef2);clip-path:polygon(0 0,100% 0,100% 100%);border-top-right-radius:.9rem}.upload-file-icon-line{position:absolute;left:.7rem;right:.7rem;height:.24rem;border-radius:999px;background:#2f6c7d33}.upload-file-icon-line--top{top:1.2rem}.upload-file-icon-line--middle{top:1.95rem}.upload-file-icon-line--bottom{top:2.7rem;right:1.25rem}.upload-arrow-bounce{position:absolute;right:.35rem;bottom:.3rem;display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:999px;background:#2f6c7d;color:#fff8ef;font-size:1rem;font-weight:700;box-shadow:0 12px 24px #2f6c7d38;animation:uploadArrowBounce 1.6s ease-in-out infinite}.upload-dropzone-title{font-size:1.06rem;font-weight:600}.upload-dropzone small,.upload-dropzone-title{text-align:center}.status-pill{display:inline-flex;align-items:center;padding:.25rem .7rem;border-radius:999px;background:#442c1b14;color:#3d2a1ee0;font-size:.88rem}.status-pill.ready{background:#29705b24;color:#1f6d56}.upload-preview-grid,.timeline-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.upload-card{overflow:hidden}.upload-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:1rem 1rem 0}.upload-card-title{display:grid;gap:.35rem;min-width:0}.upload-card-title strong{word-break:break-word}.icon-action-button{width:2.2rem;height:2.2rem;border:1px solid rgba(61,49,38,.12);border-radius:999px;background:#ffffffeb;color:#1d1916;cursor:pointer}.upload-preview{aspect-ratio:1.28 / 1;background:#1d18130f;margin:.9rem 1rem 0;border-radius:20px;overflow:hidden}.upload-preview img,.upload-preview video,.gallery-grid img,.timeline-card img,.feature-stage img{width:100%;height:100%;object-fit:cover}.upload-details{padding:.95rem 1rem 1.05rem}.upload-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .8rem;font-size:.94rem;color:#302720d1}.upload-card-editor .upload-details label,.prompt-field{display:grid;gap:.35rem}.settings-block{margin-top:1rem}.upload-progress-bar{width:100%;height:10px;overflow:hidden;border-radius:999px;background:#3d312614}.upload-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f6c7d,#58a88a);transition:width .18s ease}.tag-badge{display:inline-flex;align-items:center;width:fit-content;padding:.25rem .65rem;border-radius:999px;background:#2f6c7d1f;color:#215868;font-size:.84rem}.upload-inline-note{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.9rem;color:#302720d1}.upload-inline-note code{padding:.15rem .45rem;border-radius:10px;background:#2f6c7d14;word-break:break-all}.upload-card--duplicate{border-color:#b443432e}.upload-card--completed{border-color:#1f6d562e}.feature-stage{position:relative;min-height:320px;overflow:hidden;padding:0}.gallery-stage-panel{overflow:hidden}.gallery-stage-shell{position:relative;margin-top:1rem;min-height:620px;border-radius:24px;background:radial-gradient(circle at top left,rgba(255,231,195,.65),transparent 30%),radial-gradient(circle at bottom right,rgba(148,188,219,.28),transparent 30%),#ffffff8f;overflow:hidden}.gallery-fullscreen-toggle{position:absolute;top:1rem;right:1rem;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-width:2.75rem;height:2.75rem;padding:0 .85rem;border:1px solid rgba(61,49,38,.14);border-radius:999px;background:#ffffffeb;color:#1d1916;cursor:pointer;overflow:hidden;transition:width .18s ease,transform .18s ease,background-color .18s ease}.gallery-fullscreen-toggle:hover,.gallery-fullscreen-toggle:focus-visible{background:#fff;transform:translateY(-1px)}.gallery-fullscreen-toggle:disabled{opacity:.55;cursor:not-allowed}.gallery-fullscreen-icon{font-size:1.2rem;line-height:1}.gallery-fullscreen-label{max-width:0;opacity:0;white-space:nowrap;transition:max-width .18s ease,opacity .18s ease}.gallery-fullscreen-toggle:hover .gallery-fullscreen-label,.gallery-fullscreen-toggle:focus-visible .gallery-fullscreen-label{max-width:6rem;opacity:1}.gallery-stage-grid{display:grid;gap:.9rem;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:110px;grid-auto-flow:dense;min-height:620px;padding:1rem}.gallery-stage-grid .tile{min-height:0}.gallery-stage-grid .tile.wide{grid-column:span 2}.gallery-stage-grid .tile.cinematic{grid-column:span 3;grid-row:span 2}.gallery-stage-grid .tile.tall{grid-row:span 2}.gallery-stage-grid .tile.vertical-strip{grid-row:span 3}.gallery-stage-grid .tile.portrait-feature{grid-column:span 2;grid-row:span 3}.gallery-stage-grid .tile.wide.tall,.gallery-stage-grid .tile.featured{grid-column:span 2;grid-row:span 2}.gallery-stage-tile,.gallery-stage-focus-card{position:relative;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(63,50,35,.08);border-radius:22px;background:#ffffffd6;box-shadow:0 18px 32px #4939261f}.gallery-stage-tile.is-concealed .gallery-media-frame img,.gallery-stage-tile.is-concealed .gallery-media-frame video{filter:blur(22px) saturate(.72);transform:scale(1.08)}.gallery-stage-tile.is-revealed .gallery-media-frame img,.gallery-stage-tile.is-revealed .gallery-media-frame video{filter:none;transform:none}.gallery-tile-button{all:unset;display:grid;width:100%;height:100%;cursor:pointer}.gallery-stage-focus-card{grid-template-rows:minmax(0,1fr);width:100%;height:100%}.gallery-media-frame{min-height:0;background:#1d18130f}.gallery-media-frame img,.gallery-media-frame video{width:100%;height:100%;object-fit:cover;transition:filter .36s ease,transform .36s ease,opacity .28s ease}.gallery-stage-focus{position:absolute;top:1rem;right:1rem;bottom:1rem;left:1rem;z-index:2;display:block}.gallery-tile-placeholder{height:100%;border-radius:22px;background:#2f6c7d14;border:1px dashed rgba(47,108,125,.22)}.focus-media-frame{height:100%;display:grid;place-items:center;padding:1rem}.focus-media-motion{display:grid;place-items:center;width:100%;height:100%;min-width:0;min-height:0;will-change:transform}.focus-media-inner{display:grid;place-items:center;width:100%;height:100%;min-width:0;min-height:0}.focus-media-motion.is-portrait .focus-media-inner{height:100%;width:auto;aspect-ratio:var(--focus-media-ratio);max-width:100%}.focus-media-motion.is-landscape .focus-media-inner,.focus-media-motion.is-square .focus-media-inner{width:100%;height:auto;aspect-ratio:var(--focus-media-ratio);max-height:100%}.focus-media-inner img,.focus-media-inner video{width:100%;height:100%;object-fit:contain}.gallery-stage-panel:fullscreen,.gallery-stage-panel.is-browser-fullscreen{width:100vw;height:100vh;max-width:none;padding:0;border:0;border-radius:0;background:radial-gradient(circle at top left,rgba(255,224,181,.85),transparent 28%),radial-gradient(circle at right center,rgba(150,187,216,.34),transparent 26%),linear-gradient(160deg,#f8f2e8,#f5ead8 48%,#efe5da)}.gallery-stage-panel::backdrop{background:radial-gradient(circle at top left,rgba(255,224,181,.85),transparent 28%),radial-gradient(circle at right center,rgba(150,187,216,.34),transparent 26%),linear-gradient(160deg,#f8f2e8,#f5ead8 48%,#efe5da)}.gallery-stage-panel:fullscreen .gallery-stage-header,.gallery-stage-panel:fullscreen .gallery-stage-copy,.gallery-stage-panel:fullscreen .gallery-filter-grid,.gallery-stage-panel:fullscreen .gallery-filter-actions,.gallery-stage-panel.is-browser-fullscreen .gallery-stage-header,.gallery-stage-panel.is-browser-fullscreen .gallery-stage-copy,.gallery-stage-panel.is-browser-fullscreen .gallery-filter-grid,.gallery-stage-panel.is-browser-fullscreen .gallery-filter-actions{display:none}.gallery-stage-panel:fullscreen .gallery-stage-shell,.gallery-stage-panel.is-browser-fullscreen .gallery-stage-shell{margin-top:0;min-height:100vh;height:100vh;border-radius:0;background:radial-gradient(circle at top left,rgba(255,232,202,.84),transparent 30%),radial-gradient(circle at bottom right,rgba(175,206,229,.36),transparent 32%),linear-gradient(180deg,#fffaf2eb,#f5e9d6e0)}.gallery-stage-panel:fullscreen .gallery-stage-grid,.gallery-stage-panel.is-browser-fullscreen .gallery-stage-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(92px,1fr);min-height:100vh;height:100vh;padding:1.2rem}.gallery-stage-panel:fullscreen .gallery-stage-focus,.gallery-stage-panel.is-browser-fullscreen .gallery-stage-focus{top:1.2rem;right:1.2rem;bottom:1.2rem;left:1.2rem}.feature-overlay{position:absolute;inset:auto 1rem 1rem 1rem;padding:1rem 1.1rem;border-radius:20px;background:#12151875;color:#fff7ee;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.feature-overlay h3,.feature-overlay p{margin:.35rem 0 0}.fullscreen-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;gap:1rem;align-content:center;justify-items:center;padding:1.25rem;background:#0c0e11eb}.fullscreen-stage{width:min(100%,1200px);max-height:calc(100vh - 9rem);display:grid;place-items:center}.fullscreen-stage img,.fullscreen-stage video{width:100%;max-height:calc(100vh - 9rem);object-fit:contain}.fullscreen-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem 1rem;color:#fff8ef}.fullscreen-close{justify-self:end}.gallery-grid{display:grid;gap:.9rem;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:120px;grid-auto-flow:dense}.tile,.timeline-card{position:relative;overflow:hidden}.tile{grid-column:span 1;grid-row:span 1}.tile.wide{grid-column:span 2}.tile.cinematic{grid-column:span 3;grid-row:span 2}.tile.tall{grid-row:span 2}.tile.vertical-strip{grid-row:span 3}.tile.portrait-feature{grid-column:span 2;grid-row:span 3}.tile.wide.tall,.tile.featured{grid-column:span 2;grid-row:span 2}.tile-meta{position:absolute;inset:auto 0 0 0;padding:.8rem .9rem;background:linear-gradient(180deg,transparent,rgba(24,20,16,.8));color:#fffaf3;display:grid;gap:.2rem}.tile-meta strong,.tile-meta span{display:block;color:#fffaf3f5;text-shadow:0 1px 2px rgba(18,14,10,.42)}.tile-meta strong{line-height:1.2;word-break:break-word}.tile-meta.is-concealed strong,.tile-meta.is-concealed span{opacity:0}.focus-meta{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;flex-wrap:wrap;gap:.45rem .75rem;align-items:center;padding:.85rem 1rem;border-radius:18px;background:#110e0b6b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff9f0f5;z-index:2}.focus-meta strong{width:100%;font-size:1.02rem;line-height:1.25}.focus-meta p{width:100%;margin:0;color:#fff9f0eb;line-height:1.4}.focus-meta span{color:#fff9f0e6}.ordered-list{margin:0;padding-left:1.15rem}.year-section{position:relative;padding-left:1rem}.year-section:before{content:"";position:absolute;top:.75rem;bottom:.75rem;left:.25rem;width:2px;background:linear-gradient(180deg,#2f6c7d61,#855e332e)}.year-toggle,.month-branch{width:100%;border:1px solid rgba(63,50,35,.08);border-radius:22px;background:#ffffffbd;cursor:pointer;text-align:left}.year-toggle{padding:.95rem 1rem}.year-toggle.active,.month-branch.active{border-color:#2f6c7d3d;box-shadow:0 16px 30px #2f6c7d1f}.year-branches{margin-top:.85rem}.month-branch{gap:.8rem;padding:.95rem 1rem}.preview-leaf-strip{display:flex;flex-wrap:wrap;gap:.6rem}.leaf-thumb{width:64px;height:64px;border-radius:16px;object-fit:cover;box-shadow:0 10px 18px #4a39261f}.preview-overflow-badge{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:64px;padding:0 .85rem;border-radius:16px;background:#2f6c7d1f;color:#215868;font-weight:700;box-shadow:inset 0 0 0 1px #2f6c7d29}.timeline-card-copy{padding:.9rem}.empty-state{place-items:center;padding:2.5rem 1rem;text-align:center;border-radius:22px;background:#f8f3ead9}.empty-state.compact{padding:1.25rem 1rem}.form-message{margin:0;color:#302720bd}.form-message.error{color:#b44343}.form-message.success{color:#1f6d56}.operation-feedback{display:grid;gap:.35rem;margin:0;padding:.85rem 1rem;border-radius:16px;border:1px solid transparent}.operation-feedback strong,.operation-feedback p{margin:0}.operation-feedback p{color:#302720d1}.operation-feedback--success{border-color:#247a5933;background:#e8f6efeb}.operation-feedback--success strong{color:#1f6d56}.operation-feedback--error{border-color:#b443432e;background:#fdefeff0}.operation-feedback--error strong{color:#b44343}.profile-table-wrap{overflow-x:auto}.profile-table{width:100%;border-collapse:collapse}.profile-table th,.profile-table td{padding:.9rem .75rem;border-bottom:1px solid rgba(61,49,38,.08);text-align:left;vertical-align:middle}.profile-table th{font-size:.92rem;color:#302720cc}.table-actions,.form-actions{display:flex;flex-wrap:wrap;gap:.6rem}.profile-form-panel{max-width:720px}.login-panel{width:min(100%,520px)}.timeline-year-toolbar,.timeline-jump-bar,.timeline-filter-bar{display:flex;flex-wrap:wrap;gap:.75rem}.timeline-jump-bar,.timeline-filter-bar{align-items:end}.timeline-jump-bar{margin:.5rem 0 1.15rem;padding-bottom:.2rem}.timeline-jump-bar label,.timeline-filter-bar label{display:grid;gap:.35rem;min-width:220px;flex:1 1 220px}.timeline-jump-bar input,.timeline-filter-bar input,.timeline-filter-bar select{padding:.8rem .9rem;border:1px solid rgba(64,53,40,.16);border-radius:16px;background:#ffffffeb}.timeline-tree{margin-top:.25rem}.year-branches{margin-top:1rem}.year-section{padding-top:.2rem}.profile-form{display:grid;gap:1rem}.profile-form label{display:grid;gap:.4rem}.profile-form input[type=text],.profile-form input[type=password]{padding:.8rem .9rem;border:1px solid rgba(64,53,40,.16);border-radius:16px;background:#ffffffeb}.checkbox-row{display:flex!important;align-items:center;gap:.7rem}.settings-category-editor,.settings-category-list{display:grid;gap:.8rem}.settings-category-editor{margin-top:1rem}.settings-category-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem}.settings-category-row input{padding:.8rem .9rem;border:1px solid rgba(64,53,40,.16);border-radius:16px;background:#ffffffeb}.media-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:1.5rem;background:#221c1652;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.media-viewer-modal{position:relative;width:min(1280px,100%);max-height:calc(100vh - 3rem);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);gap:1rem;padding:1rem;border-radius:28px;background:radial-gradient(circle at top left,rgba(255,235,206,.8),transparent 28%),#fffaf3f5;box-shadow:0 26px 60px #4c3a262e}.media-viewer-stage{min-height:520px;max-height:calc(100vh - 5rem);overflow:hidden;border-radius:24px;background:#ffffffb8}.media-viewer-stage img,.media-viewer-stage video{width:100%;height:100%;object-fit:contain;background:#fffc}.media-viewer-form{display:grid;align-content:start;gap:.9rem;min-height:0;overflow:auto;padding-right:.4rem}.media-viewer-form label{display:grid;gap:.35rem}.media-viewer-form input,.media-viewer-form select,.media-viewer-form textarea{padding:.8rem .9rem;border:1px solid rgba(64,53,40,.16);border-radius:16px;background:#ffffffeb}.media-viewer-meta{display:flex;flex-wrap:wrap;gap:.5rem .9rem;color:#302720cc;font-size:.92rem}.media-viewer-close{position:absolute;top:.9rem;right:.9rem;width:2.8rem;height:2.8rem;border:1px solid rgba(61,49,38,.12);border-radius:999px;background:#fffffff5;cursor:pointer}.upload-finish-modal{width:min(460px,100%);display:grid;gap:1rem;padding:1.4rem;border-radius:24px;background:radial-gradient(circle at top left,rgba(255,235,206,.8),transparent 28%),#fffaf3fa;box-shadow:0 26px 60px #4c3a262e}.upload-finish-modal h3,.upload-finish-modal p{margin:0}.upload-finish-summary{display:grid;gap:.55rem;padding:.9rem 1rem;border-radius:18px;background:#ffffffdb}.express-shell{width:min(760px,calc(100% - 1rem));padding-top:.75rem;padding-bottom:3rem}.express-top-panel{gap:.75rem}.express-top-header{align-items:start}.express-top-header h2{margin:0 0 .35rem}.express-top-header p{margin:0}.express-top-badges{display:flex;flex-wrap:wrap;gap:.45rem}.express-stack,.express-upload-panel{gap:1rem}.express-dropzone{min-height:13rem;margin-top:0}.express-preview-grid{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:.9rem;align-items:start}.express-preview-grid.compact{grid-template-columns:minmax(220px,260px) minmax(0,1fr)}.express-preview-frame{margin:0;aspect-ratio:1 / 1;border-radius:18px}.express-upload-details{padding:0}.express-meta-list{display:grid;gap:.35rem;font-size:.92rem;color:#302720d1}.express-debug-note{display:grid;gap:.45rem}.express-debug-note summary{cursor:pointer;color:#226980}.scroll-top-button{position:fixed;right:1.5rem;bottom:1.5rem;z-index:40;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.85rem 1rem;border:1px solid rgba(61,49,38,.12);border-radius:999px;background:#fffffff0;color:#1d1916;box-shadow:0 14px 30px #4939262e;cursor:pointer}.scroll-top-button:hover,.scroll-top-button:focus-visible{transform:translateY(-1px)}@keyframes heroGlowFloat{0%,to{transform:translateZ(0) scale(1);opacity:.92}50%{transform:translate3d(-1.2rem,1rem,0) scale(1.08);opacity:1}}@keyframes heroGlowSweep{0%,to{transform:translateZ(0) scale(1);opacity:.72}50%{transform:translate3d(1.8rem,-.8rem,0) scale(1.06);opacity:.95}}@keyframes uploadFileFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-.28rem)}}@keyframes uploadArrowBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-.32rem) scale(1.06)}}@media (max-width: 900px){.hero-panel,.panel-grid.two-up,.timeline-layout{grid-template-columns:1fr}.hero-panel-grid{grid-template-columns:1fr;gap:1rem}.gallery-stage-grid,.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-stage-shell,.gallery-stage-grid{min-height:440px}.media-viewer-modal,.express-preview-grid{grid-template-columns:1fr}.control-grid,.upload-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.app-shell{width:min(100% - 1rem,1240px);padding-top:.65rem}.hero-panel,.panel{padding:.9rem;border-radius:22px}.express-shell{width:min(100% - .75rem,760px)}.hero-side{display:none}.hero-main{gap:.55rem;padding:0}.hero-panel-grid{gap:0}.hero-panel h1{margin:.15rem 0 .2rem;font-size:clamp(1.8rem,10vw,2.8rem);line-height:1.04}.hero-copy-large{max-width:none;font-size:.9rem;line-height:1.45;display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.hero-user-chip{width:fit-content;max-width:100%;justify-content:flex-start;padding:.55rem .8rem;font-size:.9rem}.preview-leaf-strip{flex-direction:column}.toolbar-row{display:grid;grid-template-columns:1fr;align-items:stretch;gap:.7rem}.scroll-top-button{right:.9rem;bottom:.9rem;padding:.75rem .9rem;font-size:.92rem}.mobile-menu-toggle{display:inline-flex}.mobile-menu-toggle.active{background:#fff6e7f0;border-color:#855e3333}.main-nav{width:100%;display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;padding:.2rem 0 0}.main-nav.is-open{display:grid}.nav-chip,.app-logout-button{width:100%;min-height:3rem}.table-actions,.form-actions{flex-direction:column}.panel-header,.status-row,.month-branch-top,.year-toggle{align-items:flex-start;flex-direction:column}.panel-header .action-button,.panel-header .action-button.subtle{width:100%}.gallery-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;min-height:auto;height:auto;padding:.75rem;gap:.65rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:.65rem}.tile,.tile.wide,.tile.cinematic,.tile.tall,.tile.vertical-strip,.tile.portrait-feature,.tile.featured,.tile.wide.tall,.gallery-stage-grid .tile,.gallery-stage-grid .tile.wide,.gallery-stage-grid .tile.cinematic,.gallery-stage-grid .tile.tall,.gallery-stage-grid .tile.vertical-strip,.gallery-stage-grid .tile.portrait-feature,.gallery-stage-grid .tile.featured,.gallery-stage-grid .tile.wide.tall{grid-column:span 1;grid-row:span 1;aspect-ratio:1 / 1}.gallery-stage-shell,.gallery-stage-grid{min-height:0}.upload-preview-grid{grid-template-columns:1fr}.upload-dropzone{padding:1rem .9rem}.upload-dropzone-visual{width:4.9rem;height:4.9rem}.upload-preview{aspect-ratio:1 / 1}.express-preview-frame{max-width:100%}.upload-card-header{flex-direction:column;align-items:stretch}.upload-meta-grid{grid-template-columns:1fr}.timeline-year-toolbar,.timeline-jump-bar,.timeline-filter-bar{display:grid;grid-template-columns:1fr;gap:.75rem}.timeline-jump-bar label,.timeline-filter-bar label{min-width:0;flex:none}.preview-leaf-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.leaf-thumb,.preview-overflow-badge{width:100%;min-width:0;height:auto;aspect-ratio:1 / 1}.timeline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-meta{left:.7rem;right:.7rem;bottom:.7rem;gap:.35rem .55rem;padding:.75rem .85rem;border-radius:16px}.focus-meta strong{font-size:.96rem}.focus-meta p,.focus-meta span{font-size:.88rem}.gallery-fullscreen-toggle{top:.7rem;right:.7rem;min-width:2.45rem;height:2.45rem;padding:0 .72rem}.gallery-stage-panel:fullscreen .gallery-stage-grid,.gallery-stage-panel.is-browser-fullscreen .gallery-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;min-height:100vh;height:100vh;padding:.85rem}.gallery-stage-panel:fullscreen .gallery-stage-grid .tile,.gallery-stage-panel.is-browser-fullscreen .gallery-stage-grid .tile{aspect-ratio:1 / 1}.media-viewer-overlay{padding:.75rem}.media-viewer-modal{width:100%;max-height:calc(100vh - 1.5rem);padding:.8rem;border-radius:22px}.media-viewer-stage{min-height:300px}.media-viewer-form{padding-right:0}.upload-finish-modal{width:100%;padding:1.1rem;border-radius:22px}.settings-category-row{grid-template-columns:1fr}}@media (max-width: 480px){.app-shell{width:min(100% - .75rem,1240px)}.hero-panel h1{font-size:clamp(1.55rem,10.2vw,2.2rem)}.express-top-header{gap:.75rem}.hero-kicker-row{gap:.45rem}.hero-copy-large{font-size:.84rem;-webkit-line-clamp:1}.hero-user-chip{width:100%;justify-content:center;font-size:.85rem}.main-nav,.gallery-stage-grid,.gallery-grid,.timeline-grid{grid-template-columns:1fr}.preview-leaf-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.focus-meta span{width:100%}}
