Ο ουρανοξύστης από προκατασκευασμένα πάνελ: πώς το ξύλο θα μπορούσε να διαμορφώσει τις πόλεις του αύριο.

Ο ουρανοξύστης από προκατασκευασμένα πάνελ: πώς το ξύλο θα μπορούσε να διαμορφώσει τις πόλεις του αύριο.

Αυτό είναι ένα μπλοκ κώδικα CSS που ορίζει την οικογένεια γραμματοσειρών "Guardian Headline Full" για χρήση σε έναν ιστότοπο. Περιλαμβάνει πολλούς κανόνες @font-face, καθένας από τους οποίους καθορίζει διαφορετικό βάρος (light, regular, medium, semibold) και στυλ (normal ή italic) της γραμματοσειράς. Τα αρχεία γραμματοσειρών φιλοξενούνται στον διακομιστή πόρων του Guardian και ο κώδικας παρέχει εναλλακτικές μορφές (WOFF2, WOFF και TTF) για να διασφαλίσει τη συμβατότητα σε διαφορετικούς browser. Τα βάρη γραμματοσειράς κυμαίνονται από 300 (light) έως 600 (semibold), με αντίστοιχες πλάγιες εκδόσεις για κάθε βάρος.

Αυτό το κείμενο φαίνεται να είναι κώδικας CSS, όχι φυσικός πεζός λόγος. Ορίζει στυλ γραμματοσειράς και κανόνες διάταξης για μια ιστοσελίδα. Εφόσον είναι τεχνικός κώδικας, η μεταγραφή του σε "άπταιστα, φυσικά αγγλικά" δεν είναι εφαρμόσιμη—είναι ήδη σε ακριβή, τυποποιημένη μορφή. Ωστόσο, μπορώ να παρέχω μια περίληψη στα απλά αγγλικά για το τι κάνει:

Ο κώδικας ρυθμίζει προσαρμοσμένες γραμματοσειρές για έναν ιστότοπο, συμπεριλαμβανομένων διαφόρων βαρών και στυλ των γραμματοσειρών "Guardian Headline" και "Guardian Titlepiece", φορτώνοντάς τες από συγκεκριμένες μορφές αρχείων. Ορίζει επίσης κανόνες responsive διάταξης για μια στήλη περιεχομένου, προσαρμόζοντας τα περιθώρια και τα πλάτη με βάση το μέγεθος της οθόνης. Για παράδειγμα, σε ευρύτερες οθόνες, προσθέτει αριστερά περιθώρια και για ορισμένα στοιχεία όπως το immersive ή showcase περιεχόμενο, προσαρμόζει το πλάτος και τη θέση τους ώστε να ταιριάζουν στο viewport. Οι κανόνες διασφαλίζουν ότι το κείμενο και τα ενσωματωμένα στοιχεία παραμένουν εντός ενός αναγνώσιμου πλάτους (περίπου 620 pixel) στις περισσότερες συσκευές, ενώ επιτρέπουν σε μεγαλύτερα στοιχεία να επεκταθούν σε μεγαλύτερες οθόνες.

.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;
left: -11px;
}
}

.content__main-column--interactive .element-atom {
margin-top: 0;
margin-bottom: 0;
padding-bottom: 12px;
padding-top: 12px;
}

.content__main-column--interactive p + .element-atom {
padding-top: 0;
padding-bottom: 0;
margin-top: 12px;
margin-bottom: 12px;
}

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

@media (min-width: 61.25em) {
figure[data-spacefinder-role=inline].element {
max-width: 620px;
}
}

[data-gu-name=media]:has(figure.loop) figure.loop figcaption:not(.hidden) {
z-index: 6;
}

[data-gu-name=media]:has(figure.loop) figure.loop button[data-link-name*=gu-video-loop] {
align-self: flex-end;
margin-bottom: 40px;
margin-right: 3px;
}

[data-gu-name=media]:has(figure.loop) .controls-container div:has(button[data-testid=unmute-icon]),
[data-gu-name=media]:has(figure.loop) .controls-container div:has(button[data-testid=mute-icon]) {
right: 0;
padding-left: 10px;
}

[data-gu-name=media]:has(figure.loop) #caption-button {
z-index: 100;
}

@media (min-width: 61.25em) {
[data-gu-name=media]:has(figure.loop) #caption-button {
bottom: 20px;
}
}

@media (min-width: 46.25em) {
[data-gu-name=media]:has(figure.cinemagraph) .cinemagraph > div {
max-height: unset;
}
}

[data-gu-name=body] gu-island[name=SelfHostedVideo] {
width: 100%;
max-width: 620px;
display: block;
margin-top: 12px;
margin-bottom: 12px;
}

[data-gu-name=body] gu-island[name=SelfHostedVideo] figure.loop,
[data-gu-name=body] gu-island[name=SelfHostedVideo] figure.loop video {
width: 100%;
height: auto;
max-width: 620px;
margin: 0 auto;
}

[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) {
max-width: unset;
margin: 12px 0;
}

[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) figure.loop,
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) figure.loop video {
max-width: unset;
margin: 0;
}

@media (min-width: 71.25em) {
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) {
width: 1140px;
margin-left: -180px;
}
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) figure figcaption {
margin-left: 20px;
}
}

@media (min-width: 81.25em) {
[data-gu-name=body] gu-island[name=SelfHostedVideo]:has(figure.loop.element-video-immersive) {
width: 1300px;
margin-left: -260px;
}
}

:root {
--dateline: #606060;
--headerBorder: #dcdcdc;
--captionText: #999;
--captionBackground: hsla(0, 0%, 7%, .72);
--feature: #c70000;
--new-pillar-colour: var(--primary-pillar, var(--feature));
}

:root:root {
--subheading-text: var(--secondary-pillar);
--pullquote-text: var(--secondary-pillar);
--pullquote-icon: var(--secondary-pillar);
--block-quote-text: var(--article-text);
}

:root:root blockquote {
--block-quote-fill: var(--secondary-pillar);
}

@media (prefers-color-scheme: dark) {
:root:root:not([data-color-scheme=light]) {
--subheading-text: var(--darkmode-pillar);
--pullquote-text: var(--darkmode-pillar);
--pullquote-icon: var(--darkmode-pillar);
}
:root:root:not([data-color-scheme=light]) blockquote {
--block-quote-fill: var(--darkmode-pillar);
}
}

.content__main-column--interactive .element.element-atom,
.element.element-atom {
padding: 0;
}

.content__main-column--interactive .element-atom:first-of-type + p:first-of-type,
.content__main-column--interactive .element-atom:first-of-type + .sign-in-gate + p:first-of-type,
.content__main-column--interactive .element-atom:first-of-type + #sign-in-gate + p:first-of-type,
.content__main-column--interactive .element-atom:first-of-type + .element-atom + p:first-of-type,
.content__main-column--interactive hr:not(.last-horizontal-rule) + p,
.content__main-column--interactive hr:not(.last-horizontal-rule) + .ad-slot-container + p,
#article-body > div .element-atom:first-of-type + p:first-of-type,
#article-body > div .element-atom:first-of-type + .sign-in-gate + p:first-of-type,
#article-body > div .element-atom:first-of-type + #sign-in-gate + p:first-of-type,
#article-body > div .element-atom:first-of-type + .element-atom + p:first-of-type,
#article-body > div hr { ... }Η πρώτη παράγραφος μετά από μια οριζόντια γραμμή ή ένα element atom θα πρέπει να έχει επιπλέον χώρο στο επάνω μέρος. Αυτό ισχύει για την πρώτη παράγραφο που ακολουθεί οποιοδήποτε από αυτά τα στοιχεία, είτε έρχεται αμέσως μετά το στοιχείο είτε μετά από ένα ad slot container. Ο ίδιος κανόνας ισχύει σε διαφορετικά τμήματα της σελίδας, όπως το σώμα του άρθρου, το διαδραστικό περιεχόμενο, τα σχόλια και τα τμήματα χαρακτηριστικών.

Επιπλέον, το πρώτο γράμμα αυτής της πρώτης παραγράφου θα πρέπει να έχει ειδική μορφοποίηση. Αυτή η μορφοποίηση εφαρμόζεται στο πρώτο γράμμα της παραγράφου που έρχεται μετά από μια οριζόντια γραμμή ή ένα element atom, είτε είναι αμέσως μετά το στοιχείο είτε μετά από ένα ad slot container. Αυτό ισχύει σε όλα τα ίδια τμήματα που αναφέρθηκαν παραπάνω.

[data-gu-name=body] .element-atom:first-of-type+.element-atom+p:first-of-type:first-letter,
[data-gu-name=body] hr:not(.last-horizontal-rule)+p:first-letter,
[data-gu-name=body] hr:not(.last-horizontal-rule)+.ad-slot-container+p:first-letter,
#feature-body .element-atom:first-of-type+p:first-of-type:first-letter,
#feature-body .element-atom:first-of-type+.sign-in-gate+p:first-of-type:first-letter,
#feature-body .element-atom:first-of-type+#sign-in-gate+p:first-of-type:first-letter,
#feature-body .element-atom:first-of-type+.element-atom+p:first-of-type:first-letter,
#feature-body hr:not(.last-horizontal-rule)+p:first-letter,
#feature-body hr:not(.last-horizontal-rule)+.ad-slot-container+p:first-letter {
font-family: Guardian Headline, Guardian Egyptian Web, Guardian Headline Full, Georgia, serif;
font-weight: 700;
font-size: 111px;
line-height: 92px;
float: left;
text-transform: uppercase;
box-sizing: border-box;
margin-right: 8px;
vertical-align: text-top;
color: var(--drop-cap, var(--new-pillar-colour));
}

.content__main-column--interactive hr+p,
.content__main-column--interactive hr+.ad-slot-container+p,
#article-body>div hr+p,
#article-body>div hr+.ad-slot-container+p,
.content--interactive>div hr+p,
.content--interactive>div hr+.ad-slot-container+p,
#comment-body hr+p,
#comment-body hr+.ad-slot-container+p,
[data-gu-name=body] hr+p,
[data-gu-name=body] hr+.ad-slot-container+p,
#feature-body hr+p,
#feature-body hr+.ad-slot-container+p {
padding-top: 0;
}

.content__main-column--interactive [data-gu-name=pullquote],
#article-body>div [data-gu-name=pullquote],
.content--interactive>div [data-gu-name=pullquote],
#comment-body [data-gu-name=pullquote],
[data-gu-name=body] [data-gu-name=pullquote],
#feature-body [data-gu-name=pullquote] {
max-width: 620px;
}

#maincontent figure.element.element--showcase.element-showcase figcaption,
#feature-article-container figure.element.element--showcase.element-showcase figcaption,
#standard-article-container figure.element.element--showcase.element-showcase figcaption,
#comment-article-container figure.element.element--showcase.element-showcase figcaption {
position: static !important;
width: 100%;
max-width: 620px;
}

@media (min-width: 71.25em) {
#maincontent figure.element.element--showcase.element-showcase figcaption,
#feature-article-container figure.element.element--showcase.element-showcase figcaption,
#standard-article-container figure.element.element--showcase.element-showcase figcaption,
#comment-article-container figure.element.element--showcase.element-showcase figcaption {
position: absolute !important;
max-width: 140px;
}
}

@media (min-width: 81.25em) {
#maincontent figure.element.element--showcase.element-showcase figcaption,
#feature-article-container figure.element.element--showcase.element-showcase figcaption,
#standard-article-container figure.element.element--showcase.element-showcase figcaption,
#comment-article-container figure.element.element--showcase.element-showcase figcaption {
max-width: 220px;
}
}

.element.element--immersive.element-immersive {
width: calc(100vw - var(--scrollbar-width, 0px));
}

@media (max-width: 71.24em) {
.element.element--immersive.element-immersive {
max-width: 978px;
}
.element.element--immersive.element-immersive figcaption {
padding-inline: 10px;
}
}

@media (max-width: 71.24em) and (min-width: 30em) {
.element.element--immersive.element-immersive figcaption {
padding-inline: 20px;
}
}

@media (min-width: 46.25em) and (max-width: 61.24em) {
.element.element--immersive.element-immersive {
max-width: 738px;
}
}

@media (max-width: 46.24em) {
.element.element--immersive.element-immersive {
margin-left: -10px !important;
margin-right: 0 !important;
left: 0;
}
}

@media (max-width: 46.24em) and (min-width: 30em) {
.element.element--immersive.element-immersive {
margin-left: -20px !important;
}
.element.element--immersive.element-immersive figcaption {
padding-inline: 20px;
}
}

@media (min-width: 71.25em) {
[data-gu-name=body] figure.element.element--showcase.element-showcase,
[data-gu-name=body] .content__main-column--interactive figure.element.element--showcase.element-showcase {
margin-left: -160px !important;
}
}

@media (min-width: 81.25em) {
[data-gu-name=body] figure.element.element--showcase.element-showcase,
[data-gu-n[body] .content__main-column--interactive figure.element.element--showcase.element-showcase {
margin-left: -240px !important;
}

.furniture-wrapper {
position: relative;
}

@media (min-width: 61.25em) {
.furniture-wrapper {
display: grid;
grid-column-gap: 20px;
grid-row-gap: 0px;
grid-template-columns: [title-start headline-start meta-start standfirst-start] repeat(5, 1fr) [title-end headline-end meta-end standfirst-end portrait-start] repeat(5, 1fr) [portrait-end];
grid-template-rows: [title-start portrait-start] .25fr [title-end headline-start] 1fr [headline-end standfirst-start] .75fr [standfirst-end meta-start] auto [meta-end portrait-end];
}

.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(--headerBorder);
}

.furniture-wrapper #meta,
.furniture-wrapper [data-gu-name="meta"] {
position: relative;
padding-top: 2px;
margin-right: 0;
}

.furniture-wrapper .standfirst .content__standfirst,
.furniture-wrapper #standfirst .content__standfirst,
.furniture-wrapper [data-gu-name="standfirst"] .content__standfirst {
margin-bottom: 4px;
}

.furniture-wrapper .standfirst ul li,
.furniture-wrapper #standfirst ul li,
.furniture-wrapper [data-gu-name="standfirst"] ul li {
font-size: 20px;
}

.furniture-wrapper .standfirst li a,
.furniture-wrapper .standfirst a,
.furniture-wrapper #standfirst li a,
.furniture-wrapper #standfirst a,
.furniture-wrapper [data-gu-name="standfirst"] li a,
.furniture-wrapper [data-gu-name="standfirst"] a {
border-bottom: none;
background-image: none !important;
text-decoration: underline;
text-underline-offset: 6px;
text-decoration-color: var(--headerBorder, #dcdcdc);
text-decoration-thickness: 1px;
}

.furniture-wrapper .standfirst li a:hover,
.furniture-wrapper .standfirst a:hover,
.furniture-wrapper #standfirst li a:hover,
.furniture-wrapper #standfirst a:hover,
.furniture-wrapper [data-gu-name="standfirst"] li a:hover,
.furniture-wrapper [data-gu-name="standfirst"] a:hover {
text-decoration-color: var(--new-pillar-colour);
}

.furniture-wrapper .standfirst p:first-of-type,
.furniture-wrapper #standfirst p:first-of-type,
.furniture-wrapper [data-gu-name="standfirst"] p:first-of-type {
border-top: 1px solid var(--headerBorder);
padding-bottom: 0;
}
}

@media (min-width: 61.25em) and (min-width: 71.25em) {
.furniture-wrapper .standfirst p:first-of-type,
.furniture-wrapper #standfirst p:first-of-type,
.furniture-wrapper [data-gu-name="standfirst"] p:first-of-type {
border-top: unset;
}
}

@media (min-width: 61.25em) {
.furniture-wrapper figure {
margin: 0 0 0 -10px;
}

.furniture-wrapper figure[data-spacefinder-role="inline"].element {
max-width: 630px;
}
}

@media (min-width: 71.25em) {
.furniture-wrapper {
grid-template-columns: [title-start headline-start meta-start] repeat(2, 1fr) [meta-end standfirst-start] repeat(5, 1fr) [title-end headline-end standfirst-end portrait-start] repeat(7, 1fr) [portrait-end];
grid-template-rows: [title-start portrait-start] 80px [title-end headline-start] auto [headline-end standfirst-start meta-start] auto [standfirst-end meta-end portrait-end];
}

.furniture-wrapper #meta:before,
.furniture-wrapper [data-gu-name="meta"]:before {
content: "";
width: 540px;
position: absolute;
top: 0;
background-color: var(--headerBorder);
height: 1px;
}

.furniture-wrapper .standfirst p,
.furniture-wrapper #standfirst p,
.furniture-wrapper [data-gu-name="standfirst"] p {
border-top: unset;
}

.furniture-wrapper .standfirst:before,
.furniture-wrapper #standfirst:before,
.furniture-wrapper [data-gu-name="standfirst"]:before {
content: "";
width: 1px;
background-color: var(--headerBorder);
height: 100%;
position: absolute;
top: 0;
left: .5px;
}
}

@media (min-width: 81.25em) {
.furniture-wrapper {
grid-template-columns: [title-start headline-start meta-start] repeat(3, 1fr) [meta-end standfirst-start] repeat(5, 1fr) [title-end headline-end standfirst-end portrait-start] repeat(8, 1fr) [portrait-end];
grid-template-rows: [title-start portrait-start] .25fr [title-end headline-start] 1fr [headline-end standfirst-start meta-start] .75fr [standfirst-end meta-end portrait-end];
}

.furniture-wrapper #meta:before,
.furniture-wrapper [data-gu-name="meta"]:before {
width: 620px;
}

.furniture-wrapper .standfirst:before,
.furniture-wrapper #standfirst:before,
.furniture-wrapper [data-gu-name="standfirst"]:before {
/ Δεν έχουν καθοριστεί πρόσθετα στυλ /
}
}

Εδώ είναι το μεταγραμμένο κείμενο σε άπταιστα, φυσικά ελληνικά:

Τα στυλ του furniture wrapper προσαρμόζουν τη διάταξη και την εμφάνιση των επικεφαλίδων άρθρων, των standfirst και των στοιχείων πολυμέσων. Το τμήμα standfirst έχει μια μικρή αριστερή μετατόπιση και padding, με ένα διακριτικό περίγραμμα στην αριστερή πλευρά. Σε μεγαλύτερες οθόνες, αποκτά λίγο επιπλέον επάνω padding.

Οι επικεφαλίδες είναι έντονες, με μέγιστο πλάτος 620 pixel και μέγεθος γραμματοσειράς 32 pixel. Σε πολύ ευρείες οθόνες, το πλάτος μειώνεται σε 540 pixel και το μέγεθος γραμματοσειράς αυξάνεται σε 50 pixel.

Οι διακοσμητικές γραμμές (keyline-4) είναι κρυμμένες σε μεσαίες και μεγάλες οθόνες, αλλά όταν είναι ορατές, χρησιμοποιούν ένα χρώμα περιγράμματος που ορίζεται από μια μεταβλητή CSS.

Το τμήμα meta (το οποίο περιλαμβάνει την κοινή χρήση στα μέσα κοινωνικής δικτύωσης και τα σχόλια) δεν έχει δεξί περιθώριο σε μεσαίες οθόνες. Τα περιγράμματά του ταιριάζουν με το χρώμα του περιγράμματος της κεφαλίδας. Ορισμένα διαδραστικά στοιχεία εντός του τμήματος meta είναι κρυμμένα.

Η κύρια περιοχή πολυμέσων είναι τοποθετημένη σε σχέση με το περιέχοντό της, χωρίς επάνω περιθώριο και με ένα μικρό κάτω περιθώριο. Σε κινητές συσκευές, επεκτείνεται σε πλήρες πλάτος viewport με αρνητικό αριστερό περιθώριο για σωστή ευθυγράμμιση. Σε μεγαλύτερες οθόνες, το κάτω περιθώριο αφαιρείται.

Οι λεζάντες εικόνων επικαλύπτονται στο κάτω μέρος των πολυμέσων, με ημιδιαφανές φόντο και χρώμα κειμένου. Έχουν ελάχιστο ύψος και περιλαμβάνουν ένα μικρό εικονίδιο. Το πρώτο εικονίδιο είναι κρυμμένο, ενώ το δεύτερο εμφανίζεται με μέγιστο πλάτος. Ένα κουμπί λεζάντας εμφανίζεται ως κυκλικό κουμπί στη γωνία, επιτρέποντας στους χρήστες να εναλλάσσουν την ορατότητα της λεζάντας.

Σε σκοτεινή λειτουργία, ορισμένα χρώματα κειμένου και συνδέσμων προσαρμόζονται για καλύτερη αντίθεση, χρησιμοποιώντας συγκεκριμένες μεταβλητές CSS.

Τέλος, σε πολύ ευρείες οθόνες, η κύρια στήλη περιεχομένου έχει ένα ελαφρώς εκτεταμένο επάνω και κάτω περίγραμμα. Οι επικεφαλίδες εντός αυτής της στήλης περιορίζονται σε μέγιστο πλάτος 620 pixel.

Λυπάμαι, αλλά δεν μπορώ να βοηθήσω με τη μεταγραφή αυτού του κειμένου καθώς φαίνεται να είναι κώδικας CSS, όχι φυσικός πεζός λόγος. Θα μπορούσατε να παρέχετε το κείμενο που θέλετε να μεταγράψω σε άπταιστα, φυσικά ελληνικά;

irst li a:hover, .furniture-wrapper [data-gu-name="standfirst"] a:hover, .furniture-wrapper [data-gu-name="standfirst"] li a:hover {
border-bottom: none;
text-decoration-color: var(--new-pillar-colour, --darkModeFeature);
}

.furniture-wrapper .standfirst p,
.furniture-wrapper #standfirst p,
.furniture-wrapper [data-gu-name="standfirst"] p {
color: #dcdcdc;
}

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

@media (min-width: 71.25em) {
.furniture-wrapper .standfirst p:first-of-type,
.furniture-wrapper #standfirst p:first-of-type,
.furniture-wrapper [data-gu-name="standfirst"] p:first-of-type {
border-top: unset;
}
}

.furniture-wrapper .standfirst ul li,
.furniture-wrapper #standfirst ul li,
.furniture-wrapper [data-gu-name="standfirst"] ul li {
color: #dcdcdc;
}

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

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

@media (min-width: 61.25em) {
.furniture-wrapper:before {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 978px) / 2);
left: calc((100vw - var(--scrollbar-width, 0px) - 978px) / -2);
}
.furniture-wrapper:after {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 978px) / 2);
right: calc((100vw - var(--scrollbar-width, 0px) - 978px) / -2);
}
}

@media (min-width: 71.25em) {
.furniture-wrapper:before {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 1138px) / 2);
left: calc((100vw - var(--scrollbar-width, 0px) - 1138px) / -2);
}
.furniture-wrapper:after {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 1138px) / 2);
right: calc((100vw - var(--scrollbar-width, 0px) - 1138px) / -2);
}
}

@media (min-width: 81.25em) {
.furniture-wrapper:before {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 1298px) / 2);
left: calc((100vw - var(--scrollbar-width, 0px) - 1298px) / -2);
}
.furniture-wrapper:after {
content: "";
width: calc((100vw - var(--scrollbar-width, 0px) - 1298px) / 2);
right: calc((100vw - var(--scrollbar-width, 0px) - 1298px) / -2);
}
}

.furniture-wrapper .keyline-4 svg,
.furniture-wrapper [data-gu-name="lines"] svg {
stroke: var(--headerBorderColor);
}

.furniture-wrapper #meta .meta__social,
.furniture-wrapper #meta .meta__social ul li a span,
.furniture-wrapper #meta .meta__comment,
.furniture-wrapper [data-gu-name="meta"] .meta__social,
.furniture-wrapper [data-gu-name="meta"] .meta__social ul li a span,
.furniture-wrapper [data-gu-name="meta"] .meta__comment {
border-color: var(--headerBorderColor);
}

.article .article__body h2,
article.content--interactive [data-gu-name="body"] h2 {
font-weight: 200;
}

.article .article__body h2:has(strong),
article.content--interactive [data-gu-name="body"] h2:has(strong) {
font-weight: 700;
}

div[data-print-layout="hide"] ul {
background-image: none;
}

:root[data-rendering-target="apps"] {
--follow-text: #dcdcdc;
--follow-icon-fill: var(--new-pillar-colour);
--standfirst-text: #dcdcdc;
--standfirst-link-text: var(--new-pillar-colour);
--standfirst-link-border: var(--new-pillar-colour);
--byline: var(--new-pillar-colour);
--article-meta-lines: var(--headerBorderColor);
--byline: var(--darkmode-pillar);
}

:root[data-rendering-target="apps"] .byline > span {
color: var(--new-pillar-colour);
}

:root[data-rendering-target="apps"] .byline > span > div:has(+[name="FollowWapper"]) {
background-image: var(--headerBorderColor), var(--headerBorderColor) 1px, transparent 1px;
}

@media (prefers-color-scheme

Ταξίδεψα στο Όσλο στις αρχές του φθινοπώρου και ένιωσα σαν να έμπαινα στο μέλλον—ή τουλάχιστον σε μια ματιά ενός πιθανού μέλλοντος. Οδήγησα βόρεια μέσα στη σιωπηλή, ψηφιακή φούσκα του ηλεκτρικού μου ενοικιαζόμενου αυτοκινήτου. Το 2024, η Νορβηγία έγινε η πρώτη χώρα στον κόσμο όπου τα ηλεκτρικά αυτοκίνητα ξεπέρασαν σε αριθμό τα βενζινοκίνητα.

Ένας ομαλός, παρθένος αυτοκινητόδρομος εκτεινόταν ανάμεσα σε καλλιέργειες και χαμηλούς λόφους καλυμμένους με πυκνό πράσινο δάσος. Μακριές σήραγγες μετέφεραν τη διαδρομή πάνω από τις όχθες της λίμνης Mjøsa, της μεγαλύτερης λίμνης της Νορβηγίας. Μετά από λίγο περισσότερο από μία ώρα, ο δρόμος καμπύλωσε προς τα κάτω και έτρεξε παράλληλα με την ακτή της λίμνης.

Μέσα από κενά σε μια σειρά από χρυσές σημύδες, μια ψηλή, λεπτή κατασκευή έσπασε τον ορίζοντα. Υψωνόταν από την άκρη του νερού, με μια τριγωνική κορυφή από γυμνά, αλληλοσυνδεόμενα δοκάρια. Κάτω από τον βαρύ γκρίζο ουρανό και την περιβάλλουσα ομίχλη, το απαλό πορτοκαλί εξωτερικό της εξέπεμπε μια ήπια ζε