.project-detail[data-astro-cid-bmrowvrh]{max-width:var(--content-max);padding:var(--gutter);background:var(--color-bg);margin:0 auto;overflow-x:hidden;& .project-header{margin-bottom:var(--stack-lg)}& .project-meta{align-items:flex-start;gap:var(--stack-xs);margin-bottom:var(--stack-md);font-size:var(--text-sm);color:var(--color-muted);flex-direction:column;display:flex;& .project-meta-row{justify-content:space-between;align-items:center;gap:var(--stack-xs);flex-direction:row;width:100%;display:flex}}& .back-link{color:var(--color-link);font-weight:var(--fw-medium);transition:color var(--dur-1) var(--ease-standard);min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:0 var(--stack-xs);border-radius:var(--radius-sm);box-sizing:border-box;cursor:pointer;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;&:hover,&:focus{color:var(--color-link-hover);text-decoration:underline}}& .project-date{color:var(--color-muted);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;align-items:center;height:100%;display:flex}& .project-title{font-size:var(--heading-lg);font-weight:var(--fw-semibold);color:var(--color-text);word-break:break-word;hyphens:auto;overflow-wrap:break-word;text-align:left;width:100%;max-width:100%;margin:0}& .project-cover{width:100%;margin:var(--stack-md) 0 var(--stack-lg) 0;border-radius:var(--card-radius);box-shadow:var(--elev-1);overflow:hidden;& img{outline-offset:0;border-radius:var(--card-radius);outline:none;width:100%;height:auto;display:block}}& .project-content{line-height:var(--lh);color:var(--color-text);word-break:break-word;& h1,& h2,& h3,& h4,& h5,& h6{font-weight:var(--fw-semibold);color:var(--color-text);margin-top:var(--stack-lg);margin-bottom:var(--stack-sm);word-break:break-word;hyphens:auto;line-height:1.2}& h1{font-size:var(--heading-lg)}& h2{font-size:var(--heading-md)}& h3{font-size:var(--heading-sm)}& h4{font-size:var(--heading-xs)}& h5,& h6{font-size:var(--text-body)}& p,& li{hyphens:manual;text-align:left;word-break:normal;margin-bottom:var(--stack-md);word-spacing:normal;letter-spacing:normal}& th,& td{hyphens:auto}& h1,& h2,& h3,& h4,& h5,& h6{hyphens:auto;word-break:break-word}& th,& td{text-align:left;letter-spacing:.01em}& ul,& ol{margin-bottom:var(--stack-md);padding-left:var(--stack-lg)}& li{margin-bottom:var(--stack-xs);hyphens:auto;word-break:break-word}& pre{padding:var(--stack-lg);border-radius:var(--radius-lg);margin-bottom:var(--stack-lg);font-size:var(--text-body);max-width:100vw;box-shadow:var(--elev-2);border:1px solid var(--color-border);text-align:left;white-space:pre;word-break:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;overflow-x:auto}& code{background:var(--color-surface-1);color:var(--color-primary);border-radius:var(--radius-sm);box-shadow:0 1px 2px 0 var(--shadow-color);border:1px solid var(--color-border-hairline);white-space:pre;word-break:normal;padding:.18em .45em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.97em}& pre code{color:inherit;box-shadow:none;white-space:pre;word-break:normal;background:0 0;border:none;padding:0}& img,& picture,& astro-image{border-radius:var(--button-radius);max-width:100%;height:auto;margin:var(--stack-md) 0;display:block}& blockquote{border-left:4px solid var(--color-primary);padding-left:var(--stack-md);margin:var(--stack-md) 0;color:var(--color-muted);font-style:italic}& table{& tbody tr:nth-child(odd){background:var(--color-bg)}& tbody tr:nth-child(2n){background:var(--color-surface-1)}border-collapse:separate;border-spacing:0;width:100%;margin:var(--stack-lg) 0;font-size:var(--text-body);font-family:var(--font-sans);border:var(--border-strong) solid var(--color-border);border-radius:var(--radius-lg);table-layout:auto;overflow:hidden;& th{font-weight:var(--fw-semibold);border-bottom:var(--border-hairline) solid var(--color-border);letter-spacing:.01em;padding:var(--stack-xs) var(--stack-xs);text-align:left;vertical-align:top;word-break:break-word;hyphens:auto;font-size:var(--text-body);background-color:var(--color-surface-3);line-height:1.2}& th:first-child{border-right:1px solid var(--color-border-hairline);width:32%;min-width:90px}& th:not(:first-child){width:68%}& td{padding:var(--stack-xs) var(--stack-xs);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;word-break:break-word;hyphens:auto;font-size:var(--text-body);line-height:1.3}& td:first-child{width:32%;min-width:90px;font-weight:var(--fw-medium);border-right:1px solid var(--color-border-hairline)}& td:not(:first-child){width:68%;font-weight:400}& caption{caption-side:bottom;padding:var(--stack-xs) 0;font-size:var(--text-xs);text-align:left}}& hr{border:none;border-top:1px solid var(--divider-subtle);margin:var(--stack-lg) 0}& a{color:var(--color-link);transition:color var(--dur-1) var(--ease-standard);text-decoration:underline;&:hover{color:var(--color-link-hover)}}}}@media (width>=1024px){.project-detail[data-astro-cid-bmrowvrh]{max-width:var(--content-max);padding:var(--gutter) var(--gutter);& .project-header{margin-bottom:var(--stack-lg)}& .project-meta{gap:var(--stack-xxs);margin-bottom:var(--stack-xxl)}& .project-title{font-size:var(--display-xl);margin-bottom:var(--stack-sm)}& .project-cover{margin:var(--stack-xs) 0 var(--stack-md) 0;align-self:flex-start}& .project-content img,& .project-content picture,& .project-content astro-image{border-radius:var(--button-radius);max-width:800px;height:auto;margin:var(--stack-md) 0;display:block}& .project-content{& h1{font-size:var(--display-xl);margin-top:var(--stack-xl);margin-bottom:var(--stack-md)}& h2{font-size:var(--heading-lg);margin-top:var(--stack-lg);margin-bottom:var(--stack-md)}& h3{font-size:var(--heading-md);margin-top:var(--stack-md);margin-bottom:var(--stack-sm)}& h4{font-size:var(--heading-sm);margin-top:var(--stack-sm);margin-bottom:var(--stack-xs)}& table{font-size:var(--text-body);& th,& td{padding:var(--stack-xs) var(--stack-sm)}& th:first-child,& td:first-child{width:30%}& th:not(:first-child),& td:not(:first-child){width:70%}}& p,& li{text-align:justify;text-justify:inter-word;margin-bottom:var(--stack-xs);hyphens:auto}& pre,& code{text-align:left}}}}
