:root{color:var(--tg-theme-text-color,#183324);background:var(--tg-theme-bg-color,#f4f7f2);font-synthesis:none;text-rendering:optimizelegibility;--accent:var(--tg-theme-button-color,#2d7a4a);--accent-text:var(--tg-theme-button-text-color,#fff);--muted:var(--tg-theme-hint-color,#647267);--surface:var(--tg-theme-secondary-bg-color,#e8eee8);--surface-strong:color-mix(in srgb, var(--surface) 72%, #fff);--border:color-mix(in srgb, var(--muted) 25%, transparent);--danger:#b83a3a;--shadow:0 16px 45px #1a3c261a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--tg-theme-bg-color,#f4f7f2);min-width:320px;min-height:100%}body{background:radial-gradient(circle at 90% 0%, #57ae741f, transparent 30rem), var(--tg-theme-bg-color,#f4f7f2);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:2px}h1,h2,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:.5rem;font-size:clamp(2rem,8vw,3.5rem);line-height:.98}h2{margin-bottom:.5rem;font-size:1.25rem;line-height:1.15}.app-shell{min-height:var(--tg-viewport-stable-height,100vh);padding:max(.75rem, var(--tg-viewport-content-safe-area-inset-top,0px)) max(1rem, var(--tg-viewport-content-safe-area-inset-right,0px)) max(1.5rem, var(--tg-viewport-content-safe-area-inset-bottom,0px)) max(1rem, var(--tg-viewport-content-safe-area-inset-left,0px))}.app-header{justify-content:space-between;align-items:center;width:min(100%,68rem);margin:0 auto;padding:.25rem 0 1.5rem;display:flex}.brand{min-height:44px;color:inherit;letter-spacing:.14em;align-items:center;gap:.6rem;font-size:.86rem;font-weight:900;text-decoration:none;display:inline-flex}.brand__mark{width:2.1rem;height:2.1rem;color:var(--accent-text);background:var(--accent);box-shadow:0 8px 22px color-mix(in srgb, var(--accent) 30%, transparent);border-radius:.75rem .75rem .75rem .2rem;place-items:center;display:grid}.close-button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 .85rem;font-weight:700}.close-button:hover{background:var(--surface)}.page{width:min(100%,68rem);margin:0 auto}.stack{gap:1.25rem;display:grid}.stack--narrow{width:min(100%,43rem);margin:0 auto}.page-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.page-heading p:last-child{color:var(--muted);margin-bottom:0}.eyebrow,.status-label{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.45rem;font-size:.72rem;font-weight:900}.button{min-height:46px;color:var(--accent-text);background:var(--accent);box-shadow:0 8px 20px color-mix(in srgb, var(--accent) 20%, transparent);cursor:pointer;text-align:center;border:1px solid #0000;border-radius:.85rem;justify-content:center;align-items:center;padding:.7rem 1.1rem;font-weight:800;line-height:1.1;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.55}.button--secondary{border-color:var(--border);color:inherit;background:var(--surface-strong);box-shadow:none}.button--wide{width:100%}.button-row{flex-wrap:wrap;gap:.75rem;display:flex}.button-row>*{flex:12rem}.button-row--sticky{bottom:max(1rem, var(--tg-viewport-content-safe-area-inset-bottom,0px));z-index:3;border:1px solid var(--border);background:color-mix(in srgb, var(--tg-theme-bg-color,#f4f7f2) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:1rem;padding:.7rem;position:sticky}.tabs{background:var(--surface);border-radius:.9rem;gap:.35rem;padding:.3rem;display:flex}.tab{min-height:42px;color:var(--muted);text-align:center;border-radius:.65rem;flex:1;padding:.65rem 1rem;font-weight:800;text-decoration:none}.tab--active{color:inherit;background:var(--tg-theme-bg-color,#fff);box-shadow:0 4px 14px #19392414}.empty-state,.published-state,.state-panel{border:1px solid var(--border);background:var(--surface-strong);border-radius:1.25rem;justify-items:start;padding:clamp(1.2rem,5vw,2.25rem);display:grid}.empty-state{text-align:center;place-content:center;justify-items:center;min-height:20rem}.empty-state p,.published-state p,.state-panel p{max-width:34rem;color:var(--muted);margin-bottom:1rem;line-height:1.55}.empty-state__icon,.published-state__icon{background:color-mix(in srgb, var(--accent) 16%, transparent);border-radius:1.5rem;place-items:center;width:4.4rem;height:4.4rem;margin-bottom:1.25rem;font-size:2rem;display:grid}.published-state{text-align:center;place-content:center;justify-items:center;min-height:65vh}.published-state__icon{color:var(--accent-text);background:var(--accent);font-weight:900}.state-panel--loading{place-content:center;justify-items:center;min-height:13rem}.state-panel--loading p{margin-bottom:0}.state-panel--error{border-color:color-mix(in srgb, var(--danger) 28%, transparent);background:color-mix(in srgb, var(--danger) 7%, var(--surface-strong))}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:2rem;height:2rem;margin-bottom:1rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.support-code{color:var(--muted);background:color-mix(in srgb, var(--muted) 9%, transparent);word-break:break-all;border-radius:.4rem;margin:.2rem 0 1rem;padding:.35rem .55rem;font-size:.72rem;display:inline-block}.draft-callout{border:1px dashed color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 7%, transparent);border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.draft-callout h2,.draft-callout p:last-child{margin-bottom:0}.draft-callout p:last-child{color:var(--muted)}.card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;display:grid}.card-link{color:inherit;text-decoration:none}.card{border:1px solid var(--border);background:var(--surface-strong);box-shadow:var(--shadow);border-radius:1.2rem;overflow:hidden}.card--compact{height:100%;box-shadow:none;transition:transform .12s}.card-link:hover .card--compact{transform:translateY(-2px)}.card__cover,.photo-placeholder{aspect-ratio:4/3;object-fit:cover;background:var(--surface);place-items:center;width:100%;display:grid}.photo-placeholder--error{color:var(--muted);font-size:.8rem}.card__body{padding:clamp(1rem,4vw,1.6rem)}.card__body h2{overflow-wrap:anywhere;font-size:clamp(1.35rem,5vw,2rem)}.card__meta,.card__owner{color:var(--muted);margin-bottom:.45rem}.card__description{white-space:pre-wrap;margin:1.2rem 0;line-height:1.65}.card__owner{margin-top:1.4rem;margin-bottom:0;font-weight:800}.badge{min-height:28px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);letter-spacing:.07em;text-transform:uppercase;border-radius:999px;align-items:center;margin-bottom:.8rem;padding:.25rem .55rem;font-size:.7rem;font-weight:900;display:inline-flex}.badge--closed{color:var(--muted);background:color-mix(in srgb, var(--muted) 12%, transparent)}.badge--draft{color:#8a5a16;background:#da983b24}.badge--sync{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.form{border:1px solid var(--border);background:var(--surface-strong);border-radius:1.2rem;gap:1rem;padding:clamp(1rem,4vw,1.5rem);display:grid}.field{gap:.45rem;font-weight:800;display:grid}.field input,.field select,.field textarea{border:1px solid var(--border);width:100%;min-height:46px;color:inherit;background:var(--tg-theme-bg-color,#fff);border-radius:.75rem;padding:.75rem .85rem;font-weight:500}.field textarea{resize:vertical;min-height:8rem}.field-hint,.field-error{color:var(--muted);font-size:.8rem;font-weight:600}.field-error{color:var(--danger)}.save-status{color:var(--muted);font-size:.8rem;font-weight:800}.photo-fieldset{border:1px solid var(--border);border-radius:.9rem;min-width:0;margin:0;padding:1rem}.photo-fieldset legend{padding:0 .35rem;font-weight:800}.photo-fieldset>p{color:var(--muted)}.upload-button{width:100%;position:relative;overflow:hidden}.upload-button input{opacity:0;width:1px;height:1px;position:absolute}.upload-button:focus-within{outline:3px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:2px}.photo-list{gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.photo-item{background:var(--surface);border-radius:.8rem;grid-template-columns:5rem minmax(0,1fr);align-items:center;gap:.75rem;padding:.6rem;display:grid}.photo-item>img,.photo-item>.photo-placeholder{object-fit:cover;border-radius:.6rem;width:5rem;height:5rem}.photo-item__actions{gap:.55rem;font-size:.8rem;font-weight:800;display:grid}.photo-item__actions>div{flex-wrap:wrap;gap:.35rem;display:flex}.photo-item__actions button{border:1px solid var(--border);min-height:40px;color:inherit;background:var(--tg-theme-bg-color,#fff);cursor:pointer;border-radius:.55rem;padding:.35rem .65rem}.photo-item__actions button:disabled{cursor:not-allowed;opacity:.35}.bootstrap-error{place-content:center;justify-items:start;min-height:100vh;padding:2rem;display:grid}.bootstrap-error h1,.bootstrap-error p{max-width:38rem}@media (width<=540px){.app-header{padding-bottom:1rem}.page-heading,.draft-callout{flex-direction:column;align-items:stretch}.page-heading>.button,.draft-callout>.button{width:100%}.button-row{flex-direction:column}.button-row>*{flex-basis:auto;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
