/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.flex{display:flex}.grid{display:grid}.hidden{display:none}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--color-bg:#fafaf9;--color-surface:#fff;--color-elevated:#fff;--color-border:#eceae6;--color-text:#171717;--color-muted:#6f6c68;--color-faint:#a8a49e;--color-primary:#171717;--color-primary-text:#fff;--color-primary-hover:#2a2a2a;--color-accent:#171717;--flag-red:#e5484d;--flag-yellow:#f2b600;--flag-green:#2ea043;--flag-final:#111;--flag-none:transparent;--color-danger:#e5484d;--color-success:#2ea043;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:9999px;--space-2xs:2px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--grid-columns:4;--grid-gap:12px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 16px #00000014;--shadow-lightbox:0 24px 64px #00000073;--ease:cubic-bezier(.4, 0, .2, 1);--dur-fast:.12s;--dur:.2s;--dur-slow:.36s}:root[data-theme=dark]{--color-bg:#0c0c0d;--color-surface:#161618;--color-elevated:#1e1e21;--color-border:#2a2a2e;--color-text:#f5f5f4;--color-muted:#a8a49e;--color-faint:#6f6c68;--color-primary:#f5f5f4;--color-primary-text:#0c0c0d;--color-primary-hover:#e4e4e2;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #00000080}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#0c0c0d;--color-surface:#161618;--color-elevated:#1e1e21;--color-border:#2a2a2e;--color-text:#f5f5f4;--color-muted:#a8a49e;--color-faint:#6f6c68;--color-primary:#f5f5f4;--color-primary-text:#0c0c0d;--color-primary-hover:#e4e4e2}}.heading-xl{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--color-text);font-size:2rem;font-weight:600;line-height:1.15}.heading-lg{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--color-text);font-size:1.5rem;font-weight:600;line-height:1.2}.heading-md{font-family:var(--font-sans);color:var(--color-text);font-size:1.125rem;font-weight:600;line-height:1.3}.body-text{font-family:var(--font-sans);color:var(--color-text);font-size:1rem;font-weight:400;line-height:1.6}.body-small{font-family:var(--font-sans);color:var(--color-muted);font-size:.875rem;font-weight:400;line-height:1.5}.hint-text{font-family:var(--font-sans);color:var(--color-faint);font-size:.8125rem;font-weight:400;line-height:1.4}.label-text{font-family:var(--font-sans);letter-spacing:.02em;text-transform:uppercase;color:var(--color-muted);font-size:.75rem;font-weight:500;line-height:1.3}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}.masonry{column-count:var(--grid-columns);column-gap:var(--grid-gap);padding:var(--grid-gap)}@media(max-width:1100px){.masonry{column-count:3}}@media(max-width:760px){.masonry{column-count:2}}@media(max-width:460px){.masonry{column-count:2}}.masonry-item{break-inside:avoid;margin-bottom:var(--grid-gap);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);opacity:0;width:100%;animation:fade-in var(--dur-slow) var(--ease) forwards;display:block;position:relative;overflow:hidden}.masonry-item img{cursor:zoom-in;width:100%;height:auto;display:block}@keyframes fade-in{to{opacity:1}}.gallery-bar{z-index:10;justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-bg);display:flex;position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.gallery-bar{background:color-mix(in srgb,var(--color-bg) 88%,transparent)}}.gallery-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border)}.gallery-bar img.logo{width:auto;height:24px}.lightbox{z-index:50;cursor:zoom-out;background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.lightbox img{border-radius:var(--radius-sm);max-width:94vw;max-height:92vh;box-shadow:var(--shadow-lightbox)}.btn{font-family:var(--font-sans);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-primary);color:var(--color-primary-text);cursor:pointer;transition:background var(--dur-fast) var(--ease);padding:8px 16px;font-size:.875rem;font-weight:500}.btn:hover{background:var(--color-primary-hover)}.btn-ghost{color:var(--color-text);background:0 0}.btn-sm{padding:6px 12px;font-size:.82rem}.field{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:6px;width:100%;padding:8px 12px;font-size:.9rem}.admin{grid-template-columns:280px 1fr;min-height:100vh;display:grid}.admin-sidebar{border-right:1px solid var(--color-border);background:var(--color-surface);gap:var(--space-md);padding:var(--space-lg) var(--space-md);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.admin-brand{align-items:center;gap:10px;padding:0 4px 4px;font-size:1.1rem;font-weight:600;display:flex}.admin-brand img{border-radius:6px;width:auto;height:28px}.admin-nav{flex-direction:column;flex:1;gap:2px;display:flex}.nav-item{text-align:left;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:.9rem;display:flex}.nav-item:hover{background:var(--color-bg)}.nav-item.active{background:var(--color-primary);color:var(--color-primary-text)}.nav-item .count{opacity:.6;font-size:.75rem}.admin-main{padding:var(--space-xl)}.admin-head{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.admin-actions{flex-wrap:wrap;gap:8px;display:flex}.tiles{gap:var(--grid-gap);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));display:grid}.tile{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;text-align:left;transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);padding:0;overflow:hidden}.tile:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.tile-cover{aspect-ratio:4/3;background:var(--color-bg);justify-content:center;align-items:center;display:flex;overflow:hidden}.tile-cover img{object-fit:cover;width:100%;height:100%;display:block}.tile-cover.empty{color:var(--color-faint);font-size:.8rem}.tile-meta{padding:10px 12px}.tile-title{font-size:.9rem;font-weight:500}.tile-sub{color:var(--color-muted);margin-top:2px;font-size:.75rem}.image-tile{aspect-ratio:1;border-radius:var(--radius-md);background:var(--color-bg);overflow:hidden}.image-tile img{object-fit:cover;width:100%;height:100%;display:block}.login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{text-align:center;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:320px;display:flex}.login-logo{border-radius:10px;width:auto;height:48px}.login-input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);border-radius:8px;padding:10px 14px;font-size:1rem}@media(max-width:760px){.admin{grid-template-columns:1fr}.admin-sidebar{height:auto;position:static}.admin-main{padding:var(--space-lg)}}.flag-badge{border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;top:8px;left:8px;box-shadow:0 0 0 1px #00000040}.flag-control{opacity:0;transition:opacity var(--dur-fast) var(--ease);background:#00000073;border-radius:999px;gap:5px;padding:5px;display:flex;position:absolute;top:8px;right:8px}.masonry-item:hover .flag-control{opacity:1}.flag-control button{cursor:pointer;border:2px solid #ffffffd9;border-radius:50%;width:18px;height:18px;padding:0}.sel-sidebar{background:var(--color-surface);border-left:1px solid var(--color-border);width:270px;height:100vh;transition:transform var(--dur) var(--ease);z-index:30;padding:var(--space-lg);flex-direction:column;gap:6px;display:flex;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}.sel-sidebar.open{box-shadow:var(--shadow-md);transform:translate(0)}.sel-row{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.sel-row:hover{background:var(--color-bg)}.sel-row.active{border-color:var(--color-text);background:var(--color-bg)}.sel-row .dot{border-radius:50%;flex:none;width:14px;height:14px}.sel-row .c{color:var(--color-muted);margin-left:auto;font-size:.8rem}.with-sidebar .masonry{padding-right:282px}.lightbox-dl{z-index:60;position:fixed;bottom:20px;right:20px}@media(max-width:760px){.sel-sidebar{width:100%}.with-sidebar .masonry{padding-right:var(--grid-gap)}}.lightbox-flags{z-index:60;background:#00000080;border-radius:999px;gap:8px;padding:8px 12px;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.lightbox-flags button{cursor:pointer;border:2px solid #ffffffd9;border-radius:50%;width:22px;height:22px;padding:0}.modal-backdrop{z-index:80;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.modal{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:80vh;box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow:hidden}.modal-head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.modal-body{flex-direction:column;gap:14px;padding:16px 20px;display:flex;overflow-y:auto}.modal-names{white-space:pre-wrap;word-break:break-all;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;max-height:42vh;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;line-height:1.7;overflow:auto}.chip{border:1px solid var(--color-border);cursor:pointer;background:var(--color-surface);color:var(--color-text);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.82rem;display:inline-flex}.chip.active{background:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary)}.chip .dot{border-radius:50%;width:9px;height:9px}.feed{flex-direction:column;max-width:720px;display:flex}.feed-row{border-bottom:1px solid var(--color-border);align-items:baseline;gap:14px;padding:9px 2px;display:flex}.feed-when{flex:none;width:92px}.masonry.uniform{column-count:unset;gap:var(--grid-gap);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.masonry.uniform .masonry-item{margin-bottom:0}.masonry.uniform .masonry-item img{aspect-ratio:1;object-fit:cover}.tile-name{word-break:break-all;padding:6px 8px}.setting{flex-direction:column;gap:5px;display:flex}textarea.field{resize:vertical}.field.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;line-height:1.5}.check{cursor:pointer;align-items:center;gap:8px;font-size:.88rem;display:flex}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
