:root{--bg:#f6f7fb;--card:#fff;--header:#f3f4f6;--border:#e5e7eb;--text:#1f2937;--muted:#6b7280;--accent:#4f46e5;--accent-soft:#eef2ff;--danger:#dc2626;--success:#16a34a;--radius:10px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}.container{max-width:980px;margin:0 auto;padding:24px 16px 64px}.page-header{align-items:center;gap:16px;margin-bottom:16px;display:flex}.page-header h1{margin:0;font-size:28px}.page-header .spacer{flex:1}.live{color:var(--muted);font-size:13px}.live--on{color:var(--success)}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.nowrap{white-space:nowrap}.alert{color:var(--danger);border-radius:var(--radius);background:#fef2f2;border:1px solid #fecaca;margin-bottom:16px;padding:10px 14px}.btn{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;padding:8px 16px;font-size:14px;transition:transform .1s,box-shadow .2s,opacity .2s}.btn:hover{box-shadow:0 4px 12px #4f46e54d}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.6;cursor:default;box-shadow:none}.btn--ghost{color:var(--accent);background:0 0}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.link-btn:hover{text-decoration:underline}.icon-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:22px;line-height:1}.table-wrap{background:var(--card);border-radius:var(--radius);overflow-x:auto;box-shadow:0 1px 3px #0000000f}.comments-table{border-collapse:collapse;width:100%}.comments-table th{text-align:left;background:var(--header);border-bottom:1px solid var(--border);padding:0}.sort-btn{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.sort-btn:hover{background:#e9eaee}.sort-btn--active{color:var(--accent)}.sort-icon{opacity:.7;font-size:11px}.comments-table td{vertical-align:top;padding:10px 16px}.row-summary td{background:var(--header);border-top:1px solid var(--border)}.row-detail td{padding-top:4px;padding-bottom:16px}.author-cell{align-items:center;gap:10px;display:flex}.author{color:var(--text);font-weight:700;text-decoration:none}a.author:hover{color:var(--accent)}.avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;font-weight:700;display:flex}.comment{padding-top:8px}.comment-header{background:var(--header);border-radius:8px;align-items:center;gap:10px;padding:6px 10px;display:flex}.comment-date{color:var(--muted);font-size:13px}.comment-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 2px}.comment-text code{background:#f1f5f9;border-radius:4px;padding:1px 5px;font-size:90%}.comment-text a{color:var(--accent)}.comment-actions{margin:4px 2px}.comment-replies{border-left:2px solid var(--border);margin-left:28px;padding-left:14px}.reply-form{margin:8px 0 12px}.is-new td,.comment.is-new>.comment-header{animation:2.5s ease-out flash}@keyframes flash{0%{background:#fef9c3}to{}}.attachment{color:var(--muted);align-items:center;gap:8px;margin:6px 2px;font-size:14px;display:flex}.attachment--failed{color:var(--danger)}.attachment-thumb{border:1px solid var(--border);cursor:zoom-in;background:0 0;border-radius:8px;margin:6px 2px;padding:0;transition:transform .2s,box-shadow .2s;display:inline-block;overflow:hidden}.attachment-thumb:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.attachment-thumb img{max-width:100%;height:auto;display:block}.attachment-file{background:var(--accent-soft);color:var(--accent);cursor:pointer;border:none;border-radius:8px;margin:6px 2px;padding:6px 12px;font-size:14px;transition:background .2s}.attachment-file:hover{background:#e0e7ff}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{z-index:50;background:#11182799;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--card);border-radius:12px;flex-direction:column;width:min(720px,100%);max-height:85vh;animation:.25s ease-out zoomIn;display:flex;box-shadow:0 20px 50px #0000004d}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;font-weight:600;display:flex}.modal-body{white-space:pre-wrap;margin:0;padding:16px;font-size:14px;overflow:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoomIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.pagination{flex-wrap:wrap;justify-content:center;gap:6px;margin:20px 0 6px;display:flex}.pagination button{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:8px;min-width:36px;height:36px;font-size:14px;transition:background .2s}.pagination button:hover:not(:disabled){background:var(--accent-soft)}.pagination button.active{background:var(--accent);border-color:var(--accent);color:#fff}.pagination button:disabled{opacity:.4;cursor:default}.pagination .ellipsis{color:var(--muted);align-self:center}.card{background:var(--card);border-radius:var(--radius);margin-bottom:20px;padding:20px;animation:.25s fadeIn;box-shadow:0 1px 3px #0000000f}.form-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field label{font-size:13px;font-weight:600}.field input,.field textarea{border:1px solid var(--border);font:inherit;border-radius:8px;padding:8px 10px;transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field textarea{resize:vertical;min-height:110px}.field--error input,.field--error textarea{border-color:var(--danger)}.field-error{color:var(--danger);font-size:12px;animation:.2s fadeIn}.required{color:var(--danger)}.toolbar{gap:6px;margin-bottom:6px;display:flex}.toolbar button{border:1px solid var(--border);background:var(--header);cursor:pointer;border-radius:6px;padding:3px 10px;font-family:ui-monospace,monospace;font-size:13px}.toolbar button:hover{background:var(--accent-soft);color:var(--accent)}.preview{border:1px dashed var(--accent);background:#fafaff;border-radius:8px;margin-bottom:12px;padding:10px 12px;animation:.2s fadeIn}.preview-title{color:var(--muted);margin-bottom:4px;font-size:12px}.captcha-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.captcha-row img{border:1px solid var(--border);border-radius:6px;height:48px}.captcha-row input{text-transform:uppercase;letter-spacing:2px;width:140px}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.success{color:var(--success);font-size:14px;animation:.2s fadeIn}@media (width<=640px){.form-grid{grid-template-columns:1fr}.comment-replies{margin-left:10px;padding-left:8px}.comments-table td,.sort-btn{padding:8px 10px}}.yarl__fullsize{width:100%;height:100%}.yarl__relative{position:relative}.yarl__portal{opacity:0;z-index:var(--yarl__portal_zindex,9999);transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);pointer-events:auto;position:fixed;inset:0;overflow:hidden}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));-webkit-user-select:none;user-select:none;touch-action:var(--yarl__controller_touch_action,none);overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);outline:none;position:absolute;inset:0;overflow:hidden}.yarl__carousel{height:100%;width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px,0)*1px + var(--yarl__carousel_spacing_percent,0)*1%));transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));opacity:var(--yarl__pull_opacity,1);flex:none;place-content:center;align-items:stretch;display:flex}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px,0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent,0))*var(--yarl__carousel_spacing_percent,0)*1%);column-gap:calc(var(--yarl__carousel_spacing_px,0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent,0))*var(--yarl__carousel_spacing_percent,0)*1%)}.yarl__flex_center{place-content:center;align-items:center;display:flex}.yarl__slide{padding:calc(var(--yarl__carousel_padding_px,0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent,0))*var(--yarl__carousel_padding_percent,0)*1%);flex:1;position:relative;overflow:hidden}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;max-width:100%;max-height:100%}.yarl__slide_image_cover{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.yarl__slide_image_loading{opacity:0}@media screen and (width>=800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform-style:preserve-3d;-webkit-transform:translateZ(0)}}.yarl__slide_placeholder{line-height:0;position:absolute;top:50%;left:50%;transform:translate(-50%)translateY(-50%)}.yarl__slide_loading{color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,#fffc));animation:1s linear yarl__delayed_fadein}.yarl__slide_loading line{animation:1s linear infinite yarl__stroke_opacity}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{width:var(--yarl__slide_icon_error_size,48px);height:var(--yarl__slide_icon_error_size,48px);color:var(--yarl__slide_icon_error_color,red)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{padding:var(--yarl__toolbar_padding,8px);justify-content:flex-end;display:flex;position:absolute;inset:0 0 auto auto}[dir=rtl] .yarl__toolbar{inset:0 auto auto 0}.yarl__icon{width:var(--yarl__icon_size,32px);height:var(--yarl__icon_size,32px)}.yarl__button{cursor:pointer;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);margin:var(--yarl__button_margin,0);padding:var(--yarl__button_padding,8px);color:var(--yarl__color_button,#fffc);filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px #000c));-webkit-tap-highlight-color:transparent;outline:none;line-height:0}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,#fffc)}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,#fff6);cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%)rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%)rotate(180deg)}.yarl__no_scroll{overscroll-behavior:none;height:100%;overflow:hidden}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}
