.comments{width:100%;max-width:100%;animation:fadeInComments .3s ease-in}.comments__header{margin-bottom:var(--gap-l);display:flex;align-items:center;gap:var(--gap-s);max-width:100%}.comments__title{font-size:var(--h3-size);font-weight:600;color:var(--text-color);margin:0}.comments__form{margin-bottom:var(--gap-xl)}.comments__auth-prompt{margin-bottom:var(--gap-l);padding:var(--gap-m);background:var(--card-bg-secondary);border-radius:var(--card-br-m);text-align:center;border:1px solid var(--border-color)}.comments__auth-prompt p{margin:0;color:var(--text-secondary-color);font-size:var(--p3-size)}.comments__list{max-height:2000px;overflow-y:auto;padding-right:var(--gap-xs)}.comments__list::-webkit-scrollbar{width:4px}.comments__list::-webkit-scrollbar-track{background:var(--card-bg-secondary);border-radius:2px}.comments__list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.comments__list::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary-color)}.comments__empty{text-align:center;padding:var(--gap-xl) var(--gap-m);color:var(--text-secondary-color)}.comments__empty p{margin:0}.comments-loading{display:flex;flex-direction:column;align-items:center;padding:var(--gap-xl) var(--gap-m);color:var(--text-secondary-color)}.comments-loading p{margin:var(--gap-s) 0 0}.comments-loading__spinner{width:24px;height:24px;border-top:2px solid var(--border-color);border:2px solid var(--border-color);border-top-color:var(--text-color);border-radius:50%;animation:spin 1s linear infinite}.comments-error{text-align:center;padding:var(--gap-l) var(--gap-m);color:#ef4444}.comments-error p{margin:0 0 var(--gap-m)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeInComments{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.comment-form__field{position:relative;margin-bottom:var(--gap-m)}.comment-form__counter{position:absolute;bottom:8px;right:12px;font-size:var(--p4-size);color:var(--text-tertiary-color);background:var(--bg-color);padding:2px 6px;border-radius:var(--card-br-xs);pointer-events:none}.comment-form__actions{display:flex;gap:var(--gap-s);justify-content:flex-end}.comment-form .textarea{border-radius:var(--card-br-s);resize:vertical;min-height:60px;font-size:var(--p3-size);line-height:1.4}.comment-form .textarea:focus{border-color:var(--text-color)}.chat-message{margin-bottom:var(--gap-m)}.chat-message__container{display:flex;gap:var(--gap-s);align-items:flex-start}.chat-message__avatar{flex-shrink:0;margin-top:2px}.chat-message__avatar-img{width:40px;height:40px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.chat-message__avatar-placeholder{width:40px;height:40px;border-radius:50%;background:var(--text-color);color:var(--bg-color);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--p3-size)}.chat-message__content{flex:1;min-width:0}.chat-message__author{font-size:var(--p4-size);font-weight:600;color:var(--text-secondary-color);margin-bottom:2px}.chat-message__bubble{background:var(--card-bg);border-radius:12px 12px 12px 4px;padding:var(--gap-s) var(--gap-m);position:relative;max-width:100%;word-wrap:break-word}.chat-message__bubble:before{content:"";position:absolute;left:-6px;top:8px;width:0;height:0;border-style:solid;border-width:0 14px 14px 0;border-color:rgba(0,0,0,0) var(--card-bg) rgba(0,0,0,0) rgba(0,0,0,0)}.chat-message__text{color:var(--text-color);line-height:1.4;font-size:var(--p3-size);margin:0;white-space:pre-wrap;word-wrap:break-word}.chat-message__meta{display:flex;align-items:center;justify-content:space-between;margin-top:var(--gap-xs);gap:var(--gap-s)}.chat-message__time{font-size:var(--p4-size);color:var(--text-tertiary-color);white-space:nowrap}.chat-message__reply-btn{background:none;border:none;color:var(--text-secondary-color);font-size:var(--p4-size);cursor:pointer;padding:0;text-decoration:none;white-space:nowrap}.chat-message__reply-btn:hover{color:var(--text-color);text-decoration:underline}.chat-message__reply-btn:disabled{opacity:.5;cursor:not-allowed}.chat-message__reply-form{margin-top:var(--gap-m);padding:var(--gap-s);background:var(--card-bg);border-radius:var(--card-br-s);border:1px solid var(--border-color)}.chat-message__reply-indicator{font-size:var(--p4-size);color:var(--text-secondary-color);margin-bottom:var(--gap-s);padding:var(--gap-xs) var(--gap-s);background:var(--card-bg-secondary);border-radius:var(--card-br-xs);border-left:3px solid var(--text-color)}.chat-message__reply-indicator strong{color:var(--text-color)}.chat-message__replies{margin-top:var(--gap-s);margin-left:48px;position:relative}.chat-message__replies:before{content:"";position:absolute;left:-24px;top:-8px;bottom:var(--gap-m);width:2px;background:var(--border-color);border-radius:1px}@media(max-width:768px){.chat-message__replies{margin-left:32px}.chat-message__replies:before{left:-16px}}.chat-message--level-2 .chat-message__avatar-img,.chat-message--level-2 .chat-message__avatar-placeholder{width:32px;height:32px}.chat-message--level-2 .chat-message__author,.chat-message--level-2 .chat-message__text{font-size:var(--p4-size)}.chat-message--level-2 .chat-message__bubble{padding:var(--gap-xs) var(--gap-s)}.chat-message--level-2 .chat-message__replies{margin-left:40px}.chat-message--level-2 .chat-message__replies:before{left:-20px}@media(max-width:768px){.chat-message--level-2 .chat-message__replies{margin-left:28px}.chat-message--level-2 .chat-message__replies:before{left:-14px}}.chat-message--level-3 .chat-message__avatar-img,.chat-message--level-3 .chat-message__avatar-placeholder{width:28px;height:28px}.chat-message--level-3 .chat-message__bubble{background:var(--card-bg);padding:var(--gap-xs) var(--gap-s)}.chat-message--level-3 .chat-message__bubble:before{border-color:rgba(0,0,0,0) var(--card-bg) rgba(0,0,0,0) rgba(0,0,0,0)}.chat-message--level-3 .chat-message__replies{margin-left:36px}.chat-message--level-3 .chat-message__replies:before{left:-18px}@media(max-width:768px){.chat-message--level-3 .chat-message__replies{margin-left:24px}.chat-message--level-3 .chat-message__replies:before{left:-12px}}.chat-message--level-4 .chat-message__avatar-img,.chat-message--level-4 .chat-message__avatar-placeholder{width:24px;height:24px}.chat-message--level-4 .chat-message__author,.chat-message--level-4 .chat-message__text{font-size:var(--p4-size)}.chat-message--level-4 .chat-message__bubble{background:var(--card-bg-secondary);padding:var(--gap-xs) var(--gap-s)}.chat-message--level-4 .chat-message__bubble:before{border-color:rgba(0,0,0,0) var(--card-bg-secondary) rgba(0,0,0,0) rgba(0,0,0,0)}.chat-message--level-4 .chat-message__replies{margin-left:32px}.chat-message--level-4 .chat-message__replies:before{left:-16px}@media(max-width:768px){.chat-message--level-4 .chat-message__replies{margin-left:20px}.chat-message--level-4 .chat-message__replies:before{left:-10px}}.chat-message--level-5 .chat-message__avatar-img,.chat-message--level-5 .chat-message__avatar-placeholder{width:20px;height:20px}.chat-message--level-5 .chat-message__author,.chat-message--level-5 .chat-message__text{font-size:var(--p4-size)}.chat-message--level-5 .chat-message__bubble{background:var(--card-bg);padding:var(--gap-xs) var(--gap-s)}.chat-message--level-5 .chat-message__bubble:before{border-color:rgba(0,0,0,0) var(--card-bg) rgba(0,0,0,0) rgba(0,0,0,0)}.chat-message--level-5 .chat-message__replies{margin-left:0}.chat-message--level-5 .chat-message__replies:before{display:none}.input,.textarea{width:100%;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-color);font-size:var(--p2-size);font-family:var(--font-primary);transition:all .2s ease;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--text-quaternary-color)}.input::placeholder,.textarea::placeholder{color:var(--text-quaternary-color)}.input:disabled,.textarea:disabled{opacity:.5;cursor:not-allowed;background:var(--card-bg-secondary)}@media(hover:hover)and (pointer:fine){.input:hover:not(:disabled):not(:focus):not(:focus-visible):not(:focus-within),.textarea:hover:not(:disabled):not(:focus):not(:focus-visible):not(:focus-within){border-color:var(--input-border-hover);background:var(--input-bg-hover)}}.input:focus,.input:focus-visible,.input:focus-within,.textarea:focus,.textarea:focus-visible,.textarea:focus-within{border-color:var(--input-border-focus)!important;background:var(--input-bg-focus)!important}.textarea{height:auto;min-height:clamp(80px,15vw,120px);resize:vertical;line-height:1.5}.input-h-xs{height:var(--input-h-xs)}.input-h-s{height:var(--input-h-s)}.input-h-m{height:var(--input-h-m)}.input-h-l{height:var(--input-h-l)}.input-px-xs{padding-left:clamp(8px,1.2vw,12px);padding-right:clamp(8px,1.2vw,12px)}.input-px-s{padding-left:clamp(10px,1.4vw,14px);padding-right:clamp(10px,1.4vw,14px)}.input-px-m{padding-left:clamp(12px,1.5vw,16px);padding-right:clamp(12px,1.5vw,16px)}.input-px-l{padding-left:clamp(14px,1.8vw,18px);padding-right:clamp(14px,1.8vw,18px)}.input-px-xl{padding-left:clamp(16px,2vw,20px);padding-right:clamp(16px,2vw,20px)}.input-px-xxl{padding-left:clamp(18px,2.2vw,24px);padding-right:clamp(18px,2.2vw,24px)}.textarea-p-xs{padding:clamp(8px,1.2vw,10px) clamp(8px,1.2vw,12px)}.textarea-p-s{padding:clamp(10px,1.4vw,12px) clamp(10px,1.4vw,14px)}.textarea-p-m{padding:clamp(10px,1.5vw,14px) clamp(12px,1.5vw,16px)}.textarea-p-l{padding:clamp(12px,1.8vw,16px) clamp(14px,1.8vw,18px)}.textarea-p-xl{padding:clamp(14px,2vw,18px) clamp(16px,2vw,20px)}.textarea-p-xxl{padding:clamp(16px,2.2vw,20px) clamp(18px,2.2vw,24px)}.input-text-xs{font-size:var(--p4-size)}.input-text-s{font-size:var(--p3-size)}.input-text-m{font-size:var(--p2-size)}.input-text-l{font-size:var(--p1-size)}.input-br-xs{border-radius:var(--btn-r-xs)}.input-br-s{border-radius:var(--btn-r-s)}.input-br-m{border-radius:var(--btn-r-m)}.input-br-l{border-radius:var(--btn-r-l)}.input-br-xl{border-radius:var(--btn-r-xl)}.input-br-xxl{border-radius:var(--btn-r-xxl)}.textarea-resize-xs::-webkit-resizer{border-radius:0 0 var(--card-br-xs) 0}.textarea-resize-s::-webkit-resizer{border-radius:0 0 var(--card-br-s) 0}.textarea-resize-m::-webkit-resizer{border-radius:0 0 var(--card-br-m) 0}.textarea-resize-l::-webkit-resizer{border-radius:0 0 var(--card-br-l) 0}.textarea-resize-xl::-webkit-resizer{border-radius:0 0 var(--card-br-xl) 0}.textarea-resize-xxl::-webkit-resizer{border-radius:0 0 var(--card-br-xxl) 0}.input-error,.input-error:focus{border-color:#ff1e1e}.input-error:focus{box-shadow:0 0 0 3px rgba(255,30,30,.1)}.input-success{border-color:#2ecc40}.input-success:focus{border-color:#2ecc40;box-shadow:0 0 0 3px rgba(46,204,64,.1)}.select{width:100%;border:1px solid var(--input-border);background:var(--select-bg);color:var(--text-color);font-size:var(--p2-size);font-family:var(--font-primary);transition:all .2s ease;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right clamp(12px,1.5vw,16px) center}.select:disabled{opacity:.5;cursor:not-allowed;background-color:var(--card-bg-secondary)}@media(hover:hover)and (pointer:fine){.select:hover:not(:disabled):not(:focus){border-color:var(--input-border-hover);background-color:var(--input-bg-hover)}}.select:focus{border-color:var(--input-border-focus);background-color:var(--input-bg-focus)}.select-xs{height:var(--input-h-xs);padding:0 clamp(28px,3.5vw,32px) 0 clamp(8px,1.2vw,12px);background-size:10px;background-position:right clamp(8px,1.2vw,12px) center}.select-s,.select-xs{font-size:var(--p3-size)}.select-s{height:var(--input-h-s);padding:0 clamp(30px,3.8vw,36px) 0 clamp(10px,1.4vw,14px);background-size:11px;background-position:right clamp(10px,1.4vw,14px) center}.select-m{height:var(--input-h-m);font-size:var(--p2-size);padding:0 clamp(32px,4vw,40px) 0 clamp(12px,1.5vw,16px)}.select-l{height:var(--input-h-l);font-size:var(--p1-size);padding:0 clamp(36px,4.5vw,44px) 0 clamp(14px,1.8vw,18px);background-size:13px;background-position:right clamp(14px,1.8vw,18px) center}.input-wrapper{position:relative;display:inline-block;width:100%}.input-icon{position:absolute;top:50%;transform:translateY(-50%);color:var(--text-tertiary-color);pointer-events:none;display:flex;align-items:center;justify-content:center}.input-icon-left{left:clamp(10px,1.5vw,14px)}.input-icon-right{right:clamp(10px,1.5vw,14px)}.input-with-icon-left{padding-left:clamp(36px,5vw,44px)}.input-with-icon-right{padding-right:clamp(36px,5vw,44px)}.form-label{display:block;margin-bottom:clamp(6px,1vw,8px);color:var(--text-color);font-size:var(--p2-size);font-weight:500}.form-helper-text{color:var(--text-secondary-color)}.form-error-text,.form-helper-text{display:block;margin-top:clamp(4px,.8vw,6px);font-size:var(--p3-size)}.form-error-text{color:#ff1e1e}.checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:clamp(18px,2.2vw,20px);height:clamp(18px,2.2vw,20px);border:1.5px solid var(--input-border);border-radius:var(--card-br-xs);background:rgba(0,0,0,0);cursor:pointer;position:relative;transition:all .2s ease;flex-shrink:0;outline:none;margin:0}.checkbox:checked{background:var(--text-color);border-color:var(--text-color)}@media(hover:hover)and (pointer:fine){.checkbox:hover:not(:disabled):not(:focus-visible){border-color:var(--border-hover)}}.checkbox:checked:before{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-52%);color:var(--bg-color);font-size:.85em;font-weight:600;line-height:1}.checkbox:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.checkbox:disabled{opacity:.4;cursor:not-allowed}.checkbox:active:not(:disabled){transform:scale(.95)}.checkbox-s{width:clamp(16px,2vw,18px);height:clamp(16px,2vw,18px)}.checkbox-m{width:clamp(18px,2.2vw,20px);height:clamp(18px,2.2vw,20px)}.checkbox-l{width:clamp(20px,2.5vw,22px);height:clamp(20px,2.5vw,22px)}.radio{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:clamp(18px,2.2vw,20px);height:clamp(18px,2.2vw,20px);border:1.5px solid var(--input-border);border-radius:50%;background:rgba(0,0,0,0);cursor:pointer;position:relative;transition:all .2s ease;flex-shrink:0;outline:none;margin:0}.radio:checked{border-color:var(--text-color)}@media(hover:hover)and (pointer:fine){.radio:hover:not(:disabled):not(:focus-visible){border-color:var(--border-hover)}}.radio:checked:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50%;height:50%;border-radius:50%;background:var(--text-color);animation:radio-pop .2s ease}.radio:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.radio:disabled{opacity:.4;cursor:not-allowed}.radio:active:not(:disabled){transform:scale(.95)}@keyframes radio-pop{0%{transform:translate(-50%,-50%) scale(0)}50%{transform:translate(-50%,-50%) scale(1.2)}to{transform:translate(-50%,-50%) scale(1)}}.radio-s{width:clamp(16px,2vw,18px);height:clamp(16px,2vw,18px)}.radio-m{width:clamp(18px,2.2vw,20px);height:clamp(18px,2.2vw,20px)}.radio-l{width:clamp(20px,2.5vw,22px);height:clamp(20px,2.5vw,22px)}.form-group{margin-bottom:clamp(16px,2.5vw,20px)}.form-group-inline{display:flex;align-items:center;gap:clamp(8px,1.2vw,12px)}@media(hover:none)and (pointer:coarse){.checkbox:hover:not(:disabled),.input:hover:not(:disabled),.radio:hover:not(:disabled),.textarea:hover:not(:disabled){border-color:var(--input-border)}}