:root{color-scheme:light;--paper:#fcfaf5;--ink:#243c3b;--muted:#73817e;--teal:#147d78;--teal-dark:#0b635f;--line:#e4e7df;--soft:#edf4ef;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);min-height:100vh}body:has(dialog[open]){overflow:hidden}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #edbd73;outline-offset:4px}[hidden]{display:none!important}a{color:inherit}.ambient{pointer-events:none;position:fixed;inset:0;background:radial-gradient(ellipse at 12% 32%,#e8f0e740,transparent 48%);z-index:-1}.topbar{max-width:1500px;margin:auto;padding:26px 48px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:22px;letter-spacing:-.7px}.brand img{border-radius:12px}.brand strong{font-weight:600}.brand small{display:block;color:var(--muted);font-size:8px;font-weight:600;letter-spacing:2px;margin-top:3px}.header-actions{display:flex;gap:12px;align-items:center}.button{border:0;border-radius:12px;min-height:50px;padding:12px 21px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:600;text-decoration:none;transition:background .2s,transform .15s}.button:active{transform:scale(.98)}.primary{background:var(--teal);color:#fff}.primary:hover{background:var(--teal-dark)}.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.secondary:hover{background:var(--soft)}.small{font-size:13px;min-height:42px;padding:9px 15px;border-radius:10px}.text-button{color:var(--teal-dark);background:none;border:0;padding:10px 4px;min-height:44px;font-size:13px;font-weight:600}.text-button:hover{text-decoration:underline}.icon-button{display:grid;place-items:center;min-width:44px;height:44px;background:transparent;border:1px solid var(--line);border-radius:50%;font-size:21px;color:var(--ink)}.avatar{border:0;background:#dceae2;color:var(--teal-dark);width:42px;height:42px;border-radius:50%;font-weight:600}.welcome{min-height:calc(100vh - 175px);max-width:1160px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:90px;padding:55px 40px 90px}.welcome-art{position:relative;height:450px;display:flex;align-items:center;justify-content:center}.art-orbit{position:absolute;width:405px;height:405px;border-radius:50%;background:#edf1e6}.art-orbit:before,.art-orbit:after{content:"";position:absolute;border:1px solid #dde5d8;border-radius:50%;inset:-20px}.art-orbit:after{inset:16px}.photo-card{position:absolute;border-radius:15px;background:#fff;box-shadow:0 20px 50px #345a4321;padding:14px}.photo-front{width:276px;transform:rotate(8deg) translate(35px,18px)}.photo-front svg{display:block;width:100%;border-radius:7px}.photo-front>span{display:block;padding:16px 0 6px;text-align:center;font-family:Georgia,serif;font-size:15px;font-style:italic;color:#47695f}.photo-back{width:230px;height:284px;transform:rotate(-12deg) translate(-68px,-13px);background:#fff}.photo-back span{background:linear-gradient(150deg,#dae8dc,#b3d2c0);display:flex;height:218px;align-items:center;justify-content:center;font-size:88px;color:#f8edcb;border-radius:7px}.art-spark{position:absolute;top:36px;right:0;font-style:normal;font-size:60px;color:#d6aa63}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:700;color:var(--teal);margin:0 0 17px}h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-1.8px;font-size:48px;line-height:1.13;margin:0 0 21px}h1 em{font-style:normal;color:var(--teal)}.intro{color:var(--muted);font-size:15px;line-height:1.8;margin:0 0 30px}.auth-box{max-width:350px}.auth-box label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}.select-wrap{margin-bottom:13px}.select-wrap select{width:100%;border:1px solid var(--line);background:#fff;padding:15px;border-radius:12px;color:var(--ink);min-height:51px}.auth-box>.button{width:100%}.auth-box>.button>span{font-size:26px;font-weight:400}.subtle{color:var(--muted);font-size:13px;line-height:1.6}#auth-help{font-size:11px;text-align:center;margin:12px 0 1px}.auth-box>.text-button{display:block;margin:auto}.privacy-note{display:flex;align-items:center;gap:9px;color:#83918a;font-size:10px;margin-top:31px}.privacy-note span{font-size:19px}.pending{max-width:380px;padding:20px;background:var(--soft);border:1px solid var(--line);border-radius:14px;font-size:14px;line-height:1.7}.pending b{word-break:break-all}footer{max-width:1500px;margin:auto;padding:26px 48px;display:flex;justify-content:space-between;color:#94a098;font-size:10px;letter-spacing:.2px}footer>span:first-child{font-weight:600}.gallery{max-width:1500px;margin:auto;padding:45px 48px;min-height:calc(100vh - 180px)}.gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:30px}.gallery-heading h1{font-size:42px;margin-bottom:8px}.gallery-heading .eyebrow{margin-bottom:12px}.gallery-heading .subtle{margin:0}.view-switch{padding:5px;background:#edf0e9;display:flex;border-radius:13px;flex-shrink:0}.view-switch button{border:0;color:var(--muted);padding:11px 18px;border-radius:9px;background:transparent;font-size:12px;font-weight:600;min-height:42px}.view-switch .active{background:#fff;color:var(--teal-dark);box-shadow:0 2px 5px #22382a08}.toolbar{border-top:1px solid var(--line);padding:19px 0;display:flex;align-items:center;justify-content:space-between;gap:15px}#breadcrumbs{display:flex;gap:5px;align-items:center;flex-wrap:wrap;min-width:0}#breadcrumbs button{border:0;background:transparent;font-size:12px;padding:10px 5px;min-height:42px;color:var(--muted);max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#breadcrumbs button:last-of-type{color:var(--ink);font-weight:600}#breadcrumbs span{color:#a9b3ac;font-size:14px}.tools{display:flex;align-items:center;gap:15px;flex-shrink:0}.items{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 18px}.item{min-width:0;position:relative}.item-open{display:block;padding:0;text-align:left;border:0;background:transparent;width:100%;color:var(--ink)}.tile-image{aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:#e8eee7;position:relative;display:grid;place-items:center}.tile-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s;display:block}.item-open:hover img{transform:scale(1.035)}.folder .tile-image{background:#edf1e6;aspect-ratio:1.38}.folder-shape{position:relative;width:68px;height:48px;background:#a9c6b1;border-radius:3px 8px 8px 8px}.folder-shape:before{content:"";position:absolute;top:-9px;left:0;width:31px;height:13px;background:#a9c6b1;border-radius:5px 6px 0 0}.folder-shape:after{content:"";position:absolute;inset:5px 0 0;background:#bdd3bc;border-radius:5px;transform:skew(-6deg);transform-origin:bottom}.item-name{display:block;font-size:12px;font-weight:600;margin:11px 2px 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-meta{display:block;font-size:10px;color:var(--muted);margin:0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-badge{position:absolute;bottom:10px;right:10px;color:#fff;background:#102b297a;border-radius:7px;padding:5px 8px;font-size:11px;backdrop-filter:blur(8px)}.check-item{position:absolute;right:9px;top:9px;z-index:1;border:2px solid #fff;width:27px;height:27px;min-height:0;border-radius:50%;background:#233c3b48;color:#fff;box-shadow:0 1px 5px #0002;padding:0;display:grid;place-items:center;font-size:14px}.item.selected .check-item{background:var(--teal)}.item.selected .tile-image{outline:3px solid var(--teal);outline-offset:3px}.selection-bar{background:#e6f0e9;border:1px solid #d4e3d9;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;margin-bottom:22px;font-size:13px}.selection-bar>div{display:flex;align-items:center;gap:15px}.load-more{display:flex;justify-content:center;padding:30px}.empty{text-align:center;padding:80px 15px;color:var(--muted)}.empty>span{font-size:55px;color:#9db5a6}.empty h2{font-family:Georgia,serif;font-weight:400;color:var(--ink);font-size:25px}.empty p{font-size:13px}.skeleton{aspect-ratio:1/1;border-radius:14px;background:linear-gradient(100deg,#eaf0e8 30%,#f2f5ee 48%,#eaf0e8 65%);background-size:200%;animation:pulse 1.4s infinite}@keyframes pulse{to{background-position:-200%}}.toast{position:fixed;z-index:10;bottom:calc(25px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:14px 22px;border-radius:12px;box-shadow:0 6px 35px #142b2933;max-width:min(90vw,560px);font-size:13px;line-height:1.6}.toast.error{background:#7e3e35}dialog{color:var(--ink);border:1px solid var(--line);border-radius:22px;padding:30px;background:var(--paper);box-shadow:0 25px 100px #142b2940;max-width:calc(100% - 32px)}dialog::backdrop{background:#0b242460;backdrop-filter:blur(5px)}.settings-dialog{width:560px}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.dialog-heading .eyebrow{margin-bottom:8px}h2{font-family:Georgia,serif;font-weight:400;font-size:29px;margin:0 0 15px}.dialog-heading h2{margin:0}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);font-size:13px}.setting-row p{font-size:11px;line-height:1.7;color:var(--muted);max-width:320px;margin:7px 0 0}.setting-row select{border:1px solid var(--line);padding:11px 8px;border-radius:9px;background:#fff;color:var(--ink);min-width:92px}.setting-note{font-size:11px;color:var(--muted);line-height:1.8;padding:10px 0}.settings-dialog>.button{margin-top:20px;width:100%}.action-dialog{width:460px}.action-dialog p{font-size:14px;line-height:1.8;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.viewer{width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;background:#101e20;color:#fff;padding:0}.viewer-top{position:absolute;z-index:2;top:0;left:0;right:0;padding:calc(15px + env(safe-area-inset-top)) 24px 20px;display:flex;align-items:center;gap:20px;background:linear-gradient(#101e20dd,transparent)}.viewer .icon-button{color:#fff;border-color:#ffffff25;background:#1a2c2e80}.viewer-top>div{min-width:0;flex:1}.viewer-top strong{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-top span{display:block;font-size:11px;color:#b3c2c3;margin-top:5px}.viewer-original{border:1px solid #ffffff40;background:#1a2c2e80;color:#fff;white-space:nowrap}.viewer-stage{height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:90px 70px 80px}.media-stage{width:100%;height:100%;overflow:auto;display:flex;align-items:center;justify-content:center;touch-action:pan-y pinch-zoom}.media-stage img{display:block;object-fit:contain;max-width:100%;max-height:100%;user-select:none;transition:transform .18s}.media-stage.zoomed{display:block;overflow:auto}.media-stage.zoomed img{max-width:none;max-height:none;width:200%;height:auto;margin:0;cursor:zoom-out}.media-stage video{display:block;max-width:100%;max-height:100%;width:100%;height:100%;background:#101e20}.viewer-arrow{position:absolute;top:50%;border:1px solid #ffffff25;background:#172d2d66;color:#fff;width:44px;height:54px;border-radius:14px;font-size:33px;z-index:2}.previous{left:18px}.next{right:18px}.viewer-bottom{position:absolute;left:0;right:0;bottom:0;padding:20px 24px calc(15px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(transparent,#101e20dd);font-size:11px;color:#b3c2c3}.viewer-bottom .text-button{color:#d4e7df}.viewer-bottom>#viewer-hint{text-align:center}.media-error{padding:30px;text-align:center;color:#c1cfce;font-size:14px;line-height:1.8}.unavailable{font-size:36px;color:#8ca799}
@media(min-width:1600px){.items{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:1100px){.welcome{gap:40px;grid-template-columns:1fr 1fr}.welcome-art{transform:scale(.85)}h1{font-size:41px}.items{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery,.topbar{padding-left:30px;padding-right:30px}}@media(max-width:760px){.topbar{padding:20px 22px}.brand{font-size:20px}.brand small{font-size:7px;letter-spacing:1.6px}.welcome{display:flex;flex-direction:column;gap:10px;padding:0 26px 45px;min-height:0}.welcome-art{height:250px;transform:scale(.62);width:100%;margin:-27px 0 -8px}.welcome-copy{max-width:400px;width:100%;text-align:center}.welcome h1{font-size:37px;line-height:1.17;margin-bottom:18px}.welcome .eyebrow{font-size:9px;margin-bottom:13px}.intro{font-size:13px;margin-bottom:25px}.auth-box{margin:auto;text-align:left}.privacy-note{justify-content:center;font-size:9px;margin-top:22px}.art-spark{right:5%}.pending{text-align:left}footer{padding:24px 22px;gap:20px;font-size:9px}.gallery{padding:25px 18px}.gallery-heading{display:block;margin-bottom:22px}.gallery-heading h1{font-size:35px}.gallery-heading .subtle{font-size:12px}.view-switch{margin-top:24px;width:max-content}.view-switch button{padding:9px 19px}.toolbar{flex-wrap:wrap;padding:10px 0 18px;gap:2px}.tools{width:100%;justify-content:space-between}.items{grid-template-columns:repeat(3,minmax(0,1fr));gap:19px 9px}.tile-image{border-radius:10px}.item-name{font-size:10px;margin-top:8px}.item-meta{font-size:9px}.folder-shape{transform:scale(.7)}.selection-bar{padding:10px 12px;flex-wrap:wrap}.selection-bar>div{width:100%;gap:8px;justify-content:space-between}.selection-bar .text-button{font-size:11px}.selection-bar .button{font-size:11px;padding:9px 10px}.check-item{width:25px;height:25px;top:7px;right:7px}.settings-dialog{padding:23px}.setting-row{gap:14px}.setting-row .button{padding:9px 12px}.viewer-top{padding-left:13px;padding-right:13px;gap:12px}.viewer-original{font-size:10px;padding:8px;min-height:40px}.viewer-top strong{font-size:11px}.viewer-top span{font-size:9px}.viewer-stage{padding:83px 0 75px}.viewer-arrow{width:32px;height:44px;border-radius:9px;font-size:27px;opacity:.8}.previous{left:5px}.next{right:5px}.viewer-bottom{padding-left:15px;padding-right:15px;gap:10px}.viewer-bottom>#viewer-hint{display:none}.dialog-actions .button{font-size:13px;flex:1}.action-dialog{padding:25px}.header-actions{gap:8px}.header-actions #install{font-size:11px;padding:9px 11px}.empty{padding:60px 15px}.empty h2{font-size:23px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
