.portfolio-module__XbO6Ca__page{max-width:1040px;color:var(--text);margin:0 auto;padding:48px 20px 96px}.portfolio-module__XbO6Ca__header{margin-bottom:32px}.portfolio-module__XbO6Ca__eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 6px;font-size:12px}.portfolio-module__XbO6Ca__title{margin:0 0 8px;font-size:clamp(28px,4vw,40px);line-height:1.2}.portfolio-module__XbO6Ca__subtitle{color:var(--muted);max-width:640px;margin:0 0 12px;font-size:15px;line-height:1.6}.portfolio-module__XbO6Ca__empty{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px;padding:48px 0}.portfolio-module__XbO6Ca__grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.portfolio-module__XbO6Ca__card{background:var(--panel);border:1px solid var(--line);border-radius:16px;transition:border-color .18s,transform .18s;overflow:hidden}.portfolio-module__XbO6Ca__card:hover{border-color:var(--accent-strong);transform:translateY(-2px)}.portfolio-module__XbO6Ca__cardLink{color:inherit;text-decoration:none;display:block}.portfolio-module__XbO6Ca__cover,.portfolio-module__XbO6Ca__coverPlaceholder{aspect-ratio:16/9;object-fit:cover;background:linear-gradient(135deg,#16202c,#1d2b38);width:100%;display:block}.portfolio-module__XbO6Ca__cardBody{padding:16px 18px 20px}.portfolio-module__XbO6Ca__cardTitle{margin:0 0 8px;font-size:17px;line-height:1.4}.portfolio-module__XbO6Ca__cardSummary{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 12px;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.portfolio-module__XbO6Ca__tags{flex-wrap:wrap;gap:6px;display:flex}.portfolio-module__XbO6Ca__tag{border:1px solid var(--line);color:var(--muted);background:var(--panel-strong);border-radius:999px;padding:3px 9px;font-size:12px}.portfolio-module__XbO6Ca__detailTop{align-items:center;gap:12px;margin-bottom:22px;display:flex}.portfolio-module__XbO6Ca__back{color:var(--muted);font-size:14px;text-decoration:none}.portfolio-module__XbO6Ca__back:hover{color:var(--accent)}.portfolio-module__XbO6Ca__hiddenBadge{border:1px solid var(--warning);color:var(--warning);border-radius:999px;padding:3px 10px;font-size:12px}.portfolio-module__XbO6Ca__detailCover{border-radius:16px;width:100%;margin:20px 0 8px;display:block}.portfolio-module__XbO6Ca__article{color:var(--text);margin-top:26px;font-size:16px;line-height:1.85}.portfolio-module__XbO6Ca__article h2{margin:34px 0 12px;font-size:22px}.portfolio-module__XbO6Ca__article h3{margin:26px 0 10px;font-size:18px}.portfolio-module__XbO6Ca__article p{margin:0 0 14px}.portfolio-module__XbO6Ca__article ul{margin:0 0 16px;padding-left:22px}.portfolio-module__XbO6Ca__article li{margin-bottom:6px}.portfolio-module__XbO6Ca__article a{color:var(--accent)}.portfolio-module__XbO6Ca__article code{background:var(--panel-strong);border:1px solid var(--line);border-radius:6px;padding:2px 6px;font-size:14px}.portfolio-module__XbO6Ca__manager{gap:18px;display:grid}.portfolio-module__XbO6Ca__managerBar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.portfolio-module__XbO6Ca__managerHint{color:var(--muted);font-size:13px}.portfolio-module__XbO6Ca__list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.portfolio-module__XbO6Ca__row{background:var(--panel);border:1px solid var(--line);border-radius:13px;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.portfolio-module__XbO6Ca__rowMain{min-width:0}.portfolio-module__XbO6Ca__rowTitle{align-items:center;gap:8px;margin:0 0 4px;font-size:15px;font-weight:600;display:flex}.portfolio-module__XbO6Ca__rowSummary{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;overflow:hidden}.portfolio-module__XbO6Ca__publicBadge,.portfolio-module__XbO6Ca__privateBadge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px}.portfolio-module__XbO6Ca__publicBadge{border:1px solid var(--accent-strong);color:var(--accent)}.portfolio-module__XbO6Ca__privateBadge{border:1px solid var(--line);color:var(--muted)}.portfolio-module__XbO6Ca__rowActions{flex-wrap:wrap;gap:8px;display:flex}.portfolio-module__XbO6Ca__form{background:var(--panel);border:1px solid var(--line);border-radius:16px;gap:14px;padding:20px;display:grid}.portfolio-module__XbO6Ca__field{gap:6px;display:grid}.portfolio-module__XbO6Ca__label{color:var(--muted);font-size:13px}.portfolio-module__XbO6Ca__input,.portfolio-module__XbO6Ca__textarea,.portfolio-module__XbO6Ca__select{border:1px solid var(--line);background:var(--panel-strong);width:100%;color:var(--text);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px}.portfolio-module__XbO6Ca__textarea{resize:vertical;min-height:240px;line-height:1.7}.portfolio-module__XbO6Ca__input:focus,.portfolio-module__XbO6Ca__textarea:focus,.portfolio-module__XbO6Ca__select:focus{border-color:var(--accent-strong);outline:none}.portfolio-module__XbO6Ca__formRow{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.portfolio-module__XbO6Ca__actions{flex-wrap:wrap;gap:10px;display:flex}.portfolio-module__XbO6Ca__button,.portfolio-module__XbO6Ca__buttonGhost,.portfolio-module__XbO6Ca__buttonDanger{cursor:pointer;border:1px solid var(--line);background:var(--panel-strong);color:var(--text);border-radius:10px;padding:9px 16px;font-size:14px;transition:border-color .15s,color .15s}.portfolio-module__XbO6Ca__button{border-color:var(--accent-strong);background:var(--accent);color:#08120e;font-weight:600}.portfolio-module__XbO6Ca__button:hover{filter:brightness(1.06)}.portfolio-module__XbO6Ca__buttonGhost:hover{border-color:var(--accent-strong);color:var(--accent)}.portfolio-module__XbO6Ca__buttonDanger{border-color:var(--danger);color:var(--danger)}.portfolio-module__XbO6Ca__buttonDanger:hover{background:#ff6b6b1f}.portfolio-module__XbO6Ca__notice{border:1px solid var(--warning);color:var(--warning);background:#f6b95b14;border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.6}.portfolio-module__XbO6Ca__error{color:var(--danger);font-size:13px}@media (max-width:640px){.portfolio-module__XbO6Ca__page{padding:32px 16px 80px}.portfolio-module__XbO6Ca__row{grid-template-columns:1fr}}
