:root{color:#111;background:#f4f4f2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f4f4f2;margin:0}.app{max-width:1120px;min-height:100vh;margin:0 auto;padding:14px 14px 60px}.topbar{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f4f4f2e6;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex;position:sticky;top:0}.topbar .brand{align-items:center;gap:10px;display:flex}.brand img{width:auto;height:24px;display:block}.brand span{letter-spacing:-.03em;color:#222;font-size:18px;font-weight:900}.topbar b{letter-spacing:-.03em;font-size:22px}.topbar>div:not(.brand) span{color:#777;font-size:12px}.topbar input{display:none}svg{width:18px;height:18px}.hero{grid-template-columns:1.12fr .88fr;gap:14px;margin-top:6px;display:grid}.heroText{color:#fff;background:linear-gradient(135deg,#0b0b0b,#2b2b2b 72%,#5f5f5f 140%);border-radius:30px;flex-direction:column;justify-content:center;min-height:300px;padding:34px;display:flex;box-shadow:0 18px 44px #00000029}.badge{color:#fff;background:#ffffff14;border:1px solid #ffffff47;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:900;display:inline-flex}.hero h1{letter-spacing:-.07em;margin:0 0 14px;font-size:clamp(34px,5.2vw,58px);line-height:1.02}.hero p{color:#ffffffb8;max-width:560px;margin:0;font-size:16px;line-height:1.7}.uploadBox{text-align:center;cursor:pointer;background:linear-gradient(#fff,#f8f8f7);border:2px dashed #9a9a9a;border-radius:30px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:300px;padding:24px;transition:border-color .15s,background .15s,transform .15s;display:flex}.uploadBox:hover{background:#fff;border-color:#111;transform:translateY(-1px)}.uploadBox svg{color:#222;width:46px;height:46px}.uploadBox strong{font-size:20px}.uploadBox span{color:#777;line-height:1.5}.uploadBox input{display:none}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.notice{color:#fff;background:#111;border-radius:16px;margin:14px 0;padding:12px 14px;font-weight:800}.filters{z-index:15;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f4f4f2e6;gap:8px;padding:12px 0;display:flex;position:sticky;top:66px;overflow-x:auto}.filters button,.download,.close{color:#161616;white-space:nowrap;background:#fff;border:1px solid #dededb;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:11px 15px;font-weight:900;text-decoration:none;display:inline-flex}.filters button.on{color:#fff;background:#111;border-color:#111}.empty{text-align:center;color:#777;background:#fff;border:1px solid #e0e0dc;border-radius:26px;margin-top:28px;padding:46px 20px}.empty svg{color:#222;width:50px;height:50px}.empty h2{color:#111;margin:14px 0 8px}.timeline{gap:26px;margin-top:8px;display:grid}.day h2{letter-spacing:-.04em;margin:0 0 12px;font-size:22px}.grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;display:grid}.tile{aspect-ratio:1;cursor:pointer;background:#e5e5e2;border:0;border-radius:5px;padding:0;position:relative;overflow:hidden}.tile img{object-fit:cover;width:100%;height:100%;transition:transform .2s;display:block}.tile:hover img{transform:scale(1.04)}.time{color:#fff;background:#00000094;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:900;position:absolute;bottom:6px;left:6px}.play{color:#fff;background:#00000094;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;top:6px;right:6px}.play svg{width:14px;height:14px}.videoTile{color:#fff;background:linear-gradient(135deg,#2d2d2d,#111);flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;display:flex}.videoTile svg{width:34px;height:34px}.videoTile span{font-weight:900}.viewer{z-index:50;background:#000000c7;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.viewerPanel{background:#fff;border-radius:24px;grid-template-columns:1fr 320px;width:min(1080px,100%);max-height:92vh;display:grid;overflow:hidden}.viewerMedia{background:#070707;justify-content:center;align-items:center;min-height:520px;display:flex}.viewerMedia img,.viewerMedia video{object-fit:contain;max-width:100%;max-height:88vh}.viewerPanel aside{padding:20px;overflow:auto}.viewerPanel h2{word-break:break-word;margin:0 0 8px;font-size:20px;line-height:1.25}.viewerPanel p{color:#777;margin:0 0 16px}dl{grid-template-columns:72px 1fr;gap:10px 8px;margin:0 0 18px;display:grid}dt{color:#888;font-size:13px}dd{word-break:break-word;margin:0;font-weight:800}.download{border-radius:16px;width:100%;margin-bottom:10px;color:#fff!important;background:#111!important;border-color:#111!important}.close{color:#111;background:#eee;border-radius:16px;width:100%}.liveBadge{color:#fff;letter-spacing:.04em;background:#0000009e;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:950;position:absolute;top:6px;right:6px}.secondaryDownload{color:#111!important;background:#f1f1ef!important;border-color:#d8d8d4!important}@media (width<=760px){.app{padding:10px 10px 48px}.brand img{height:21px}.brand span{font-size:16px}.topbar b{font-size:19px}.topbar>div:not(.brand) span{display:none}.hero{grid-template-columns:1fr}.heroText{border-radius:24px;min-height:210px;padding:26px 20px}.uploadBox{border-radius:24px;min-height:190px}.filters{top:55px}.grid{grid-template-columns:repeat(3,1fr);gap:4px}.viewer{align-items:stretch;padding:0}.viewerPanel{border-radius:0;grid-template-rows:1fr auto;grid-template-columns:1fr;max-height:none}.viewerMedia{height:62vh;min-height:0}.viewerPanel aside{max-height:38vh}}@media (width<=420px){.grid{grid-template-columns:repeat(3,1fr)}.hero h1{font-size:36px}}.selectionBar{z-index:14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border:1px solid #d9d9d6;border-radius:18px;justify-content:space-between;align-items:center;gap:10px;margin:0 0 14px;padding:10px 12px;display:flex;position:sticky;top:118px;box-shadow:0 10px 28px #0000000f}.selectionBar b{font-size:18px}.selectionActions{align-items:center;gap:7px;display:flex;overflow-x:auto}.selectionActions button{color:#111;white-space:nowrap;background:#f7f7f5;border:1px solid #dededb;border-radius:999px;align-items:center;gap:6px;padding:9px 12px;font-weight:900;display:inline-flex}.selectionActions button.primary{color:#fff;background:#111;border-color:#111}.selectionActions button:disabled{opacity:.45}.selectionActions .iconOnly{justify-content:center;width:38px;height:38px;padding:0}.tile.selectable{outline-offset:-1px;outline:1px solid #00000014}.selectedTile{outline-offset:-3px;outline:3px solid #111!important}.checkmark{z-index:3;color:#111;background:#ffffffeb;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:absolute;top:6px;right:6px;box-shadow:0 5px 16px #0000002e}.checkmark svg{width:18px;height:18px}.selectable .liveBadge,.selectable .play{top:42px}@media (width<=760px){.selectionBar{flex-direction:column;align-items:flex-start;top:107px}.selectionActions{width:100%}.selectionActions button{padding:9px 11px}.selectable .liveBadge,.selectable .play{top:38px}}.downloadHint{text-align:center;color:#888!important;margin:2px 0 12px!important;font-size:12px!important;line-height:1.5!important}.imageViewer{background:#050505;justify-content:center;align-items:center;padding:0}.imageStage{justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.imageStage img{object-fit:contain;-webkit-user-select:auto;user-select:auto;-webkit-touch-callout:default;width:auto;max-width:100vw;height:auto;max-height:100vh;position:absolute}.previewLayer{filter:blur(6px);opacity:.35;transform:scale(1.02)}.originalLayer{z-index:2}.viewerClose{left:14px;top:calc(14px + env(safe-area-inset-top));z-index:60;color:#fff;background:#0000006b;border:0;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;font-size:32px;line-height:38px;display:flex;position:fixed}.imageHint{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:60;color:#ffffffc7;pointer-events:none;background:#00000073;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;position:fixed;transform:translate(-50%)}@media (width<=760px){.imageViewer{padding:0}.imageStage{height:100vh}.viewerClose{left:10px;top:calc(10px + env(safe-area-inset-top))}}.topActions{align-items:center;gap:8px;display:flex}.adminToggle{color:#161616;background:#fff;border:1px solid #dededb;border-radius:999px;align-items:center;gap:6px;padding:9px 12px;font-weight:900;display:inline-flex}.adminToggle svg{width:15px;height:15px}.adminToggle.on{color:#fff;background:#111;border-color:#111}.adminBadge{color:#fff;background:#ffffff24;border:1px solid #ffffff47;border-radius:999px;width:max-content;max-width:100%;margin:0 0 14px;padding:7px 11px;font-size:13px;font-weight:900;display:inline-flex}.deletePill{z-index:4;color:#fff;background:#b41414e6;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:absolute;top:42px;right:6px;box-shadow:0 5px 16px #0000002e}.deletePill svg{width:15px;height:15px}.viewerDelete{right:14px;top:calc(14px + env(safe-area-inset-top));z-index:60;color:#fff;background:#b41414e0;border:0;border-radius:999px;align-items:center;gap:6px;height:42px;padding:0 14px;font-weight:900;display:flex;position:fixed}.viewerDelete svg{width:16px;height:16px}.dangerButton{color:#fff;background:#b41414;border:0;border-radius:16px;justify-content:center;align-items:center;gap:7px;width:100%;margin-bottom:10px;padding:12px 15px;font-weight:950;display:flex}@media (width<=760px){.adminToggle{padding:8px 10px;font-size:13px}.deletePill{top:38px}.viewerDelete{right:10px;top:calc(10px + env(safe-area-inset-top))}}.selectionActions button.dangerAction{color:#fff;background:#b41414;border-color:#b41414}.selectionActions button.timeAction{color:#fff;background:#111;border-color:#111}.dateModal{z-index:70;background:#00000073;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.datePanel{background:#fff;border-radius:24px;width:min(360px,100%);padding:22px;box-shadow:0 20px 60px #0000003d}.datePanel h3{letter-spacing:-.04em;margin:0 0 8px;font-size:22px}.datePanel p{color:#777;margin:0 0 16px;line-height:1.5}.datePanel input[type=date]{color:#111;background:#f8f8f7;border:1px solid #d8d8d4;border-radius:14px;width:100%;height:48px;padding:0 12px;font-size:18px;font-weight:900}.dateActions{gap:10px;margin-top:16px;display:flex}.dateActions button{color:#111;background:#eee;border:0;border-radius:14px;flex:1;padding:13px;font-weight:950}.dateActions button.primary{color:#fff;background:#111}.datePanel{box-sizing:border-box;overflow:hidden}.datePanel input[type=date]{box-sizing:border-box;appearance:none;text-align:center;min-width:0;max-width:100%;line-height:48px;display:block}.datePanel input[type=date]::-webkit-date-and-time-value{text-align:center}.datePanel input[type=date]::-webkit-calendar-picker-indicator{margin-right:2px}@media (width<=760px){.dateModal{align-items:center;padding:20px 22px}.datePanel{border-radius:22px;width:100%;max-width:360px;padding:22px 20px}.datePanel h3{font-size:22px}.datePanel input[type=date]{height:48px;padding:0 10px;font-size:18px}.dateActions button{padding:13px 8px}}.videoViewer{background:#050505;justify-content:center;align-items:center;padding:0}.videoStage{background:#050505;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.videoStage video{object-fit:contain;width:auto;max-width:100vw;height:auto;max-height:100vh}.videoSave{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:60;color:#111;background:#ffffffeb;border-radius:999px;align-items:center;gap:7px;padding:10px 14px;font-weight:950;text-decoration:none;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 28px #0000003d}.videoSave svg{width:16px;height:16px}@media (width<=760px){.videoStage{height:100vh}.videoSave{bottom:calc(14px + env(safe-area-inset-bottom));font-size:13px}}.progressWrap{background:#e4e4e1;border-radius:999px;width:min(280px,100%);height:10px;margin-top:6px;overflow:hidden}.progressWrap div{background:#111;border-radius:999px;height:100%;transition:width .18s}.uploadBox .progressWrap+span{display:none}.time.duration{letter-spacing:.01em;background:#000000ad}.projectLine{background:#fff;border:1px solid #dededb;border-radius:16px;align-items:flex-start;gap:8px;margin:-4px 0 12px;padding:10px 12px;line-height:1.45;display:flex}.projectLine span{color:#777;flex:none;font-size:12px;font-weight:950}.projectLine b{color:#111;font-size:13px;font-weight:900}.calendarNotice{color:#777;background:#fff;border:1px solid #e2e2de;border-radius:14px;margin:10px 0;padding:9px 12px;font-size:13px;font-weight:800}@media (width<=760px){.projectLine{border-radius:14px;margin:-2px 0 10px;padding:9px 10px;display:block}.projectLine span{margin-bottom:2px;display:block}.projectLine b{font-size:13px}}.projectLine{box-shadow:0 8px 24px #00000014;color:#fff!important;background:#111!important;border-color:#111!important}.projectLine span{color:#ffffff9e!important}.projectLine b{color:#fff!important}.videoActions{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:60;justify-content:center;align-items:center;gap:8px;width:max-content;max-width:92vw;display:flex;position:fixed;transform:translate(-50%)}.videoShare,.videoSave{color:#111;white-space:nowrap;background:#ffffffeb;border:0;border-radius:999px;align-items:center;gap:7px;padding:10px 14px;font-weight:950;text-decoration:none;display:flex;box-shadow:0 8px 28px #0000003d}.videoShare svg{width:16px;height:16px}.videoSave{color:#fff;background:#00000085}.videoActions+.videoSave{display:none}@media (width<=760px){.videoActions{bottom:calc(14px + env(safe-area-inset-bottom));flex-direction:column}.videoShare,.videoSave{padding:10px 13px;font-size:13px}}.videoActions{width:auto}.videoActions .videoSave{color:#fff;background:#00000085;display:flex!important}.videoActions .videoShare{border:0}.videoActions{bottom:calc(24px + env(safe-area-inset-bottom))!important;flex-direction:column!important;gap:14px!important}.videoActions .videoShare,.videoActions .videoSave{justify-content:center;min-width:168px;padding:12px 18px!important}.videoActions .videoSave{color:#fff!important;background:#0000009e!important;border:1px solid #ffffff2e!important}@media (width<=760px){.videoActions{bottom:calc(20px + env(safe-area-inset-bottom))!important;gap:12px!important}.videoActions .videoShare,.videoActions .videoSave{min-width:170px}}.videoActions{bottom:calc(34px + env(safe-area-inset-bottom))!important;gap:22px!important;width:88vw!important;max-width:360px!important}.videoActions .videoShare,.videoActions .videoSave{border-radius:18px!important;width:100%!important;min-width:0!important;height:48px!important;font-size:15px!important}.videoActions .videoShare{color:#111!important;background:#fff!important}.videoActions .videoSave{color:#fff!important;background:#1c1c1cc7!important}@media (width<=760px){.videoActions{bottom:calc(32px + env(safe-area-inset-bottom))!important;gap:20px!important;width:86vw!important}.videoActions .videoShare,.videoActions .videoSave{height:48px!important}}.videoActions{bottom:calc(42px + env(safe-area-inset-bottom))!important;gap:56px!important}.videoActions .videoShare,.videoActions .videoSave{border-radius:20px!important;height:52px!important}@media (width<=760px){.videoActions{bottom:calc(42px + env(safe-area-inset-bottom))!important;gap:54px!important}}.videoActions{display:none!important}.videoShareTop{right:14px;top:calc(14px + env(safe-area-inset-top));z-index:62;color:#111;background:#fffffff0;border:0;border-radius:999px;align-items:center;gap:7px;padding:10px 14px;font-weight:950;display:flex;position:fixed;box-shadow:0 8px 28px #0000003d}.videoShareTop svg{width:16px;height:16px}.videoOpenBottom{left:50%;bottom:calc(34px + env(safe-area-inset-bottom));z-index:60;color:#fff;background:#1c1c1cc7;border:1px solid #ffffff2e;border-radius:20px;justify-content:center;align-items:center;width:86vw;max-width:360px;height:52px;font-weight:950;text-decoration:none;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 28px #0000003d}@media (width<=760px){.videoShareTop{right:10px;top:calc(10px + env(safe-area-inset-top))}.videoOpenBottom{bottom:calc(34px + env(safe-area-inset-bottom))}}
