HÀnen miehensÀ halusi kÀyttÀÀ ChatGPT:tÀ kestÀvien kotejen suunnitteluun. Sitten se valtasi hÀnen elÀmÀnsÀ.

HÀnen miehensÀ halusi kÀyttÀÀ ChatGPT:tÀ kestÀvien kotejen suunnitteluun. Sitten se valtasi hÀnen elÀmÀnsÀ.

Guardian Headline Full -fonttiperhe sisÀltÀÀ useita tyylejÀ, joista jokainen on saatavilla useissa tiedostomuodoissa. Kevyt tyyli (font-weight: 300) on saatavilla sekÀ normaalina ettÀ kursiiviversiona. Normaali tyyli (font-weight: 400) on myös saatavilla normaalina ja kursiiviversiona. Vastaavasti keskiraskas tyyli (font-weight: 500) ja puolirasvattu tyyli (font-weight: 600) tarjoavat kumpikin normaalit ja kursiiviset vaihtoehdot. Kaikki fonttitiedostot sijaitsevat mÀÀritetyissÀ verkkosoitteissa.@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Bold.woff2) format("woff2"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Bold.woff) format("woff"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Bold.ttf) format("truetype");
font-weight: 700;
font-style: normal;
}

@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-BoldItalic.woff2) format("woff2"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-BoldItalic.woff) format("woff"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-BoldItalic.ttf) format("truetype");
font-weight: 700;
font-style: italic;
}

@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Black.woff2) format("woff2"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Black.woff) format("woff"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-Black.ttf) format("truetype");
font-weight: 900;
font-style: normal;
}

@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-BlackItalic.woff2) format("woff2"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-BlackItalic.woff) format("woff"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/full-not-hinted/GHGuardianHeadline-BlackItalic.ttf) format("truetype");
font-weight: 900;
font-style: italic;
}

@font-face {
font-family: Guardian Titlepiece;
src: url(https://interactive.guim.co.uk/fonts/garnett/GTGuardianTitlepiece-Bold.woff2) format("woff2"),
url(https://interactive.guim.co.uk/fonts/garnett/GTGuardianTitlepiece-Bold.woff) format("woff"),
url(https://interactive.guim.co.uk/fonts/garnett/GTGuardianTitlepiece-Bold.ttf) format("truetype");
font-weight: 700;
font-style: normal;
}

@media (min-width: 71.25em) {
.content__main-column--interactive {
margin-left: 160px;
}
}

@media (min-width: 81.25em) {
.content__main-column--interactive {
margin-left: 240px;
}
}

.content__main-column--interactive .element-atom {
max-width: 620px;
}

@media (max-width: 46.24em) {
.content__main-column--interactive .element-atom {
max-width: 100%;
}
}

.content__main-column--interactive .element-showcase {
margin-left: 0;
}

@media (min-width: 46.25em) {
.content__main-column--interactive .element-showcase {
max-width: 620px;
}
}

@media (min-width: 71.25em) {
.content__main-column--interactive .element-showcase {
max-width: 860px;
}
}

.content__main-column--interactive .element-immersive {
max-width: 1100px;
}

@media (max-width: 46.24em) {
.content__main-column--interactive .element-immersive {
width: calc(100vw - var(--scrollbar-width, 0px));
position: relative;
left: 50%;
right: 50%;
margin-left: calc(-50vw + var(--half-scrollbar-width, 0px)) !important;
margin-right: calc(-50vw + var(--half-scrollbar-width, 0px)) !important;
}
}

@media (min-width: 46.25em) {
.content__main-column--interactive .element-immersive {
transform: translate(-20px);
width: calc(100% + 60px);
}
}

@media (max-width: 71.24em) {
.content__main-column--interactive .element-immersive {
margin-left: 0;
margin-right: 0;
}
}

@media (min-width: 71.25em) {
.content__main-column--interactive .element-immersive {
transform: translate(0);
width: auto;
}
}

@media (min-width: 81.25em) {
.content__main-column--interactive .element-immersive {
max-width: 1260px;
}
}

.content__main-column--interactive p,
.content__main-column--interactive ul {
max-width: 620px;
}

.content__main-column--interactive:before {
position: absolute;
top: 0;
height: calc(100% + 15px);
min-height: 100px;
content: "";
}

@media (min-width: 71.25em) {
.content__main-column--interactive:before {
border-left: 1px solid #dcdcdc;
z-index: -1;
left: -10px;
}
}

@media (min-width: 81.25em) {
.content__main-column--interactive:before {
border-left: 1px solid #dcdcdc;
}
}Annetut tekstit nÀyttÀvÀt olevan fragmentteja CSS-koodista, todennÀköisesti verkkosivun tyylitiedostosta. Ne mÀÀrittelevÀt erilaisia visuaalisia tyylejÀ, kuten vÀrejÀ, vÀlistyksiÀ ja asettelusÀÀntöjÀ eri elementeille kuten artikkeleille, kommenteille ja interaktiiviselle sisÀllölle. Koodi sisÀltÀÀ tiettyjÀ ohjeita marginaaleille, tÀytteille, tekstin ja taustojen vÀreille sekÀ responsiivisia suunnittelusÀÀntöjÀ eri nÀytön kooille.

CSS-koodi mÀÀrittelee tyylejÀ verkkosivun eri elementeille. Se asettaa tiettyjÀ fontteja, kokoja ja asetteluja esimerkiksi tikkukirjaimille, lainauksille ja immersiivisille elementeille. Koodi sisÀltÀÀ responsiivisia suunnittelusÀÀntöjÀ, jotka sÀÀtÀvÀt marginaaleja, tÀytteitÀ ja ruudukkoasetteluja eri nÀytön kooille, erityisesti leveÀmmille nÀytöille yli 61.25 em.

CSS-koodi mÀÀrittelee tyylejÀ asettelukÀÀreelle, sÀÀtÀen ruudukkorakenteita, typografiaa ja elementtien nÀkyvyyttÀ eri nÀytön kooille. LeveÀmmille nÀytöille se asettaa tiettyjÀ ruudukkomalleja, muokkaa otsikkofonttien kokoa ja leveyttÀ, ja piilottaa tiettyjÀ elementtejÀ kuten viivoja ja sosiaalisia komponentteja. Reunukset ja vÀlistykset on rÀÀtÀlöity, ja media-kyselyt varmistavat responsiivisen toiminnan eri laitteiden leveuksille.@media (max-width: 46.24em) {
.furniture-wrapper #main-media,
.furniture-wrapper [data-gu-name="media"] {
width: calc(100vw - var(--scrollbar-width, 0px));
margin-left: -10px;
}
}

@media (max-width: 46.24em) and (min-width: 30em) {
.furniture-wrapper #main-media,
.furniture-wrapper [data-gu-name="media"] {
margin-left: -20px;
}
}

.furniture-wrapper figcaption {
position: absolute;
bottom: 0;
padding: 4px 10px 12px;
background-color: var(--captionBackground);
color: var(--captionText);
max-width: unset;
width: 100%;
margin-bottom: 0;
min-height: 46px;
}

.furniture-wrapper figcaption span {
color: var(--headerBorder);
}

.furniture-wrapper figcaption span svg {
fill: var(--headerBorder);
}

.furniture-wrapper figcaption span:nth-of-type(1) {
display: none;
}

.furniture-wrapper figcaption span:nth-of-type(2) {
display: block;
max-width: 90%;
}

@media (min-width: 30em) {
.furniture-wrapper figcaption {
padding: 4px 20px 12px;
}
}

.furniture-wrapper figcaption.hidden {
opacity: 0;
}

.furniture-wrapper #caption-button {
display: block;
position: absolute;
bottom: 10px;
right: 8px;
z-index: 30;
background-color: var(--captionBackground);
border: none;
border-radius: 50%;
padding: 6px 5px 5px;
}

.furniture-wrapper #caption-button svg {
transform: scale(0.85);
}

@media (min-width: 30em) {
.furniture-wrapper #caption-button {
right: 10px;
}
}

@media (min-width: 71.25em) {
.content__main-column--interactive:before {
top: -12px !important;
height: calc(100% + 24px) !important;
}
}

.content__main-column--interactive h2 {
max-width: 620px;
}

:root {
--new-pillar-colour: var(--darkmode-pillar, var(--darkModeFeature)) !important;
--headerBorderColor: #606060;
--darkModeFeature: #ff5943;
}

nav + section {
display: none;
}

nav + aside {
display: none;
}

aside + section {
display: none;
}

.furniture-wrapper {
background-color: var(--darkBackground);
margin: 0 -10px;
padding: 0 10px 4px;
}

@media (min-width: 30em) {
.furniture-wrapper {
margin: 0 -20px;
padding: 0 20px 8px;
}
}

@media (min-width: 61.25em) {
.furniture-wrapper {
padding: 0 20px;
}
}

@media (min-width: 81.25em) {
.furniture-wrapper:before {
content: "";
width: calc((100vw - 1298px) / 2);
height: 100%;
position: absolute;
left: calc((100vw - 1298px) / -2);
background-color: var(--darkBackground);
border-right: 1px solid var(--headerBorderColor);
}

.furniture-wrapper:after {
content: "";
width: calc((100vw - 1298px) / 2);
height: 100%;
position: absolute;
right: calc((100vw - 1298px) / -2);
background-color: var(--darkBackground);
}
}

.furniture-wrapper .article-header,
.furniture-wrapper [data-gu-name="title"] a,
.furniture-wrapper [data-gu-name="title"] span {
color: var(--new-pillar-colour, --darkModeFeature);
}

@media (min-width: 61.25em) {
.furniture-wrapper #headline > div:first-child,
.furniture-wrapper [data-gu-name="headline"] > div:first-child,
.furniture-wrapper .headline > div:first-child {
border-top: 1px solid var(--headerBorderColor);
}
}

.furniture-wrapper #headline h1,
.furniture-wrapper [data-gu-name="headline"] h1,
.furniture-wrapper .headline h1 {
font-weight: 700;
color: #dcdcdc;
}

.furniture-wrapper #headline figure,
.furniture-wrapper [data-gu-name="headline"] figure,
.furniture-wrapper .headline figure {
margin-top: 0;
margin-bottom: 2px;
}

@media (min-width: 71.25em) {
.furniture-wrapper #meta:before,
.furniture-wrapper [data-gu-name="meta"]:before {
background-color: var(--headerBorderColor);
}
}

.furniture-wrapper #meta details,
.furniture-wrapper #meta summary,
.furniture-wrapper #meta summary span,
.furniture-wrapper [data-gu-name="meta"] details,
.furniture-wrapper [data-gu-name="meta"] summary,
.furniture-wrapper [data-gu-name="meta"] summary span {
color: #dcdcdc;
}

.furniture-wrapper #meta .meta__social a,
.furniture-wrapper #meta .meta__social button,
.furniture-wrapper [data-gu-name="meta"] .meta__social a,
.furniture-wrapper [data-gu-name="meta"] .meta__social button {
border-color: var(--headerBorderColor);
color: var(--new-pillar-colour, --darkModeFeature);
}

.furniture-wrapper #meta .meta__social a svg,
.furniture-wrapper #meta .meta__social button svg,
.furniture-wrapper [data-gu-name="meta"] .meta__social a svg,
.furniture-wrapper [data-gu-name="meta"] .meta__social button svg {
fill: var(--new-pillar-colour, --darkModeFeature);
}

.furniture-wrapper #meta .meta__social a:hover,
.furniture-wrapper #meta .meta__social button:hover,
.furniture-wrapper [data-gu-name="meta"] .meta__socialKun vieraillaan linkkien tai sosiaalisen median painikkeiden pÀÀllÀ furniture-wrapperin sisÀllÀ, tekstin vÀri muuttuu tummaksi taustavÀriksi, ja taustavÀri kÀyttÀÀ uutta pilarivÀriÀ tai tummatilan ominaisuutta. NÀiden elementtien kuvakkeet tÀyttyvÀt myös tummalla taustavÀrillÀ hover-tilassa.

Teksti meta-osioissa on vaaleanharmaa (#dcdcdc), kun taas linkit kÀyttÀvÀt uutta pilarivÀriÀ tai tummatilan ominaisuutta. NÀiden linkkien pÀÀllÀ vieraileminen muuttaa niiden vÀrin ja alleviivauksen vastaamaan samaa vÀriÀ.

Standfirst-osioissa linkeillÀ ei ole alareunausta, ne kÀyttÀvÀt uutta pilarivÀriÀ, ja ne alleviivataan vÀrillÀ, joka perustuu otsikon reunaan. Hover-tilassa alleviivaus muuttuu uudeksi pilarivÀriksi. Standfirstin kappaleteksti on vaaleanharmaa, ja leveÀmmillÀ nÀytöillÀ ensimmÀisellÀ kappaleella voi olla ylÀreunus, joka katoaa vielÀ leveÀmmillÀ nÀytöillÀ. Standfirstin luettelokohteet ovat myös vaaleanharmaita, ja leveÀmmillÀ nÀytöillÀ ennen standfirstia ilmestyy taustaviiva.

LeveÀmmille nÀytöille furniture-wrapper lisÀÀ sivupalkkeja tummalla taustalla ja reunoilla. NÀiden sivupalkkien leveys sÀÀtyy eri katkaisupisteissÀ: 738px, 978px, 1138px ja 1298px, laskettuna nÀkymÀn leveyden perusteella miinus vierityspalkki.Yli 1298px leveille nÀytöille oikea sijainti lasketaan puoleksi nÀkymÀn leveyden (miinus mahdollinen vierityspalkki) ja 1298px erotuksesta, mutta asetetaan negatiivisena arvona.

Furniture-wrapperissa SVG-elementtien vi