:root{color-scheme:light;--bg: #f4efe6;--bg-deep: #ebe3d5;--surface: #fffdf8;--surface-2: #f9f5ed;--surface-3: #f1ebe0;--ink: #1e1c18;--ink-2: #565149;--muted: #8d877b;--line: #ded7c9;--line-strong: #c9c0af;--accent: #eb6834;--accent-deep: #c94f21;--accent-soft: #fbe6dc;--good: #1b8a5a;--good-soft: #e6f4ec;--danger: #c33f34;--danger-soft: #fbeae7;--blue: #2a78d6;--blue-soft: #eaf2fc;--aqua: #1baf7a;--aqua-soft: #e6f7f0;--admin-bg: #f4f3ef;--admin-surface: #ffffff;--admin-line: #e6e2da;--admin-line-strong: #d4cfc4;--admin-ink: #1d201c;--admin-ink-2: #5e625a;--admin-muted: #8e9188;--admin-dark: #20241e;--admin-dark-2: #2b3027;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-mono: "SFMono-Regular", "SF Mono", ui-monospace, Menlo, Consolas, "Liberation Mono", monospace;--shadow-sm: 0 1px 2px rgba(37, 30, 19, .06);--shadow-md: 0 12px 32px -12px rgba(37, 30, 19, .2);--shadow-lg: 0 28px 70px -28px rgba(37, 30, 19, .35);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 26px}*,*:before,*:after{box-sizing:border-box}html{overflow-x:hidden;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;overflow-x:hidden;overflow-x:clip;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:has(.admin-shell),body:has(.admin-login-shell){background:var(--admin-bg)}#root{min-height:100vh}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}img,svg{display:block}img{max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}::selection{background:#eb68343d}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted-text{color:var(--muted);font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);font-size:14px;font-weight:650;line-height:1;letter-spacing:.005em;white-space:nowrap;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.52}.button--primary{background:var(--accent);color:#fff;box-shadow:0 8px 18px -10px #c94f21bf}.button--primary:hover:not(:disabled){background:var(--accent-deep);box-shadow:0 12px 24px -12px #c94f21cc}.button--dark{background:var(--ink);color:#fdfbf6}.button--dark:hover:not(:disabled){background:#000}.button--admin{background:var(--admin-dark);color:#f8f8f4;box-shadow:0 8px 18px -12px #161a14b3}.button--admin:hover:not(:disabled){background:#0f120e}.button--ghost{background:transparent;border-color:var(--line);color:var(--ink-2)}.button--ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-strong);color:var(--ink)}.button--danger{background:var(--danger);color:#fff}.button--danger:hover:not(:disabled){background:#a83229}.button--sm{min-height:36px;padding:0 13px;gap:6px;border-radius:8px;font-size:13px}.button--block{width:100%}.button--enter{width:100%;min-height:52px;margin-top:22px;border-radius:12px;font-size:15px}.button--enter svg{margin-left:auto}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--ink-2);transition:background-color .18s ease,color .18s ease,border-color .18s ease}.icon-button:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.icon-button--bordered{border:1px solid var(--line);background:var(--surface)}.icon-button:disabled{opacity:.5}.text-button{display:inline;padding:0;border:0;background:none;color:inherit;font-size:inherit;font-weight:650;text-decoration:underline;text-underline-offset:3px}.text-button:hover{opacity:.72}.spinner{display:inline-block;flex:none;width:20px;height:20px;border:2px solid rgba(30,28,24,.18);border-top-color:currentColor;border-radius:50%;animation:spin .75s linear infinite}.button .spinner,.spinner--light{border-color:#ffffff47;border-top-color:#fff}.spinner--dark{border-color:#1e1c1826;border-top-color:var(--ink)}.is-spinning{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}input[type=text],input[type=password],input[type=search],input[type=date],select,textarea{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background-color:var(--surface);color:var(--ink);font-size:14px;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}input[type=date]{padding-right:8px;font-variant-numeric:tabular-nums}input::placeholder{color:#a9a296}input[type=text]:focus,input[type=password]:focus,input[type=search]:focus,input[type=date]:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #eb683421}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238d877b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.field-label{display:block;margin:0 0 8px;color:var(--ink-2);font-size:12.5px;font-weight:650;letter-spacing:.02em}.field-help{margin-top:8px;color:var(--muted);font-size:12px;line-height:1.5}.input-wrap{position:relative;display:flex;align-items:center;min-height:48px;border:1px solid var(--line);border-radius:11px;background:var(--surface);transition:border-color .18s ease,box-shadow .18s ease}.input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #eb683421}.input-wrap.has-error{border-color:var(--danger);box-shadow:0 0 0 3px #c33f341a}.input-wrap input{min-height:46px;padding:0 82px 0 14px;border:0;background:transparent;box-shadow:none}.input-wrap input:focus{border:0;box-shadow:none}.input-wrap--password input{padding-right:48px}.input-count{position:absolute;right:14px;color:var(--muted);font-family:var(--font-mono);font-size:11px;pointer-events:none}.input-eye{position:absolute;right:6px;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted)}.input-eye:hover{background:var(--surface-2);color:var(--ink)}.form-error{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:13px;padding:10px 12px;border:1px solid #efc8c2;border-radius:9px;background:var(--danger-soft);color:#9c3028;font-size:12.5px;line-height:1.5;animation:slide-in-soft .22s ease both}.form-error .text-button{margin-left:auto}@keyframes slide-in-soft{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.skeleton,.photo-card__skeleton,.photo-card__media.skeleton{background:linear-gradient(100deg,#e9e2d5 22%,#f5f0e7,#e9e2d5 62%);background-size:220% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:130% 0}to{background-position:-90% 0}}.skeleton{display:block;border-radius:6px}.skeleton--line{height:12px;width:62%}.skeleton--heading{height:28px;width:40%;margin:18px 0 14px}.skeleton--short{width:34%}.skeleton--row{height:48px;width:100%;border-radius:9px}.brand{display:inline-flex;align-items:center;gap:11px;flex:none}.brand__mark{display:inline-flex;color:var(--ink)}.brand__text{display:flex;flex-direction:column;gap:1px}.brand__text strong{font-size:17px;font-weight:750;letter-spacing:.13em;line-height:1.25}.brand__text span{color:var(--muted);font-family:var(--font-mono);font-size:8px;font-weight:600;letter-spacing:.26em;line-height:1.2}.brand--dark .brand__mark{color:var(--ink)}.brand--light,.brand--light .brand__mark{color:#f8f8f3}.brand--light .brand__text span{color:#f8f8f37a}.eyebrow{color:var(--muted);font-family:var(--font-mono);font-size:10.5px;font-weight:650;letter-spacing:.19em;line-height:1.3;text-transform:uppercase}.eyebrow--accent{color:var(--accent)}.eyebrow--muted{color:var(--admin-muted)}.eyebrow--light{color:#b9c1b1}.live-indicator{display:inline-flex;align-items:center;gap:7px;color:var(--ink-2);font-size:12px;font-weight:550}.live-indicator__dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px #1b8a5a1f;animation:live-pulse 2.2s ease-out infinite}@keyframes live-pulse{0%,to{box-shadow:0 0 0 2px #1b8a5a1a}50%{box-shadow:0 0 0 5px #1b8a5a08}}.page-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:52vh;padding:40px 20px;color:var(--muted);font-size:13px}.page-loader .spinner{border-color:var(--line-strong);border-top-color:var(--accent)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:72px 24px;text-align:center}.empty-state__icon{display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;margin-bottom:18px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.empty-state h3{font-size:18px;font-weight:700;letter-spacing:-.01em}.empty-state p{max-width:380px;margin-top:7px;color:var(--muted);font-size:13px}.empty-state__action{margin-top:20px}.admin-card .empty-state{padding:60px 24px}.admin-card .empty-state__icon{border-color:var(--admin-line);color:var(--admin-ink-2);box-shadow:none}.toast-viewport{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:120;display:flex;flex-direction:column;gap:9px;width:min(360px,calc(100vw - 32px));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;border:1px solid var(--line);border-left:3px solid var(--ink-2);border-radius:11px;background:#fffdf8f7;box-shadow:var(--shadow-md);color:var(--ink);font-size:13px;line-height:1.45;pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:toast-in .24s ease both}.toast--success{border-left-color:var(--good)}.toast--error{border-left-color:var(--danger)}.toast--info{border-left-color:var(--blue)}.toast__icon{flex:none;margin-top:1px}.toast--success .toast__icon{color:var(--good)}.toast--error .toast__icon{color:var(--danger)}.toast--info .toast__icon{color:var(--blue)}.toast__message{flex:1}.toast__close{flex:none;padding:2px;border:0;border-radius:4px;background:transparent;color:var(--muted)}.toast__close:hover{color:var(--ink)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#1916118c;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:fade-in .18s ease both}.modal{display:flex;flex-direction:column;width:min(560px,100%);max-height:min(88dvh,900px);overflow:hidden;border:1px solid rgba(255,255,255,.4);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-lg);animation:modal-in .24s cubic-bezier(.2,.8,.2,1) both}.modal--sm{width:min(420px,100%)}.modal--lg{width:min(720px,100%)}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 18px}.modal__header h2{font-size:23px;font-weight:720;letter-spacing:-.02em}.modal__header .eyebrow{margin-bottom:6px;color:var(--accent)}.modal__body{padding:4px 26px 26px;overflow:auto}.modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:16px 26px;border-top:1px solid var(--line);background:var(--surface-2)}.confirm-text{color:var(--ink-2);font-size:13.5px;line-height:1.7}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.register-shell{position:relative;display:flex;flex-direction:column;min-height:100dvh;padding:28px clamp(24px,4vw,64px) 22px;overflow:hidden;background:linear-gradient(110deg,rgba(255,253,248,.42),transparent 52%),var(--bg)}.register-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.42;background-image:radial-gradient(rgba(30,28,24,.16) .65px,transparent .65px);background-size:12px 12px;mask-image:linear-gradient(to bottom,#000,transparent 60%);-webkit-mask-image:linear-gradient(to bottom,#000,transparent 60%)}.register-glow{position:absolute;z-index:0;border-radius:50%;filter:blur(2px);pointer-events:none}.register-glow--one{top:-18%;right:-8%;width:55vw;height:55vw;background:radial-gradient(circle,rgba(235,104,52,.16),transparent 67%)}.register-glow--two{bottom:-32%;left:-12%;width:52vw;height:52vw;background:radial-gradient(circle,rgba(142,155,110,.2),transparent 68%)}.register-header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1320px;margin:0 auto}.register-header__badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fffdf894;color:var(--ink-2);font-size:11.5px;font-weight:550;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.register-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.14fr) minmax(380px,.86fr);align-items:center;gap:clamp(36px,7vw,108px);width:100%;max-width:1240px;margin:auto;padding:46px 0 40px}.register-hero{position:relative;min-width:0}.register-hero h1{margin:14px 0 22px;font-size:clamp(46px,5.7vw,82px);font-weight:740;letter-spacing:-.06em;line-height:1.02}.register-hero__desc{max-width:500px;color:var(--ink-2);font-size:15px;line-height:1.8}.register-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:610px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line-strong)}.register-features>div{display:flex;align-items:flex-start;gap:10px;min-width:0}.register-features>div>span{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:#fffdf894;color:var(--accent)}.register-features strong{display:block;margin-top:1px;font-size:12.5px;font-weight:700;line-height:1.4}.register-features p{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.45}.register-card{position:relative;padding:clamp(28px,3.2vw,42px);border:1px solid rgba(201,192,175,.72);border-radius:var(--radius-xl);background:#fffdf8d6;box-shadow:0 2px #fffc inset,var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.register-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.register-card__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:13px;background:var(--ink);color:#fffdf8;box-shadow:0 8px 18px -10px #1e1c18cc}.register-card__step{color:var(--muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.13em}.register-card h2{font-size:clamp(26px,2.6vw,32px);font-weight:730;letter-spacing:-.035em;line-height:1.2}.register-card__intro{margin:10px 0 26px;color:var(--ink-2);font-size:13px;line-height:1.7}.register-card__foot{display:flex;flex-direction:column;gap:7px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.register-card__foot>span{display:inline-flex;align-items:center;gap:5px}.register-card__foot a{color:var(--ink-2);font-weight:600;text-decoration:underline;text-underline-offset:2px}.register-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:auto;padding-top:20px;color:var(--muted);font-size:10px;letter-spacing:.06em}.register-footer__dot{width:3px;height:3px;border-radius:50%;background:var(--line-strong)}.photo-stack{position:relative;width:min(100%,560px);height:252px;margin-top:34px;perspective:900px}.photo-stack__card{position:absolute;width:190px;height:232px;padding:8px 8px 6px;border-radius:15px;background:#fffdf8;box-shadow:0 2px #ffffffbf inset,0 22px 40px -24px #2b21138c;transform-origin:50% 90%;transition:transform .35s ease}.photo-stack__card--back{top:15px;left:3%;transform:rotate(-9deg) translateZ(-20px)}.photo-stack__card--mid{top:0;left:27%;transform:rotate(4deg) translateZ(10px)}.photo-stack__card--front{top:22px;left:52%;transform:rotate(-3deg) translateZ(25px)}.photo-stack:hover .photo-stack__card--back{transform:rotate(-12deg) translate(-7px,-3px) translateZ(-20px)}.photo-stack:hover .photo-stack__card--mid{transform:rotate(2deg) translateY(-7px) translateZ(10px)}.photo-stack:hover .photo-stack__card--front{transform:rotate(-1deg) translate(7px,-4px) translateZ(25px)}.photo-stack__scene{display:block;height:186px;border-radius:9px;background-color:#8e9d7d}.photo-stack__scene--one{background:radial-gradient(circle at 70% 24%,rgba(255,224,177,.95) 0 12%,transparent 40%),linear-gradient(160deg,#d9b47b,#a8734c 48%,#524a35)}.photo-stack__scene--two{background:radial-gradient(circle at 25% 30%,rgba(252,183,137,.9) 0 10%,transparent 39%),linear-gradient(145deg,#c7d0bd,#82927a 42%,#394239)}.photo-stack__scene--three{background:radial-gradient(circle at 60% 35%,rgba(255,233,199,.9) 0 8%,transparent 36%),linear-gradient(150deg,#d18b60,#8e4d37 52%,#352b25)}.photo-stack__caption{display:flex;align-items:center;justify-content:space-between;padding:7px 2px 0;color:#777066;font-family:var(--font-mono);font-size:7.5px;letter-spacing:.08em}.photo-stack__stamp{position:absolute;top:18px;right:17px;padding:3px 6px;border-radius:4px;background:var(--accent);color:#fff;font-family:var(--font-mono);font-size:7px;font-weight:700;letter-spacing:.16em}.user-shell{min-height:100vh;background:var(--bg)}.site-header{position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(201,192,175,.68);background:#f4efe6db;-webkit-backdrop-filter:blur(16px) saturate(1.1);backdrop-filter:blur(16px) saturate(1.1)}.site-header__inner{display:flex;align-items:center;gap:28px;width:100%;max-width:1480px;min-height:76px;margin:0 auto;padding:0 clamp(20px,3vw,42px)}.site-nav{display:flex;align-items:center;gap:3px;margin-left:16px}.site-nav__link{position:relative;display:inline-flex;align-items:center;height:36px;padding:0 13px;border-radius:8px;color:var(--ink-2);font-size:13px;font-weight:580;transition:color .18s ease,background-color .18s ease}.site-nav__link:hover{color:var(--ink);background:#fffdf88f}.site-nav__link.is-active{color:var(--ink);background:#fffdf8e6;box-shadow:var(--shadow-sm)}.site-nav__link.is-active:after{content:"";position:absolute;left:50%;bottom:-16px;width:18px;height:2px;border-radius:2px;background:var(--accent);transform:translate(-50%)}.site-header__actions{display:flex;align-items:center;gap:12px;margin-left:auto}.button--upload{min-height:38px;padding:0 15px;border-radius:9px;font-size:13px}.user-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border:1px solid transparent;border-radius:999px;transition:border-color .18s ease,background-color .18s ease}.user-chip:hover{border-color:var(--line);background:#fffdf8a8}.user-chip__avatar{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:50%;background:var(--ink);color:#fff;font-size:12px;font-weight:700}.user-chip__name{max-width:122px;overflow:hidden;color:var(--ink-2);font-size:12.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.offline-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:#3c3327;color:#f4e8d5;font-size:12px}.site-main{width:100%;max-width:1480px;margin:0 auto;padding:32px clamp(20px,3vw,42px) 24px}.wall-page{position:relative;min-height:calc(100vh - 160px)}.wall-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.wall-toolbar h1{margin-top:6px;font-size:clamp(34px,4vw,48px);font-weight:740;letter-spacing:-.05em;line-height:1}.wall-toolbar__meta{display:flex;align-items:center;gap:18px;padding-bottom:4px}.wall-toolbar__count{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);font-family:var(--font-mono);font-size:11.5px;font-variant-numeric:tabular-nums}.masonry{display:flex;align-items:flex-start;gap:15px;width:100%}.masonry__column{display:flex;flex:1 1 0;flex-direction:column;min-width:0}.wall-batch{transition:opacity .28s ease,transform .28s ease}.wall-batch.is-leaving{opacity:0;transform:translateY(10px);pointer-events:none}.photo-card{position:relative;display:block;margin:0 0 15px}.photo-card__media{position:relative;width:100%;overflow:hidden;border-radius:13px;background:var(--surface-3);box-shadow:var(--shadow-sm);isolation:isolate}.photo-card__media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border:1px solid rgba(255,255,255,.12);border-radius:inherit;pointer-events:none}.photo-card__media img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease,transform .6s cubic-bezier(.2,.7,.2,1)}.photo-card__media.is-loaded img{opacity:1}.photo-card:hover .photo-card__media img{transform:scale(1.035)}.photo-motion{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.photo-motion.is-animated{will-change:transform}@keyframes photo-drift-a{0%{transform:scale(1.03) translateZ(0) rotate(0)}to{transform:scale(1.17) translate3d(-3.2%,-2.2%,0) rotate(-.7deg)}}@keyframes photo-drift-b{0%{transform:scale(1.03) translateZ(0) rotate(0)}to{transform:scale(1.17) translate3d(3.2%,2.2%,0) rotate(.7deg)}}@keyframes photo-card-float{0%{transform:translateZ(0)}to{transform:translate3d(0,-6px,0)}}@keyframes photo-sheen{0%{transform:translate3d(-130%,0,0) rotate(18deg);opacity:0}10%{opacity:1}45%{transform:translate3d(130%,0,0) rotate(18deg);opacity:1}55%,to{transform:translate3d(130%,0,0) rotate(18deg);opacity:0}}.photo-card__media:before{content:"";position:absolute;top:-60%;left:0;z-index:1;width:60%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35) 50%,transparent);opacity:0;transform:translate3d(-130%,0,0) rotate(18deg);pointer-events:none}.photo-card.is-animated .photo-card__media:before{animation-name:photo-sheen;animation-duration:10s;animation-delay:var(--sheen-delay, 0s);animation-timing-function:ease-in-out;animation-iteration-count:infinite;will-change:transform,opacity}.photo-card__skeleton{position:absolute;top:0;right:0;bottom:0;left:0}.photo-card__fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;padding:20px;color:var(--muted);font-size:10px;text-align:center}.photo-card__veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;opacity:0;background:linear-gradient(to top,rgba(17,15,12,.82),transparent 48%);transition:opacity .25s ease}.photo-card:hover .photo-card__veil{opacity:1}.photo-card__meta{position:absolute;right:11px;bottom:10px;left:11px;z-index:3;display:flex;align-items:center;gap:7px;color:#fffffff0;font-size:10.5px;opacity:0;transform:translateY(5px);transition:opacity .24s ease,transform .24s ease;text-shadow:0 1px 8px rgba(0,0,0,.35)}.photo-card:hover .photo-card__meta,.photo-card:focus-visible .photo-card__meta{opacity:1;transform:translateY(0)}.photo-card__avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:#ffffff29;font-size:8.5px;font-weight:700;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.photo-card__user{max-width:96px;overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.photo-card__time{overflow:hidden;color:#ffffffb8;text-overflow:ellipsis;white-space:nowrap}.photo-card__likes{display:inline-flex;align-items:center;gap:3px;margin-left:auto;color:#ffd5c8;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.photo-card--skeleton{margin-bottom:15px}.live-banner{position:fixed;top:92px;left:50%;z-index:45;display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 9px 8px 15px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#1e1c18f0;box-shadow:0 18px 38px -18px #14110db3;color:#fffdf8;transform:translate(-50%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:banner-in .28s cubic-bezier(.2,.8,.2,1) both}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-10px) scale(.98)}to{opacity:1;transform:translate(-50%) scale(1)}}.live-banner__dot{flex:none;width:7px;height:7px;border-radius:50%;background:#7ee2b0;box-shadow:0 0 0 4px #7ee2b01a}.live-banner__text{display:flex;align-items:baseline;gap:8px;min-width:0;margin-right:4px}.live-banner__text strong{overflow:hidden;font-size:12.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.live-banner__text span{flex:none;color:#fffdf894;font-size:10.5px}.live-banner__view{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 11px;border:0;border-radius:999px;background:#fffdf8;color:var(--ink);font-size:11px;font-weight:650}.live-banner__close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:#ffffff8c}.live-banner__close:hover{color:#fff;background:#ffffff14}.load-sentinel{display:flex;align-items:center;justify-content:center;min-height:86px;color:var(--muted);font-size:12px}.load-sentinel__text{display:inline-flex;align-items:center;gap:8px}.load-sentinel__text .spinner{width:15px;height:15px}.load-sentinel__end{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em}.upload-fab{display:none}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:1480px;margin:0 auto;padding:20px clamp(20px,3vw,42px) 28px;border-top:1px solid rgba(201,192,175,.55);color:var(--muted);font-size:10px;letter-spacing:.05em}.site-footer__admin{color:var(--muted);text-decoration:underline;text-underline-offset:3px}.site-footer__admin:hover{color:var(--ink-2)}.detail-page{max-width:1360px;margin:0 auto}.back-link{display:inline-flex;align-items:center;gap:7px;margin-bottom:18px;padding:5px 0;border:0;background:transparent;color:var(--ink-2);font-size:12px;font-weight:600}.back-link:hover{color:var(--accent)}.detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.72fr);align-items:start;gap:clamp(20px,3vw,34px)}.detail-stage{overflow:hidden;border-radius:var(--radius-lg);background:#121210;box-shadow:var(--shadow-md)}.zoom-stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:min(76vh,820px);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.zoom-stage.is-zoomed{cursor:grabbing}.zoom-stage__image{max-width:100%;max-height:100%;object-fit:contain;opacity:0;transform-origin:center;will-change:transform;transition:opacity .3s ease;pointer-events:none}.zoom-stage__image.is-loaded{opacity:1}.zoom-stage__skeleton{position:absolute;top:10%;right:10%;bottom:10%;left:10%;border-radius:12px;background:linear-gradient(100deg,#1e1d1a 22%,#2b2924,#1e1d1a 62%);background-size:220% 100%;animation:shimmer 1.6s ease-in-out infinite}.zoom-stage__error{display:flex;flex-direction:column;align-items:center;gap:10px;color:#8f8a80;font-size:12px}.zoom-controls{position:absolute;bottom:18px;left:50%;z-index:4;display:flex;align-items:center;gap:2px;padding:4px;border:1px solid rgba(255,255,255,.13);border-radius:11px;background:#141311b8;color:#ece9e2;transform:translate(-50%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.zoom-controls__button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:7px;background:transparent;color:#ffffffc7}.zoom-controls__button:hover:not(:disabled){background:#ffffff1a;color:#fff}.zoom-controls__button:disabled{opacity:.3}.zoom-controls__value{min-width:47px;font-family:var(--font-mono);font-size:10px;text-align:center;font-variant-numeric:tabular-nums}.zoom-hint{position:absolute;right:16px;bottom:22px;padding:4px 8px;border-radius:6px;background:#12110f8c;color:#ffffff70;font-size:9px;letter-spacing:.05em;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.detail-panel{padding:clamp(22px,2.6vw,30px);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fffdf8c7;box-shadow:var(--shadow-sm)}.detail-panel__eyebrow{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.detail-panel__id{color:var(--muted);font-family:var(--font-mono);font-size:9.5px}.detail-uploader{display:flex;align-items:center;gap:12px;padding-bottom:22px;border-bottom:1px solid var(--line)}.detail-uploader__avatar{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:var(--ink);color:#fff;font-size:19px;font-weight:700}.detail-uploader__label{display:block;margin-bottom:2px;color:var(--muted);font-size:10px}.detail-uploader strong{font-size:17px;font-weight:700;letter-spacing:-.015em}.detail-meta{display:flex;flex-direction:column;margin:4px 0 24px}.detail-meta>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid rgba(222,215,201,.66)}.detail-meta dt{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.detail-meta dd{color:var(--ink-2);font-family:var(--font-mono);font-size:11px;text-align:right;font-variant-numeric:tabular-nums}.vote-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vote-button{display:flex;align-items:center;justify-content:center;gap:7px;height:50px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink-2);transition:border-color .18s ease,background-color .18s ease,color .18s ease,transform .18s ease}.vote-button span{font-family:var(--font-mono);font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}.vote-button small{color:var(--muted);font-size:10px}.vote-button:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-2);transform:translateY(-1px)}.vote-button--like.is-active{border-color:#f0bba8;background:var(--accent-soft);color:var(--accent-deep)}.vote-button--like.is-active small{color:#b86646}.vote-button--dislike.is-active{border-color:#3d3a34;background:var(--ink);color:#fff}.vote-button--dislike.is-active small{color:#ffffff8c}.detail-actions{margin-top:14px}.detail-actions__row{display:flex;gap:10px}.detail-actions__row>*{flex:1 1 0;min-width:0}.detail-actions p{margin-top:9px;color:var(--muted);font-size:9.5px;text-align:center}.detail-filename{margin-top:20px;overflow:hidden;color:#aaa396;font-family:var(--font-mono);font-size:9px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:58vh;padding:40px 20px;text-align:center}.detail-error__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:18px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--muted)}.detail-error h1{font-size:23px;font-weight:700;letter-spacing:-.02em}.detail-error p{margin:8px 0 22px;color:var(--muted);font-size:13px}.my-page{max-width:1040px;margin:0 auto}.my-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.my-header h1{margin-top:7px;font-size:clamp(34px,4vw,46px);font-weight:740;letter-spacing:-.05em;line-height:1.05}.my-header p{margin-top:8px;color:var(--ink-2);font-size:13px}.my-header__avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:66px;height:66px;border-radius:50%;background:var(--ink);box-shadow:0 12px 28px -14px #1e1c18cc;color:#fff;font-size:25px;font-weight:700}.stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:22px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fffdf8b3}.stat-strip__item{position:relative;display:flex;align-items:baseline;gap:7px;min-width:0;padding:20px 22px}.stat-strip__item+.stat-strip__item{border-left:1px solid var(--line)}.stat-strip__item>span{position:absolute;top:14px;left:22px;color:var(--muted);font-size:10.5px}.stat-strip__item strong{margin-top:20px;font-size:27px;font-weight:720;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}.stat-strip__item>small{color:var(--muted);font-size:10px}.stat-strip__item>svg{align-self:flex-end;margin-bottom:3px;color:var(--accent)}.stat-strip__item--like strong{color:var(--accent-deep)}.my-list{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fffdf8c2}.my-row{display:grid;grid-template-columns:76px minmax(0,1fr) auto 32px;align-items:center;gap:16px;padding:13px 18px;transition:background-color .18s ease}.my-row+.my-row{border-top:1px solid rgba(222,215,201,.7)}.my-row:hover{background:#ffffffb3}.my-row__thumb{position:relative;width:76px;height:60px;overflow:hidden;border-radius:8px;background:var(--surface-3)}.my-row__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.my-row:hover .my-row__thumb img{transform:scale(1.05)}.my-row__main{display:flex;flex-direction:column;gap:2px;min-width:0}.my-row__main strong{font-size:13px;font-weight:650}.my-row__main span{color:var(--ink-2);font-family:var(--font-mono);font-size:10px}.my-row__main small{color:var(--muted);font-size:9.5px}.my-row__stats{display:flex;align-items:center;gap:15px;color:var(--muted);font-family:var(--font-mono);font-size:10.5px;font-variant-numeric:tabular-nums}.metric{display:inline-flex;align-items:center;gap:5px}.metric--like{color:var(--accent-deep)}.my-row__arrow{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;color:var(--muted);transition:background-color .18s ease,color .18s ease}.my-row:hover .my-row__arrow{background:var(--surface-2);color:var(--ink)}.my-list__footer{display:flex;align-items:center;justify-content:center;padding:18px;border-top:1px solid rgba(222,215,201,.7);color:var(--muted);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.05em}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:176px;padding:24px;border:1.5px dashed var(--line-strong);border-radius:14px;background:var(--surface-2);text-align:center;cursor:pointer;transition:border-color .18s ease,background-color .18s ease}.dropzone:hover,.dropzone.is-dragging{border-color:var(--accent);background:#fdf4ee}.dropzone__icon{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;margin-bottom:4px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--accent)}.dropzone strong{font-size:14px;font-weight:650}.dropzone span{color:var(--muted);font-size:11px}.upload-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px}.upload-preview{position:relative;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.upload-preview img,.upload-preview__fallback{width:100%;aspect-ratio:4 / 3;object-fit:cover;background:var(--surface-3)}.upload-preview__fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-family:var(--font-mono);font-size:8px;letter-spacing:.1em}.upload-preview__meta{display:flex;flex-direction:column;gap:1px;padding:7px 9px}.upload-preview__meta span{overflow:hidden;font-size:10px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.upload-preview__meta small{color:var(--muted);font-family:var(--font-mono);font-size:8.5px}.upload-preview__remove{position:absolute;top:5px;right:5px;display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:#1c1915b3;color:#fff;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.upload-preview__remove:hover{background:var(--danger)}.upload-progress{display:flex;align-items:center;gap:10px;margin-top:16px;color:var(--ink-2);font-family:var(--font-mono);font-size:10px}.upload-progress__bar{flex:1;height:5px;overflow:hidden;border-radius:999px;background:var(--surface-3)}.upload-progress__bar span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s ease}.upload-modal .modal__footer{justify-content:flex-end}.upload-modal__hint{margin-right:auto;color:var(--muted);font-family:var(--font-mono);font-size:9.5px}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:40px 24px;background:radial-gradient(circle at 72% 20%,rgba(235,104,52,.12),transparent 34%),var(--bg);text-align:center}.not-found__mark{display:inline-flex;margin-bottom:24px;color:var(--ink)}.not-found h1{margin-top:10px;font-size:clamp(30px,5vw,48px);font-weight:740;letter-spacing:-.045em}.not-found>p:not(.eyebrow){margin-top:10px;color:var(--muted);font-size:13px}.not-found__actions{display:flex;gap:10px;margin-top:26px}.admin-login-shell{display:grid;grid-template-columns:minmax(360px,.86fr) minmax(520px,1.14fr);min-height:100dvh;background:var(--admin-bg)}.admin-login-aside{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:clamp(28px,4vw,48px);background:radial-gradient(circle at 88% 12%,rgba(142,173,116,.13),transparent 40%),radial-gradient(circle at 12% 92%,rgba(235,104,52,.12),transparent 42%),#1d211c;color:#f6f6f1}.admin-login-aside__grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.3;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(circle at 30% 30%,#000,transparent 82%);-webkit-mask-image:radial-gradient(circle at 30% 30%,#000,transparent 82%)}.admin-login-aside>*:not(.admin-login-aside__grid){position:relative;z-index:1}.admin-login-aside__body{width:min(520px,100%);margin:auto 0;padding:54px 0}.admin-login-aside__body h1{margin:16px 0 22px;font-size:clamp(40px,4.3vw,65px);font-weight:700;letter-spacing:-.055em;line-height:1.03}.admin-login-aside__body>p:not(.eyebrow){max-width:450px;color:#a8afa2;font-size:13.5px;line-height:1.8}.admin-login-points{display:flex;flex-direction:column;gap:11px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.admin-login-points li{display:flex;align-items:center;gap:9px;color:#c9cec3;font-size:11.5px}.admin-login-points svg{flex:none;color:#8fa57f}.admin-login-aside__foot{display:flex;align-items:center;justify-content:space-between;color:#ffffff4d;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.15em}.admin-login-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px clamp(24px,5vw,80px)}.admin-login-card{width:min(420px,100%);padding:34px;border:1px solid var(--admin-line);border-radius:20px;background:var(--admin-surface);box-shadow:0 28px 64px -36px #22251f47}.admin-login-card__badge{display:inline-flex;align-items:center;gap:6px;margin-bottom:22px;padding:5px 9px;border:1px solid #dce1d6;border-radius:6px;background:#f1f4ed;color:#52604b;font-size:10px;font-weight:650;letter-spacing:.04em}.admin-login-card h2{font-size:29px;font-weight:720;letter-spacing:-.035em;line-height:1.2}.admin-login-card__intro{margin:9px 0 26px;color:var(--admin-ink-2);font-size:12.5px;line-height:1.7}.admin-login-card form .field-label:not(:first-child){margin-top:17px}.admin-login-card .button--block{margin-top:24px;min-height:48px}.admin-login-card .button--block svg{margin-left:auto}.admin-login-card__safe{margin-top:18px;color:var(--admin-muted);font-size:10px;text-align:center}.admin-login-footer{display:flex;justify-content:space-between;gap:20px;width:min(420px,100%);margin-top:28px;color:var(--admin-muted);font-size:9.5px}.admin-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh;background:var(--admin-bg);color:var(--admin-ink)}.admin-sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:24px 15px 17px;overflow-y:auto;background:var(--admin-dark);color:#e6e9e1}.admin-brand{display:flex;align-items:center;gap:10px;padding:0 7px}.admin-brand__mark{display:inline-flex;flex:none;color:#f2f4ed}.admin-brand__text{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-brand__text strong{overflow:hidden;font-size:13.5px;font-weight:700;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap}.admin-brand__text small{color:#777f6e;font-family:var(--font-mono);font-size:7px;letter-spacing:.13em}.admin-nav{display:flex;flex-direction:column;gap:3px;margin-top:34px}.admin-nav__label{padding:0 11px 8px;color:#6c7464;font-family:var(--font-mono);font-size:8px;font-weight:600;letter-spacing:.15em}.admin-nav__link{position:relative;display:flex;align-items:center;gap:10px;min-height:41px;padding:0 11px;border-radius:8px;color:#9aa393;font-size:12.5px;font-weight:550;transition:background-color .18s ease,color .18s ease}.admin-nav__link svg{flex:none;opacity:.82}.admin-nav__link:hover{background:#ffffff0e;color:#e9ece4}.admin-nav__link.is-active{background:#ffffff17;color:#fbfbf8}.admin-nav__link.is-active svg{opacity:1}.admin-nav__link.is-active i{position:absolute;right:10px;width:4px;height:4px;border-radius:50%;background:#a8c793}.admin-sidebar__spacer{flex:1;min-height:30px}.admin-side-link{display:flex;align-items:center;gap:8px;margin:0 4px 12px;padding:9px 8px;border-radius:7px;color:#7f8877;font-size:10.5px}.admin-side-link:hover{background:#ffffff0d;color:#cbd1c5}.admin-account{display:flex;align-items:center;gap:9px;padding:14px 7px 0;border-top:1px solid rgba(255,255,255,.09)}.admin-account__avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:31px;height:31px;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:#333a2f;color:#e9ede2;font-size:11px;font-weight:700}.admin-account>div{display:flex;flex-direction:column;min-width:0}.admin-account strong{overflow:hidden;color:#e4e8df;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.admin-account span:not(.admin-account__avatar){color:#757d6d;font-size:8.5px}.admin-account__logout{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-left:auto;padding:0;border:0;border-radius:7px;background:transparent;color:#7d8575}.admin-account__logout:hover{background:#ffffff14;color:#f2f4ed}.admin-workspace{min-width:0}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:90px;padding:20px clamp(22px,3vw,40px);border-bottom:1px solid var(--admin-line);background:#f4f3efdb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.admin-topbar__title h1{margin-top:3px;font-size:25px;font-weight:700;letter-spacing:-.035em;line-height:1.2}.admin-topbar__meta{display:flex;align-items:center;gap:18px}.admin-topbar__status{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid var(--admin-line);border-radius:999px;background:var(--admin-surface);color:var(--admin-ink-2);font-size:10.5px}.admin-topbar__date{color:var(--admin-muted);font-family:var(--font-mono);font-size:10px}.admin-main{width:100%;max-width:1600px;margin:0 auto;padding:24px clamp(22px,3vw,40px) 48px}.admin-page{display:flex;flex-direction:column;gap:16px}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:13px 15px;border:1px solid var(--admin-line);border-radius:12px;background:var(--admin-surface)}.filter-bar__group{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.filter-bar__label{display:inline-flex;align-items:center;gap:5px;color:var(--admin-muted);font-size:10.5px;white-space:nowrap}.filter-bar__spacer{flex:1}.filter-bar__group--dates input[type=date]{width:136px;min-height:34px;padding:0 8px;font-size:11px}.date-separator{color:var(--admin-muted);font-size:10px}.segmented{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:9px;background:#f0eee8}.segmented button{min-height:29px;padding:0 11px;border:0;border-radius:6px;background:transparent;color:var(--admin-ink-2);font-size:11.5px;font-weight:550;white-space:nowrap;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.segmented button:hover{color:var(--admin-ink)}.segmented button.is-active{background:var(--admin-surface);box-shadow:0 1px 3px #26221a1f;color:var(--admin-ink);font-weight:650}.segmented--subtle{background:transparent;padding:0;gap:3px}.segmented--subtle button{border:1px solid transparent}.segmented--subtle button.is-active{border-color:var(--admin-line);background:#f7f6f2;box-shadow:none}.admin-alert{display:flex;align-items:flex-start;gap:9px;padding:11px 13px;border:1px solid #efcbc4;border-radius:9px;background:#fdf2ef;color:#a2382e;font-size:12px;line-height:1.55}.admin-alert svg{flex:none;margin-top:1px}.admin-alert .text-button{margin-left:auto;white-space:nowrap}.admin-filters{padding:14px 15px;border:1px solid var(--admin-line);border-radius:12px;background:var(--admin-surface)}.admin-filters__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:11px 13px}.filter-field{display:flex;flex:1 1 150px;flex-direction:column;gap:5px;min-width:0}.filter-field--search{flex-basis:200px}.filter-field>span{color:var(--admin-muted);font-size:10px;font-weight:500}.filter-field select,.filter-field input,.filter-range input{min-height:37px;border-color:var(--admin-line);border-radius:8px;background-color:#fcfbf9;font-size:12px}.filter-field select:focus,.filter-field input:focus,.filter-range input:focus{border-color:#8a9780;box-shadow:0 0 0 3px #7182631f}.filter-input{position:relative}.filter-input>svg{position:absolute;top:50%;left:11px;z-index:1;color:var(--admin-muted);transform:translateY(-50%);pointer-events:none}.filter-input input{padding-left:33px}.filter-range{display:flex;align-items:center;gap:5px}.filter-range input{width:128px;padding:0 6px;font-size:11px}.filter-range i{flex:none;color:var(--admin-muted);font-style:normal;font-size:9px}.admin-filters__actions{display:flex;align-items:center;gap:7px;margin-left:auto;padding-bottom:1px}.admin-filters__actions .icon-button{width:37px;height:37px}.filter-chip-row{display:flex;align-items:center;gap:8px;color:var(--admin-muted);font-size:10.5px}.filter-chip{display:inline-flex;align-items:center;gap:7px;min-height:27px;padding:0 9px;border:1px solid #d8e2cf;border-radius:6px;background:#f2f6ee;color:#52644a;font-size:11px;font-weight:600}.filter-chip:hover{border-color:#c4d3b8;background:#edf3e8}.filter-chip span{color:#8a9a7f;font-size:13px}.visits-note{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #e0e3da;border-radius:8px;background:#f7f8f4;color:var(--admin-ink-2);font-size:10.5px}.visits-note svg{flex:none;color:var(--admin-muted)}.admin-card,.chart-card,.data-table-card{overflow:hidden;border:1px solid var(--admin-line);border-radius:12px;background:var(--admin-surface)}.admin-card.is-refreshing,.dashboard-body.is-refreshing{opacity:.62;transition:opacity .15s ease}.admin-card__header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 19px;border-bottom:1px solid var(--admin-line)}.admin-card__header h2{font-size:14px;font-weight:650;letter-spacing:-.015em}.admin-card__header>div>span{display:block;margin-top:2px;color:var(--admin-muted);font-size:10px}.admin-selection{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.admin-card__header .admin-selection>span{display:inline;margin-top:0}.admin-card__header .admin-selection__count{color:var(--admin-ink);font-size:11px;font-weight:600;white-space:nowrap}.admin-card__header .admin-selection__hint{color:var(--admin-muted);font-size:10px;white-space:nowrap}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.users-table,.photos-table{min-width:1040px}.photos-table{min-width:1100px}.visits-table{min-width:800px}.admin-table th{padding:10px 13px;border-bottom:1px solid var(--admin-line);background:#fbfaf7;color:var(--admin-muted);font-size:9.5px;font-weight:600;letter-spacing:.04em;white-space:nowrap}.admin-table td{padding:12px 13px;border-bottom:1px solid #efede7;color:var(--admin-ink-2);vertical-align:middle}.admin-table tbody tr{transition:background-color .15s ease}.admin-table tbody tr:hover{background:#fcfbf8}.admin-table tbody tr.is-deleted{opacity:.62}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table .is-numeric{text-align:right;font-variant-numeric:tabular-nums}.admin-table .is-actions{width:106px;text-align:right}.admin-table .is-select{width:42px;padding-right:4px;text-align:center}.row-checkbox{width:15px;height:15px;margin:0;vertical-align:middle;accent-color:var(--admin-dark);cursor:pointer}.row-checkbox:disabled{cursor:default}.admin-table tbody tr.is-selected{background:#f5f3ec}.admin-table tbody tr.is-selected:hover{background:#f1efe6}.admin-table td.is-numeric strong{color:var(--admin-ink);font-size:12.5px;font-weight:650}.table-user{display:flex;align-items:center;gap:9px;min-width:130px}.table-user--button{width:100%;padding:0;border:0;background:none;text-align:left}.table-user--button:hover strong{color:#3f5237;text-decoration:underline;text-underline-offset:2px}.table-user>div{display:flex;flex-direction:column;gap:1px;min-width:0}.table-user strong{overflow:hidden;max-width:140px;color:var(--admin-ink);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap;transition:color .15s ease}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border-radius:50%;color:#fff;font-size:11px;font-weight:700}.avatar--sm{width:27px;height:27px;font-size:9.5px}.avatar--tone-0{background:#b86a44}.avatar--tone-1{background:#566c4d}.avatar--tone-2{background:#6f7f91}.avatar--tone-3{background:#9a7552}.avatar--tone-4{background:#7a5b66}.table-mono{color:var(--admin-muted);font-family:var(--font-mono);font-size:8.5px;letter-spacing:.01em}.table-date{display:flex;flex-direction:column;gap:1px;white-space:nowrap}.table-date>span{color:var(--admin-ink-2);font-family:var(--font-mono);font-size:10px;font-variant-numeric:tabular-nums}.table-date>small{color:var(--admin-muted);font-size:8.5px}.table-device{display:flex;flex-direction:column;gap:1px;max-width:170px}.table-device>span{overflow:hidden;color:var(--admin-ink-2);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.table-device>small{overflow:hidden;color:var(--admin-muted);font-family:var(--font-mono);font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border-radius:999px;background:#eff1ec;color:var(--admin-ink-2);font-size:9px;font-weight:600;white-space:nowrap}.status-pill i{width:4px;height:4px;border-radius:50%;background:currentColor}.status-pill.is-good{background:var(--good-soft);color:#247149}.status-pill.is-danger{background:var(--danger-soft);color:#a53b32}.table-actions{display:flex;align-items:center;justify-content:flex-end;gap:3px}.table-icon{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--admin-muted);transition:background-color .15s ease,border-color .15s ease,color .15s ease}.table-icon:hover{border-color:var(--admin-line);background:#f7f6f2;color:var(--admin-ink)}.table-icon.is-danger:hover{border-color:#efcbc4;background:#fdf2ef;color:var(--danger)}.table-icon.is-good:hover{border-color:#cfe4d8;background:#f0f8f3;color:var(--good)}.photo-thumb{position:relative;display:block;width:78px;height:58px;overflow:hidden;border:1px solid var(--admin-line);border-radius:7px;background:var(--surface-2)}.photo-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.photo-thumb>span{position:absolute;right:4px;bottom:4px;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:5px;background:#191815b3;color:#fff;opacity:0;transition:opacity .18s ease}.photo-thumb:hover img{transform:scale(1.05)}.photo-thumb:hover>span{opacity:1}.table-file{display:flex;flex-direction:column;gap:1px;max-width:230px}.table-file>span{overflow:hidden;color:var(--admin-ink);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.table-file>small{color:var(--admin-muted);font-size:8.5px}.vote-counts{display:flex;flex-direction:column;gap:1px;font-size:9.5px;white-space:nowrap}.vote-counts .is-like{color:var(--accent-deep)}.path-pill{display:inline-block;max-width:210px;overflow:hidden;padding:3px 7px;border:1px solid var(--admin-line);border-radius:5px;background:#faf9f6;color:var(--admin-ink-2);font-family:var(--font-mono);font-size:9px;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.device-ua{display:inline-block;max-width:280px;overflow:hidden;color:var(--admin-muted);font-family:var(--font-mono);font-size:8.5px;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.table-skeleton{display:flex;flex-direction:column;gap:10px;padding:16px 18px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 18px;border-top:1px solid var(--admin-line)}.pagination__total{color:var(--admin-muted);font-size:9.5px}.pagination__controls{display:flex;align-items:center;gap:3px}.pagination__button{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 6px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--admin-ink-2);font-family:var(--font-mono);font-size:10px;font-variant-numeric:tabular-nums}.pagination__button:hover:not(:disabled){border-color:var(--admin-line);background:#f7f6f2}.pagination__button.is-active{border-color:var(--admin-dark);background:var(--admin-dark);color:#fff}.pagination__button:disabled{opacity:.35}.pagination__dots{padding:0 2px;color:var(--admin-muted);font-size:9px}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.kpi-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:16px 17px 15px;overflow:hidden;border:1px solid var(--admin-line);border-radius:11px;background:var(--admin-surface)}.kpi-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:transparent}.kpi-card--blue:before{background:#2a78d6}.kpi-card--orange:before{background:#eb6834}.kpi-card--green:before{background:#1baf7a}.kpi-card--ink:before{background:#3d4437}.kpi-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--admin-ink-2);font-size:10.5px;font-weight:550}.kpi-card__icon{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:7px;background:var(--surface-2);color:var(--admin-ink-2)}.kpi-card--blue .kpi-card__icon{background:var(--blue-soft);color:#2a78d6}.kpi-card--orange .kpi-card__icon{background:var(--accent-soft);color:var(--accent-deep)}.kpi-card--green .kpi-card__icon{background:var(--aqua-soft);color:#16855d}.kpi-card--ink .kpi-card__icon{background:#eef0eb;color:#3d4437}.kpi-card__value{margin-top:12px;color:var(--admin-ink);font-size:clamp(25px,2.2vw,32px);font-weight:700;letter-spacing:-.045em;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}.kpi-card__detail{margin-top:5px;overflow:hidden;color:var(--admin-muted);font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.kpi-card--skeleton{min-height:124px;justify-content:center}.dashboard-body{display:flex;flex-direction:column;gap:13px;transition:opacity .15s ease}.dashboard-context{display:flex;flex-wrap:wrap;align-items:center;gap:7px 16px;padding:0 3px;color:var(--admin-muted);font-size:9.5px}.dashboard-context b{color:var(--admin-ink-2);font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums}.dashboard-context__range{display:inline-flex;align-items:center;gap:5px;color:var(--admin-ink-2);font-family:var(--font-mono);font-size:9.5px;font-weight:600}.dashboard-context__tz{padding:2px 7px;border:1px solid var(--admin-line);border-radius:4px;background:#f8f7f3}.dashboard-context__time{margin-left:auto;font-family:var(--font-mono);font-size:8.5px}.chart-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:12px}.chart-card{min-width:0;padding:17px 18px 14px}.chart-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:5px}.chart-card__header h2{margin-top:3px;font-size:15px;font-weight:650;letter-spacing:-.02em;line-height:1.25}.chart-card__header>div>span{display:block;margin-top:2px;color:var(--admin-muted);font-family:var(--font-mono);font-size:8.5px}.chart-card__actions{display:flex;align-items:center;gap:7px}.chart-card__actions .button{min-height:29px;padding:0 9px;border-color:var(--admin-line);font-size:9.5px}.chart-wrap{position:relative;margin-top:3px;border-radius:8px}.chart-wrap:focus-visible{outline:2px solid #7b8a6f;outline-offset:2px}.chart-svg-wrap{position:relative}.chart-svg-wrap svg{width:100%;height:auto;overflow:visible}.chart-legend{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-height:18px;color:var(--admin-ink-2);font-size:9px}.chart-legend>span{display:inline-flex;align-items:center;gap:5px}.chart-legend i{display:inline-block;width:8px;height:8px;border-radius:2px}.line-key{display:inline-block;flex:none;width:7px;height:7px;border-radius:2px}.chart-axis-text{fill:#8a887f;font-family:var(--font-sans);font-size:10px;font-variant-numeric:tabular-nums}.chart-value-text{fill:var(--admin-ink);font-family:var(--font-mono);font-size:9px;font-weight:600}.chart-tooltip{position:absolute;top:27px;z-index:3;min-width:132px;padding:8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#1d201cf5;box-shadow:0 12px 28px -14px #1416128c;color:#ffffffb8;font-size:9.5px;line-height:1.65;transform:translate(-50%);pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chart-tooltip strong{display:block;margin-bottom:3px;color:#fff;font-size:10px;font-weight:600;white-space:nowrap}.chart-tooltip>div{display:flex;align-items:center;gap:5px;white-space:nowrap}.chart-tooltip b{margin-left:auto;padding-left:12px;color:#fff;font-family:var(--font-mono);font-size:9.5px;font-weight:600;font-variant-numeric:tabular-nums}.chart-empty{display:flex;align-items:center;justify-content:center;min-height:210px;color:var(--admin-muted);font-size:11px}.data-table-card{padding:0}.data-table-card__header{display:flex;align-items:baseline;gap:10px;padding:14px 18px;border-bottom:1px solid var(--admin-line)}.data-table-card__header h2{font-size:13px;font-weight:650}.data-table-card__header span{color:var(--admin-muted);font-size:9.5px}.data-table{width:100%;border-collapse:collapse;font-size:10.5px}.data-table th{padding:8px 18px;border-bottom:1px solid var(--admin-line);background:#fbfaf7;color:var(--admin-muted);font-size:9px;font-weight:600;text-align:left}.data-table td,.data-table tbody th{padding:7px 18px;border-bottom:1px solid #f0eee8;color:var(--admin-ink-2)}.data-table tbody tr:last-child th,.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody th{color:var(--admin-ink);font-family:var(--font-mono);font-size:9.5px;font-weight:500}.data-table .is-numeric{text-align:right;font-variant-numeric:tabular-nums}@media (max-width: 1320px){.chart-grid{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}}@media (max-width: 1180px){.detail-grid{grid-template-columns:minmax(0,1.42fr) minmax(300px,.8fr)}.chart-grid{grid-template-columns:1fr}.chart-card--wide .chart-svg-wrap svg{max-height:340px}}@media (max-width: 1024px){.register-layout{grid-template-columns:minmax(0,1fr) minmax(350px,.82fr);gap:38px}.register-features{grid-template-columns:1fr;gap:11px;max-width:360px}.photo-stack{display:none}.register-hero h1{font-size:clamp(42px,6vw,64px)}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell{grid-template-columns:210px minmax(0,1fr)}.admin-login-shell{grid-template-columns:minmax(320px,.75fr) minmax(460px,1.25fr)}.admin-login-aside__body h1{font-size:clamp(37px,5vw,52px)}}@media (max-width: 900px){.register-shell{padding:22px 24px 18px}.register-layout{display:flex;flex-direction:column;justify-content:center;width:min(100%,520px);padding:32px 0}.register-hero{width:100%}.register-hero h1{margin:10px 0 14px;font-size:clamp(34px,8vw,46px)}.register-hero__desc{font-size:13px;line-height:1.7}.register-features{display:none}.register-card{width:100%}.register-footer{flex-wrap:wrap}.site-header__inner{min-height:68px}.detail-grid{grid-template-columns:1fr}.detail-panel{position:static}.zoom-stage{height:min(58vh,560px)}.detail-stage{border-radius:15px}.admin-login-shell{grid-template-columns:1fr}.admin-login-aside{display:none}.admin-login-main{min-height:100dvh;padding:30px 22px}.admin-login-card{padding:28px}.admin-shell{display:block}.admin-sidebar{position:sticky;top:0;z-index:40;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;width:100%;height:auto;padding:10px 16px;overflow:visible}.admin-brand{padding:0}.admin-brand__mark svg{width:29px;height:29px}.admin-brand__text small{display:none}.admin-nav{order:3;flex-direction:row;width:100%;margin-top:1px;gap:2px;padding-bottom:1px;overflow-x:auto;scrollbar-width:none}.admin-nav::-webkit-scrollbar{display:none}.admin-nav__label,.admin-sidebar__spacer,.admin-side-link{display:none}.admin-nav__link{flex:none;min-height:34px;padding:0 10px;gap:6px;font-size:11px;white-space:nowrap}.admin-nav__link i{display:none}.admin-account{margin-left:auto;padding:0;border-top:0}.admin-account>div{display:none}.admin-account__avatar{width:29px;height:29px;border-radius:8px}.admin-account__logout{width:29px;height:29px}.admin-topbar{min-height:75px;padding:15px 20px}.admin-topbar__title h1{font-size:21px}.admin-topbar__status{display:none}.admin-main{padding:16px 16px 36px}.filter-bar{align-items:flex-start}.filter-bar__spacer{display:none}.admin-filters__actions{width:100%;margin-left:0;padding-top:2px}}@media (max-width: 740px){.site-header__inner{gap:12px;padding:0 15px}.brand__text span{display:none}.brand__text strong{font-size:15px}.brand__mark svg{width:32px;height:32px}.site-nav{margin-left:2px}.site-nav__link{padding:0 9px;font-size:12px}.site-nav__link.is-active:after{bottom:-10px}.user-chip{display:none}.button--upload{width:36px;min-height:36px;padding:0}.button--upload span{display:none}.site-main{padding:22px 14px 14px}.wall-toolbar{align-items:flex-start;gap:14px;margin-bottom:17px}.wall-toolbar h1{font-size:34px}.wall-toolbar__meta{flex-direction:column;align-items:flex-end;gap:5px;padding-top:2px}.wall-toolbar__meta .live-indicator{font-size:10px}.masonry{gap:9px}.photo-card,.photo-card--skeleton{margin-bottom:9px}.photo-card__media{border-radius:9px}.photo-card__meta{right:7px;bottom:7px;left:7px;gap:5px;font-size:9px;opacity:1;transform:none}.photo-card__veil{opacity:1;background:linear-gradient(to top,rgba(17,15,12,.68),transparent 44%)}.photo-card__avatar{width:17px;height:17px;font-size:7.5px}.photo-card__user{max-width:66px}.photo-card__time{display:none}.live-banner{top:78px;width:calc(100vw - 28px);max-width:420px;padding-left:12px}.live-banner__text span{display:none}.site-footer{padding:16px 16px 22px}.upload-fab.is-visible{position:fixed;right:18px;bottom:max(20px,env(safe-area-inset-bottom));z-index:35;display:inline-flex;align-items:center;gap:6px;height:46px;padding:0 16px 0 13px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:var(--ink);box-shadow:0 12px 30px -12px #1e1c18cc;color:#fff;font-size:11px;font-weight:600}.detail-page{padding-top:2px}.back-link{margin-bottom:11px}.zoom-stage{height:48vh;min-height:280px}.zoom-hint{display:none}.zoom-controls{bottom:10px}.detail-panel{padding:20px;border-radius:15px}.my-header{margin-bottom:18px}.my-header h1{font-size:34px}.my-header p{font-size:12px}.my-header__avatar{width:54px;height:54px;font-size:20px}.stat-strip{grid-template-columns:1fr}.stat-strip__item{padding:16px 18px}.stat-strip__item>span{top:11px;left:18px}.stat-strip__item+.stat-strip__item{border-top:1px solid var(--line);border-left:0}.my-row{grid-template-columns:62px minmax(0,1fr) auto;gap:11px;padding:10px 12px}.my-row__thumb{width:62px;height:52px}.my-row__stats{flex-direction:column;gap:2px;align-items:flex-end}.my-row__arrow{display:none}.my-row__main strong{font-size:12px}.modal-backdrop{align-items:flex-end;padding:12px}.modal{max-height:92dvh;border-radius:18px}.modal__header{padding:20px 20px 14px}.modal__body{padding:2px 20px 20px}.modal__footer{padding:13px 20px}.upload-previews{grid-template-columns:repeat(3,minmax(0,1fr))}.upload-preview__meta span{font-size:9px}.upload-modal__hint{display:none}.toast-viewport{right:16px;bottom:16px}.register-shell{padding:18px 16px 16px}.register-header__badge{padding:6px 9px;font-size:10px}.register-layout{padding:26px 0 16px}.register-card{padding:24px 20px;border-radius:20px}.register-card__top{margin-bottom:18px}.register-card__intro{margin-bottom:20px}.register-footer{gap:8px;font-size:9px}.not-found__actions{flex-direction:column;width:min(260px,100%)}.not-found__actions .button{width:100%}.admin-login-card{padding:24px 20px;border-radius:16px}.admin-login-card h2{font-size:25px}.admin-login-footer{flex-direction:column;gap:3px;align-items:center;text-align:center}.admin-topbar__date{display:none}.admin-page{gap:12px}.filter-bar{padding:11px}.filter-bar__label{display:none}.filter-bar__group--dates{width:100%}.filter-bar__group--dates input[type=date]{flex:1;width:auto;min-width:0}.filter-bar__group--dates .button{margin-left:auto}.segmented button{padding:0 9px;font-size:10.5px}.admin-filters{padding:12px}.filter-field,.filter-field--search{flex-basis:100%}.filter-range input{flex:1;width:auto;min-width:0}.kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.kpi-card{padding:13px}.kpi-card__top{font-size:9.5px}.kpi-card__icon{width:26px;height:26px}.kpi-card__value{margin-top:10px;font-size:24px}.kpi-card__detail{font-size:8.5px}.dashboard-context{gap:5px 12px;font-size:8.5px}.dashboard-context__time{width:100%;margin-left:0}.chart-card{padding:14px 11px 10px}.chart-card__header{padding:0 3px}.chart-tooltip{min-width:116px}.pagination{flex-direction:column;gap:9px;padding:11px}.data-table th,.data-table td,.data-table tbody th{padding:7px 12px}.admin-alert{font-size:11px}}@media (max-width: 480px){.wall-toolbar__meta .live-indicator{display:none}.detail-panel__eyebrow{margin-bottom:18px}.kpi-card__icon{display:none}.chart-card__actions{flex-direction:column;align-items:flex-end;gap:3px}.chart-legend{justify-content:flex-start}.admin-nav__link span{font-size:10.5px}.admin-brand__text strong{font-size:12px}.admin-login-main{padding:20px 14px}}@media (max-width: 767px){.masonry{gap:9px}}@media (min-width: 1680px){.masonry{gap:18px}.photo-card,.photo-card--skeleton{margin-bottom:18px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.photo-motion,.photo-card,.photo-card__media:before{animation:none!important}.photo-motion{transform:none!important}.photo-motion.is-animated,.photo-card__media:before{will-change:auto}}@media (max-width: 767px){input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select:not([multiple]),textarea:not([disabled]){font-size:16px}}
