@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ground:#eceef3;--card:#fff;--field:#f2f3f6;--raised:#e3e6ed;--line:#d5d8e0;--ink:#17181c;--muted:#5e6170;--accent:#d2401a;--on-accent:#fff;--link:#b8360f;--radius-card:24px;--radius-field:12px;--font-text:"Figtree Variable", system-ui, sans-serif;--font-display:"Bricolage Grotesque Variable", "Figtree Variable", system-ui, sans-serif;font-family:var(--font-text);color:var(--ink);background:var(--ground)}body{margin:0}h1,h2,.brand{font-family:var(--font-display);letter-spacing:-.02em}header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding:1rem 1.5rem 0;display:flex}.brand{letter-spacing:-.04em;color:inherit;flex-shrink:0;align-items:baseline;font-size:1.625rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-dot{background:var(--accent);border-radius:50%;width:.3em;height:.3em;margin-left:.06em}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dock{bottom:max(1rem, env(safe-area-inset-bottom));z-index:10;box-sizing:border-box;background:#17181cf0;border-radius:24px;align-items:center;gap:.25rem;max-width:calc(100% - 2rem);padding:.5rem;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 18px 40px -16px #17181c8c}.dock a{box-sizing:border-box;color:#c4c6ce;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:4rem;min-height:52px;padding:0 .5rem;font-size:.75rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.dock a:hover{color:#fff;background:#ffffff14}.dock a[aria-current=page]{color:#fff;background:#ffffff24}.dock a:focus-visible{outline-offset:2px;outline:2px solid #fff}.nav-badge{background:var(--accent);min-width:1.125rem;height:1.125rem;color:var(--on-accent);text-align:center;pointer-events:none;border-radius:999px;padding:0 .25rem;font-size:.6875rem;font-weight:700;line-height:1.125rem;position:absolute;top:.15rem;right:.35rem}.dock .dock-upload{width:52px;min-width:52px;color:var(--on-accent);background:var(--accent);border-radius:50%;margin:0 .375rem;padding:0}.dock .dock-upload:hover,.dock .dock-upload[aria-current=page]{color:var(--on-accent);background:var(--accent);box-shadow:0 0 0 3px #ffffff59}.stand-in{background:var(--card);border-radius:999px;flex-wrap:wrap;flex:0 auto;align-items:center;gap:.35rem .6rem;min-width:0;max-width:100%;padding:.25rem .5rem .25rem .25rem;font-weight:600;display:flex}.stand-in p{flex-basis:100%;margin:0;padding:0 .75rem .5rem}.avatar{color:#8e2a0b;background:#ffe3d8;border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;display:inline-flex}.people label{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;max-width:100%;font-size:.875rem;font-weight:650;display:flex}.people select{max-width:100%;font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);padding:.35rem .5rem;font-weight:400}main{--gutter:1.5rem;padding:1.5rem var(--gutter) 7rem}main h1{letter-spacing:-.035em;margin:0 0 .5rem;font-size:2rem;font-weight:800}main p{margin:0}.gate{text-align:center;flex-direction:column;align-items:center;gap:1rem;max-width:24rem;margin:15vh auto 0;padding:2rem 1.5rem 7rem;display:flex}.gate-actions{flex-direction:column;gap:.75rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.gate-actions .button{width:100%}.reset-link{flex-wrap:wrap;flex:100%;align-items:center;gap:.5rem;display:flex}.reset-link input{border:1px solid var(--line);min-width:0;min-height:44px;font:inherit;border-radius:12px;flex:14rem;padding:.35rem .75rem}.reset-link p{color:var(--muted);flex:100%;margin:0;font-size:.875rem}.account-form{flex-direction:column;gap:.75rem;max-width:24rem;margin-top:1.5rem;display:flex}.account-form h2{margin:0}.account-form label{flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:650;display:flex}.account-form input{box-sizing:border-box;border:1px solid var(--line);width:100%;min-height:44px;font:inherit;border-radius:12px;padding:.35rem .75rem;font-weight:400}.account-hint{color:var(--muted);margin-top:-.5rem;font-size:.875rem}.gate-form{text-align:left;flex-direction:column;gap:.75rem;width:100%;display:flex}.gate-form label{flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:650;display:flex}.gate-form input{box-sizing:border-box;border:1px solid var(--line);width:100%;min-height:44px;font:inherit;border-radius:12px;padding:.35rem .75rem;font-weight:400}.gate-form .button{width:100%}.gate-hint,.gate-or{color:var(--muted);font-size:.875rem}.gate-hint{margin-top:-.5rem}.library-head{z-index:8;margin:0 calc(-1 * var(--gutter)) .75rem;padding:.5rem var(--gutter) .75rem;background:var(--ground);flex-wrap:wrap;align-items:center;gap:.75rem;display:flex;position:sticky;top:0}.search{flex-wrap:wrap;flex:100%;align-items:end;gap:.75rem;min-width:0;display:flex}.search label{flex-direction:column;flex:12rem;gap:.25rem;min-width:0;font-size:.875rem;font-weight:650;display:flex}.search input,.search select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);padding:.35rem .5rem;font-weight:400}.search .search-field{min-height:48px;color:var(--muted);background:var(--card);border-radius:999px;flex-direction:row;flex:16rem;align-items:center;gap:.6rem;padding:0 1.1rem}.search .search-field input{background:0 0;border:0;border-radius:0;outline:none;flex:1;min-height:48px;padding:0;font-size:1rem}.search .search-field:focus-within{outline:2px solid var(--ink);outline-offset:2px}.search .search-field input::placeholder{color:var(--muted)}.round-toggle{width:48px;height:48px;color:var(--ink);background:var(--card);cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.round-toggle[aria-expanded=true]{box-shadow:inset 0 0 0 2px}.round-toggle[aria-pressed=true]{color:var(--card);background:var(--ink)}.round-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.round-toggle-ink{color:var(--card);background:var(--ink)}.page-head{align-items:center;gap:.75rem;margin:0 0 1rem;display:flex}.page-head h1{margin:0}.album-head{z-index:8;margin:0 calc(-1 * var(--gutter)) 1rem;padding:.5rem var(--gutter);background:var(--ground);flex-wrap:wrap;align-items:center;gap:.75rem;display:flex;position:sticky;top:0}.album-head h1{overflow-wrap:anywhere;flex:none;max-width:100%;margin:0}.album-actions{flex:none;align-items:center;gap:.5rem;display:flex}.round-toggle:disabled{opacity:.45;cursor:default}.album-name-field{flex:12rem;min-width:0}.album-name-field input{box-sizing:border-box;border:2px solid var(--ink);border-radius:var(--radius-field);width:100%;min-height:48px;color:var(--ink);background:var(--card);font-family:var(--font-display);letter-spacing:-.02em;padding:.25rem .75rem;font-size:1.5rem;font-weight:800}.album-confirm{border-radius:var(--radius-field);background:var(--card);flex-wrap:wrap;flex-basis:100%;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.album-confirm p{overflow-wrap:anywhere;flex-basis:100%;min-width:0;margin:0}.album-confirm .button{min-height:44px}.new-album{margin-left:auto;position:relative}.library-actions{align-items:center;gap:.75rem;margin-left:auto;display:flex}@media (width>=48rem){.library-head:not(:has(.search select)) .search{flex-basis:18rem}.library-head:not(:has(.search select)) .library-actions{order:1}}.new-album-card{z-index:5;box-sizing:border-box;border-radius:var(--radius-card);background:var(--card);flex-direction:column;gap:.75rem;width:min(20rem,100vw - 2rem);padding:1rem;display:flex;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 12px 32px #17181c2e}.new-album-card label{flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:650;display:flex}.new-album-card input{box-sizing:border-box;border:1px solid var(--line);width:100%;min-height:44px;font:inherit;color:inherit;background:var(--card);border-radius:12px;padding:.35rem .75rem;font-weight:400}.new-album-card p{margin:0}.shelf{margin:0 0 1.5rem}.shelf ul{scroll-snap-type:x proximity;gap:.75rem;margin:0;padding:0 0 .25rem;list-style:none;display:flex;overflow-x:auto}.shelf ul.shelf-more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 3rem),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 3rem),#0000)}.shelf li{flex:0 0 var(--shelf-tile,11rem);scroll-snap-align:start;min-width:0}.album-card{box-sizing:border-box;height:100%;color:var(--ink);background:var(--card);border-radius:22px;flex-direction:column;gap:.15rem;padding:.6rem .6rem .75rem;text-decoration:none;display:flex}.album-card:hover{box-shadow:0 10px 30px -14px #17181c59}.album-card:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.album-card img,.album-card .poster-empty,.album-cover-empty{object-fit:cover;background:var(--field);border-radius:14px;width:100%;height:6.5rem;margin-bottom:.5rem;display:block}.album-name{overflow-wrap:anywhere;padding:0 .35rem;font-weight:700}.album-count{color:var(--muted);padding:0 .35rem;font-size:.8125rem}.tools{flex-wrap:wrap;align-items:end;gap:.75rem 1rem;margin:1rem 0;display:flex}.tools label{flex-direction:column;flex:12rem;gap:.25rem;min-width:0;font-size:.875rem;font-weight:650;display:flex}.tools input,.tools select{box-sizing:border-box;width:100%;min-width:0;font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);padding:.35rem .5rem;font-weight:400}.button{font:inherit;color:var(--on-accent);background:var(--accent);border:0;padding:.4rem .8rem}.album-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr));gap:1rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.album-tile{background:var(--card);border-radius:24px;flex-direction:column;gap:.15rem;min-width:0;padding:.6rem .6rem .875rem;display:flex;position:relative}.album-tile:hover{box-shadow:0 10px 30px -14px #17181c59}.album-tile img,.album-tile .poster-empty,.album-tile .album-cover-empty{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;color:var(--muted);background:var(--field);border-radius:16px;justify-content:center;align-items:center;margin-bottom:.5rem;display:flex}.album-tile a{color:var(--ink);font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;padding:0 .35rem;font-size:1.125rem;font-weight:700;text-decoration:none}.album-tile a:after{content:"";border-radius:24px;position:absolute;inset:0}.album-tile a:focus-visible{outline:none}.album-tile a:focus-visible:after{outline:2px solid var(--ink);outline-offset:2px}.tool-card{border-radius:var(--radius-card);background:var(--card);flex-direction:column;align-items:flex-start;gap:.25rem;margin:0 0 1.25rem;padding:.25rem 0 1rem;display:flex}.tool-card .tools{align-self:stretch;margin:0;padding-bottom:.25rem}.tool-card>.button{margin-left:1.25rem}.upload-list{flex-direction:column;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.upload-list li,.people li{background:var(--card);border-radius:20px;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;min-width:0;padding:.75rem 1rem;display:flex}.upload-list a,.upload-list span{overflow-wrap:anywhere;min-width:0}.upload-list a{color:var(--link);font-weight:700}.upload-list li>span:first-child{flex:10rem;font-weight:700}.upload-list .button,.people .button{overflow-wrap:anywhere;white-space:normal;text-align:start;min-width:0;max-width:100%}.drop{color:var(--muted);background:var(--card);text-align:center;border:2px dashed #b9bdc8;border-radius:28px;flex-direction:column;align-items:center;gap:.5rem;margin:0 0 1.25rem;padding:2.5rem 1.5rem;display:flex;position:relative}.drop:hover{border-color:var(--accent)}.drop:focus-within{outline:2px solid var(--ink);outline-offset:2px}.drop .icon{box-sizing:content-box;color:var(--on-accent);background:var(--accent);border-radius:50%;padding:.75rem}.drop .add-source{width:min(100%,20rem)}.drop p{max-width:28rem}.people{flex-direction:column;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.people-waiting{margin:1rem 0 0}.people-waiting h2{margin:0;font-size:1.125rem}.people-waiting .people{margin-top:.75rem}.people span{overflow-wrap:anywhere;min-width:0}.person-name{flex:8rem;align-items:center;gap:.75rem;font-weight:700;display:inline-flex}.person-name:before{content:attr(data-initial) / "";color:#8e2a0b;background:#ffe3d8;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:inline-flex}.chip.chip-warn{color:#8e2a0b;background:#ffe3d8}body:has(.asset){height:100dvh;overflow:hidden}#root:has(.asset){flex-direction:column;height:100%;min-height:0;display:flex}#root:has(.asset)>header{flex:none;padding-bottom:.75rem}#root:has(.asset)>.dock{margin:.5rem 0 max(.5rem, env(safe-area-inset-bottom));flex:none;order:1;align-self:center;position:static;transform:none}main:has(.asset){flex:auto;min-height:0;padding:0 1.5rem;overflow:auto}.asset{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:.75rem 1rem;height:100%;display:grid;position:relative}.asset-bar{grid-column:1/-1;justify-content:flex-end;display:flex}.asset-details-toggle{min-height:44px;color:var(--ink);background:var(--card);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:.5rem;padding:0 1.1rem;font-weight:600;display:inline-flex}.asset-details-toggle[aria-expanded=true]{color:var(--card);background:var(--ink)}.asset-details-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.asset h1{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.asset-stage{color:#fff;background:#17181c;border-radius:32px;height:100%;position:relative;overflow:hidden}.asset:has(dialog[open]){flex-direction:column;display:flex}.asset:has(dialog[open]) .asset-stage{flex:auto;height:auto}.asset-stage{min-height:0}.asset-stage figure{height:100%;margin:0}.asset-stage img,.asset-stage video{object-fit:contain;background:0 0;width:100%;height:100%;animation:.2s asset-in;display:block}.asset-stage img,.asset-stage .poster-empty{touch-action:pinch-zoom}.asset-stage .poster-empty{background:#ffffff0f;border-radius:14px;width:100%;height:100%;display:block}@keyframes asset-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.asset-stage img,.asset-stage video{animation:none}}.asset-nav{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0}.asset-nav a{box-sizing:border-box;pointer-events:none;opacity:0;background:#ffffffeb;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin:0 1rem;text-decoration:none;transition:opacity .15s;display:flex;box-shadow:0 6px 18px -8px #00000080}.asset-stage.controls-shown .asset-nav a,.asset-nav a:focus-visible{opacity:1;pointer-events:auto}.asset-note a{box-sizing:border-box;background:var(--accent);border-radius:999px;align-items:center;min-height:44px;padding:0 1rem;text-decoration:none;display:inline-flex}.asset-nav a:focus-visible,.asset-note a:focus-visible{outline-offset:2px;outline:2px solid #fff}.asset-nav .next{margin-left:auto}.asset-fullscreen{z-index:1;box-sizing:border-box;color:#fff;cursor:pointer;opacity:0;pointer-events:none;background:#17181cb8;border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:opacity .15s;display:flex;position:absolute;top:.75rem;right:.75rem}.asset-stage.controls-shown .asset-fullscreen,.asset-fullscreen:focus-visible{opacity:1;pointer-events:auto}.asset-fullscreen:focus-visible{outline-offset:2px;outline:2px solid #fff}@media (prefers-reduced-motion:reduce){.asset-fullscreen,.asset-nav a{transition:none}}:is(.asset-stage:fullscreen,.asset-stage.asset-full){background:#000;border-radius:0}.asset-stage.asset-full{z-index:20;height:auto;position:fixed;inset:0}.asset-stage.asset-full .asset-fullscreen{top:max(.75rem, env(safe-area-inset-top));right:max(.75rem, env(safe-area-inset-right))}.asset-note{box-sizing:border-box;color:#fff;text-align:center;background:#17181cc7;border-radius:999px;width:max-content;max-width:calc(100% - 1.5rem);margin:0;padding:.6rem 1rem;position:absolute;bottom:.75rem;left:50%;transform:translate(-50%)}.asset-note:has(a){background:0 0;padding:0}.asset-details{box-sizing:border-box;color:var(--ink);background:var(--ground);padding:1rem 1.5rem 1.5rem}@media (width>=40rem){.asset:has(>aside.asset-details){grid-template-columns:minmax(0,1fr) clamp(12rem,40%,22rem)}aside.asset-details{min-width:0;min-height:0;padding:0 0 1rem;overflow:auto}}dialog.asset-details{box-sizing:border-box;background:var(--ground);border:0;border-radius:24px;width:100%;max-width:none;margin:0;padding:0;overflow:hidden}dialog.asset-details[open]{flex-direction:column;flex:0 auto;min-height:0;max-height:50%;animation:.2s details-in;display:flex;position:relative;inset:auto}.asset-details-bar{flex:none;justify-content:flex-end;padding:.75rem 1rem;display:flex}.asset-details-scroll{overscroll-behavior:contain;flex:auto;min-height:0;padding:0 1rem 1rem;overflow:auto}.asset-details-close{box-sizing:border-box;min-width:44px;min-height:44px;font:inherit;color:var(--on-accent);background:var(--accent);border:0;padding:0 .75rem}.asset-details-close:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@keyframes details-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){dialog.asset-details[open]{animation:none}}.asset .tools input{color:var(--ink)}.asset p{margin:.75rem 0}.asset .asset-note{margin:0}.asset a{color:var(--link)}.asset-nav a{color:var(--ink)}.asset-note a{color:var(--on-accent)}.asset-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;display:grid}.field{background:var(--card);border-radius:20px;min-width:0;padding:.875rem 1rem}.field-wide{grid-column:1/-1}.asset-fields dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.3rem;font-size:.75rem;font-weight:700}.asset-fields dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:600}.field-lead dd{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.5rem;font-weight:700;line-height:1.15}.asset-fields ul{flex-wrap:wrap;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.tags li{background:var(--field);border-radius:999px;align-items:center;min-height:2.25rem;padding:0 .875rem;display:inline-flex}.tags li:has(.tag-remove){padding-right:0}.tags li>span{overflow-wrap:anywhere;min-width:0}.tag-remove{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin:-.25rem 0;padding:0;display:inline-flex}.tag-remove:hover{color:var(--ink)}.tag-remove:focus-visible{outline:2px solid var(--ink);outline-offset:-4px}.album-links a{box-sizing:border-box;background:var(--field);overflow-wrap:anywhere;border-radius:999px;align-items:center;min-width:44px;max-width:100%;min-height:44px;padding:0 1rem;font-weight:700;text-decoration:none;display:inline-flex}.download{font:inherit;color:var(--on-accent);background:var(--accent);border:0}.timeline{--card-rows:2;grid-template-columns:repeat(auto-fill,minmax(min(100%,26rem),1fr));align-items:start;gap:1rem;min-width:0;display:grid}@media (width>=640px){.timeline{--card-rows:3}}@media (width>=1200px){.timeline{--card-rows:4}}.day{background:var(--card);border-radius:28px;min-width:0;padding:1rem}.day-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin:.25rem .375rem .875rem;display:flex}.day-title{align-items:center;gap:.25rem;min-width:0;display:flex}.box-select{cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;height:44px;margin-left:-.5rem;display:inline-flex;position:relative}.box-select input{opacity:0;pointer-events:none;position:absolute}.box-select:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:-2px}.box-check{box-sizing:border-box;border:2px solid var(--ink);width:28px;height:28px;color:var(--on-accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}:is(.box-select:has(input:checked) .box-check,.box-select:has(input:indeterminate) .box-check){border-color:var(--accent);background:var(--accent)}.box-check-dash{background:currentColor;border-radius:1px;width:12px;height:2px}.chip{color:var(--muted);background:var(--field);border-radius:999px;align-items:center;padding:.375rem .625rem;font-size:.8125rem;font-weight:600;display:inline-flex}.period-back{max-width:100%;min-height:44px;color:var(--link);align-items:center;margin-bottom:.5rem;font-weight:650;display:inline-flex}.period-back:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.period-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 1rem;display:flex}.period-head h1{flex:12rem;min-width:0;margin:0}.library{--pinned-head:var(--library-head-height,0px);--pinned-total:calc(var(--pinned-head) + var(--library-toolbar-height,0px));min-height:calc(100dvh - 12rem);position:relative}.library h1{letter-spacing:-.045em;margin:0 .25rem 0 0;font-size:clamp(2.5rem,6vw,3.5rem);line-height:1}.timeline h2{letter-spacing:-.03em;margin:0;font-size:1.5rem;font-weight:700}.timeline h2 a{min-height:44px;color:inherit;align-items:center;text-decoration:none;display:inline-flex}.timeline h2 a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (width<=40rem),(height<=40rem){.library-head:has(.search select){position:relative}.library:has(>.library-head .search select){--pinned-head:0px}}@media (width>=40.0625rem){.library>.add-sheet,.album-page>.add-sheet{top:calc(var(--pinned-head) + .5rem);z-index:7;position:sticky}}.library>:not(.library-head,.library-toolbar) :is(a,button,input,select,textarea){scroll-margin-top:calc(var(--pinned-head) + .5rem)}.library>.timeline :is(a,button,input,select,textarea){scroll-margin-top:calc(var(--pinned-total) + .5rem)}.library-toolbar{top:var(--pinned-head);z-index:6;margin:0 calc(-1 * var(--gutter)) .5rem;padding:.25rem var(--gutter) .5rem;background:var(--ground);flex-wrap:wrap;align-items:center;gap:.75rem;display:flex;position:sticky}.library-toolbar .select-toggle{margin-left:auto}.scale{background:var(--card);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.scale button{min-width:4.5rem;min-height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 1rem;font-weight:600}.scale button[aria-pressed=true]{color:var(--card);background:var(--ink)}.scale button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (width<=22.5rem){.library-toolbar{gap:.5rem}.library-toolbar .scale button{min-width:0;padding:0 .625rem}.library-toolbar .select-toggle{padding:0 .875rem}}.thumbs{--tile-row:7.5rem;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:var(--tile-row);gap:6px;margin:0;padding:0;list-style:none;display:grid}.thumbs li{min-width:0;position:relative}.thumbs li:first-child{grid-area:span 2/span 2}.thumbs li:only-child{grid-column:1/-1}.thumbs li:first-child:nth-last-child(2)+li{grid-row:span 2}.day.month .thumbs{--tile-row:5.5rem;grid-template-columns:repeat(4,minmax(0,1fr))}.day.year{grid-column:1/-1}.day.year .thumbs{--tile-row:5rem;grid-template-columns:repeat(auto-fill,minmax(5rem,1fr))}.day.year .thumbs li:first-child,.day.year .thumbs li:first-child:nth-last-child(2)+li{grid-area:auto}.thumbs a{border-radius:14px;height:100%;display:block;position:relative;overflow:hidden}.thumbs .more-tile{box-sizing:border-box;background:var(--field);min-width:44px;height:100%;min-height:44px;color:var(--ink);text-align:center;border-radius:14px;flex-wrap:wrap;place-content:center;align-items:center;column-gap:.25em;font-weight:700;text-decoration:none;display:flex;overflow:hidden}.thumbs .more-selected{font-size:.8125rem;font-weight:600}.thumbs a:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.thumbs img,.thumbs .poster-empty{object-fit:cover;background:var(--field);width:100%;height:100%;display:block}.badge{color:var(--ink);background:var(--card);border-radius:999px;align-items:center;gap:.375rem;padding:.3rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex;position:absolute;bottom:.5rem;left:.5rem}.badge .icon{color:var(--accent)}.processing-mark{color:var(--muted);pointer-events:none;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex;position:absolute;inset:0}.day.month .thumbs li:not(:first-child) .badge,.day.year .badge{gap:0;padding:.375rem;font-size:0}.select-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 1rem;display:flex}.select-bar .button{cursor:pointer;border-radius:999px;min-height:44px;padding:0 1rem;font-weight:600}.select-bar .bar-icons,.select-bar .bar-words{align-items:center;gap:.5rem;display:flex}.select-bar .bar-icons{flex-wrap:nowrap}.select-bar .bar-words{flex-wrap:wrap}.select-bar .bar-words:empty{display:none}.select-bar .bar-messages{flex-direction:column;flex-basis:100%;gap:.5rem;display:flex}.select-bar .bar-messages:empty{display:none}.select-bar .bar-messages p{margin:0}.select-bar .bar-words .select-note{order:1}.bar-button .icon{display:none}@media (width<=40rem){.select-bar .bar-button{border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;min-height:40px;padding:0;display:inline-flex}.select-bar .bar-button .icon{display:block}.select-bar .bar-button .bar-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}}.select-bar .button:disabled{opacity:.5;cursor:default}.select-bar .button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.select-bar .move{align-items:center;gap:.5rem;display:inline-flex}.select-bar .move label{flex:none;display:flex}.library-select-bar .move label{width:10rem}.select-bar:not(.library-select-bar) .move label{max-width:12rem}.library-select-bar .move .new-album-name{width:12rem}.select-bar select{box-sizing:border-box;border:1px solid var(--line);width:100%;height:44px;color:inherit;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%235e6170' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right .875rem center / 12px 12px;font:inherit;text-overflow:ellipsis;appearance:none;cursor:pointer;border-radius:999px;padding:0 2.25rem 0 1rem;font-weight:600}.select-bar select:disabled{opacity:.5;cursor:default}.select-bar select:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (width<=40rem){.library-select-bar .move label{flex:8.75rem;width:auto;min-width:0}.library-select-bar select{background-position:right .75rem center;padding:0 1.875rem 0 .875rem}}.select-note{color:var(--muted);flex-basis:100%;margin:0;font-size:.875rem}.select-bar .confirm{border-radius:var(--radius-field);background:var(--card);flex-wrap:wrap;flex-basis:100%;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.select-bar .confirm p{flex-basis:100%;margin:0;font-weight:600}.floating-select-bar{bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 5rem);z-index:9;box-sizing:border-box;width:max-content;max-width:calc(100% - 2rem);max-height:calc(100dvh - max(1rem, env(safe-area-inset-bottom)) - 6rem);overscroll-behavior:contain;border:1px solid var(--line);background:var(--raised);border-radius:24px;margin:0;padding:.5rem .5rem .5rem 1rem;position:fixed;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 6px 24px -8px #17181c59}.floating-select-bar .move{flex-wrap:wrap}.library-select-bar .new-album-name input{box-sizing:border-box;border:1px solid var(--line);width:100%;min-width:0;height:44px;color:inherit;background:var(--card);font:inherit;border-radius:999px;padding:0 1rem}.library-select-bar .new-album-name input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.select-bar-room{padding-bottom:calc(var(--select-bar-height,7.5rem) + .5rem)}.select-bar-room .timeline :is(a,button,input,select,textarea){scroll-margin-bottom:calc(var(--select-bar-height,7.5rem) + max(1rem, env(safe-area-inset-bottom)) + 5.5rem)}.select-toggle{cursor:pointer;border-radius:999px;min-height:44px;padding:0 1rem;font-weight:600}.select-count{margin-right:auto;font-weight:700}.tile-select{cursor:pointer;border-radius:14px;height:100%;display:block;position:relative;overflow:hidden}.tile-select input{opacity:0;pointer-events:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.tile-select:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:2px}.tile-select:has(input:checked) img{opacity:.7}.tile-select:has(input:checked) .poster-empty{opacity:.7}.tile-check{box-sizing:border-box;width:28px;height:28px;color:var(--on-accent);background:#17181c40;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.5rem;right:.5rem;box-shadow:0 2px 8px -2px #17181c80}.tile-select:has(input:checked) .tile-check{border-color:var(--accent);background:var(--accent)}@media (width<=40rem){main{--gutter:1rem}header{padding:.75rem 1rem 0}.dock a{min-width:3.5rem}.day{border-radius:24px;padding:.75rem}main:has(.asset){padding:0 .75rem}.asset-stage{border-radius:24px}.asset-nav a{margin:0 .5rem}.thumbs{--tile-row:5.75rem;gap:4px}.asset-details{padding:1rem}}.search input,.search select,.tools input,.tools select,.people select{box-sizing:border-box;border-radius:var(--radius-field);min-height:44px;padding:.5rem .75rem}.button,.download,.asset-details-close{cursor:pointer;border-radius:999px;min-height:44px;padding-inline:1.1rem;font-weight:600}.asset-nav a,.asset-note a{border-radius:999px;font-weight:600}.button:focus-visible,.download:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.tools{border-radius:var(--radius-card);background:var(--card);padding:1rem 1.25rem}aside.asset-details,.asset-details-scroll{flex-direction:column;gap:.75rem;display:flex}.asset-details-scroll>*{flex-shrink:0}.asset-details .tools,.asset-details p{margin:0}.asset-details .download{width:100%;min-height:60px;font-family:var(--font-display);letter-spacing:-.02em;border-radius:20px;flex:none;justify-content:center;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;display:flex}.button-quiet{color:var(--link);background:var(--card);box-shadow:inset 0 0 0 1.5px}@media (width<=30rem){.library-head{gap:.5rem}.library-head h1{font-size:2.25rem}.library-head .round-toggle{width:44px;height:44px}}@media (width<=24rem){.library-head{gap:.375rem}.library-head h1{font-size:1.75rem}.library-head .round-toggle{width:40px;height:40px}}.audit-filters{margin-bottom:1rem}.audit-filters .button{align-self:end;min-height:44px}.audit-table{border-collapse:separate;border-spacing:0;background:var(--card);border-radius:16px;width:100%;overflow:hidden}.audit-table th,.audit-table td{overflow-wrap:anywhere;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.75rem 1rem}.audit-table tbody tr:last-child td{border-bottom:0}.audit-table th{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:700}.audit-table time{white-space:nowrap}.audit-person{font-weight:650;display:block}.audit-email{color:var(--muted);overflow-wrap:anywhere;font-size:.875rem;display:block}.audit-pages{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.audit-pages p{color:var(--muted);margin:0}@media (width<=40rem){.audit-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.audit-table,.audit-table tbody,.audit-table tr,.audit-table td{display:block}.audit-table{background:0 0;border-radius:0}.audit-table tr{background:var(--card);border-radius:16px;margin-bottom:.75rem;padding:.75rem 1rem}.audit-table td{border-bottom:0;padding:.15rem 0}.audit-table time{color:var(--muted);font-size:.875rem}}@media (width<=24rem){.dock{gap:2px}.dock a{min-width:3rem;padding:0 .25rem;font-size:.6875rem}.dock .dock-upload{margin:0 .25rem}}.add-sheet{border-radius:var(--radius-field);background:var(--card);flex-direction:column;gap:.75rem;max-width:24rem;margin:0 0 1rem;padding:1rem;animation:.16s ease-out sheet-in;display:flex;box-shadow:0 8px 24px #0000001f}.add-sources{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.add-source{width:100%;min-height:44px}.add-hint{color:var(--muted);margin:.375rem 0 0;font-size:.875rem}@keyframes sheet-in{0%{opacity:0;transform:translateY(.5rem)}}@media (width<=40rem){.add-sheet{z-index:20;box-sizing:border-box;max-width:none;max-height:100dvh;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;margin:0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}}.picker-backdrop{z-index:30;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.picker{box-sizing:border-box;background:var(--ground);border-radius:20px;flex-direction:column;width:min(64rem,100%);max-height:100%;animation:.16s ease-out sheet-in;display:flex;overflow-y:auto}.picker-head{z-index:1;background:inherit;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem;display:flex;position:sticky;top:0}.picker-head h2{overflow-wrap:anywhere;margin:0}.picker-grid{gap:.5rem;margin:0;padding:0 1rem 1rem;list-style:none;display:grid}.picker-grid li{aspect-ratio:1}.picker-grid img,.picker-grid .poster-empty{object-fit:cover;background:var(--field);width:100%;height:100%;display:block}.picker-in-album{color:#fff;background:#000000b3;border-radius:999px;padding:.125rem .5rem;font-size:.75rem;font-weight:700;position:absolute;bottom:.5rem;left:.5rem}.picker-grid .tile-select:has(input:disabled){cursor:default}.picker-sentinel{height:1px}.picker-foot{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px));background:var(--card);justify-content:space-between;align-items:center;gap:.75rem;margin-top:auto;font-weight:700;display:flex;position:sticky;bottom:0}.picker-foot .button{min-height:44px}@media (prefers-reduced-motion:reduce){.add-sheet,.picker{animation:none}}.album-page{--pinned-head:var(--album-head-height,0px);min-height:calc(100dvh - 12rem);position:relative}.album-page>:not(.album-head,.floating-select-bar) :is(a,button,input,select,textarea){scroll-margin-top:calc(var(--pinned-head) + .5rem)}.album-dropping,.library-dropping,.drop-dropping{border-radius:var(--radius-card);outline:3px dashed var(--accent);outline-offset:.5rem}.album-drop-hint,.library-drop-hint,.drop-drop-hint{z-index:5;width:fit-content;max-width:100%;color:var(--on-accent);background:var(--accent);overflow-wrap:anywhere;pointer-events:none;border-radius:999px;margin:0 auto .75rem;padding:.5rem 1rem;font-weight:700;position:sticky;top:.5rem}.library-drop-hint{top:calc(var(--pinned-total) + .5rem);z-index:8}.album-drop-hint{top:calc(var(--pinned-head) + .5rem);z-index:8}.album-progress{margin:0 0 1rem;font-weight:600}
