/* TrillionEuro — Beat Elon. Editorial archive design system. */
@font-face{font-family:"Fraunces";src:url(/assets/te/fonts/fraunces-latin-opsz-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fraunces";src:url(/assets/te/fonts/fraunces-latin-ext-opsz-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Fraunces";src:url(/assets/te/fonts/fraunces-latin-opsz-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(/assets/te/fonts/inter-tight-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Tight";src:url(/assets/te/fonts/inter-tight-latin-ext-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+20A0-20C0,U+2C60-2C7F,U+A720-A7FF}

:root{
  --ink:#0a0a0c; --ink-2:#121216; --ink-3:#1b1b21; --line:#2a2a31; --line-2:#3a3a43;
  --ivory:#f3ede2; --ivory-2:#d9d2c4; --mute:#a39d92; --mute-2:#8f8a80;
  --gold:#c9a45c; --gold-2:#e2c88f; --gold-deep:#8f7238; --danger:#e07a6a; --ok:#9cc59a;
  --serif:"Fraunces",ui-serif,Georgia,"Noto Serif",serif;
  --sans:"Inter Tight",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif;
  --mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --wrap:1180px; --gutter:clamp(16px,4vw,40px); --radius:4px;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--ivory);font:400 17px/1.6 var(--sans);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg,canvas,video{max-width:100%;display:block}
a{color:inherit;text-decoration-color:var(--gold-deep);text-underline-offset:3px}
a:hover{color:var(--gold-2)}
:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px;border-radius:2px}
::selection{background:var(--gold);color:var(--ink)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--gold);color:var(--ink);padding:10px 14px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:760px}

/* ── Header ─────────────────────────────────────── */
.site-head{position:sticky;top:0;z-index:40;background:rgba(10,10,12,.86);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;gap:20px;height:64px}
.brand{display:flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--ivory);white-space:nowrap}
.brand-mark{font:600 20px/1 var(--serif);letter-spacing:-.01em}
.brand-mark b{color:var(--gold);font-weight:600}
.brand-sub{font:600 10px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.nav a{font:500 14px/1 var(--sans);color:var(--ivory-2);text-decoration:none;padding:10px 12px;border-radius:var(--radius)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--ivory);background:var(--ink-3)}
.nav .btn{margin-left:8px}
.nav a.btn-gold,.nav a.btn-gold:hover{color:var(--ink);background:var(--gold)}
.nav a.btn-gold:hover{background:var(--gold-2)}
.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line-2);color:var(--ivory);padding:9px 12px;font:600 13px var(--sans);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius);cursor:pointer}
@media (max-width:900px){
  .nav-toggle{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:64px;flex-direction:column;align-items:stretch;background:var(--ink);border-bottom:1px solid var(--line);padding:8px var(--gutter) 18px}
  .nav.open{display:flex}
  .nav a{padding:14px 4px;font-size:17px;border-bottom:1px solid var(--line);border-radius:0}
  .nav .btn{margin:14px 0 0;text-align:center;justify-content:center}
}

/* ── Type ───────────────────────────────────────── */
.kicker{font:600 11px/1.2 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
h1,h2,h3,.display{font-family:var(--serif);font-weight:500;letter-spacing:-.02em;line-height:1.02;margin:0;font-variation-settings:"opsz" 144}
h1{font-size:clamp(44px,8vw,96px)}
h2{font-size:clamp(32px,5vw,56px)}
h3{font-size:clamp(21px,2.4vw,26px);line-height:1.2;letter-spacing:-.01em;font-variation-settings:"opsz" 36}
p{margin:0 0 1em}
.lede{font-size:clamp(18px,2vw,21px);line-height:1.55;color:var(--ivory-2);max-width:62ch}
.muted{color:var(--mute)}
.small{font-size:14px}
.num{font-variant-numeric:tabular-nums lining-nums}
.gold{color:var(--gold)}
.rule{height:1px;background:linear-gradient(90deg,var(--gold-deep),transparent);border:0;margin:0}
.prose{max-width:68ch}
.prose h2{font-size:clamp(26px,3.4vw,36px);margin:2.2em 0 .6em}
.prose h3{margin:1.8em 0 .5em}
.prose p,.prose li{color:var(--ivory-2)}
.prose ul,.prose ol{padding-left:1.2em}
.prose li{margin:.4em 0}
.prose strong{color:var(--ivory)}
.prose table{border-collapse:collapse;width:100%;font-size:15px;margin:1em 0}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top}

/* ── Buttons & forms ────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:10px;font:600 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:17px 24px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-gold:hover{background:var(--gold-2);color:var(--ink)}
.btn-line{border-color:var(--line-2);color:var(--ivory);background:transparent}
.btn-line:hover{border-color:var(--gold);color:var(--gold-2)}
.btn-sm{padding:11px 14px;font-size:11px}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.btn:active{transform:translateY(1px)}
label{display:block;font:600 13px/1.3 var(--sans);letter-spacing:.04em;color:var(--ivory-2);margin-bottom:8px}
.hint{font-size:13px;color:var(--mute);margin-top:6px}
input[type=text],input[type=email],input[type=search],input[type=number],input[type=date],input[type=datetime-local],input[type=url],input[type=password],select,textarea{width:100%;background:var(--ink-2);color:var(--ivory);border:1px solid var(--line-2);border-radius:var(--radius);padding:14px 14px;font:400 16px/1.4 var(--sans);transition:border-color .15s}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px rgba(201,164,92,.18)}
[aria-invalid="true"]{border-color:var(--danger)!important}
.field{margin-bottom:22px}
.err{color:var(--danger);font-size:14px;margin-top:6px}
.check{display:flex;gap:12px;align-items:flex-start;font:400 15px/1.5 var(--sans);color:var(--ivory-2);margin-bottom:14px;letter-spacing:0}
.check input{width:20px;height:20px;margin-top:2px;accent-color:var(--gold);flex:none}
.notice{border:1px solid var(--line-2);border-left:3px solid var(--gold);background:var(--ink-2);padding:16px 18px;border-radius:var(--radius);color:var(--ivory-2);font-size:15px}
.notice.warn{border-left-color:var(--danger)}
.notice.ok{border-left-color:var(--ok)}
.notice strong{color:var(--ivory)}

/* ── Sections ───────────────────────────────────── */
section{padding:clamp(64px,10vw,128px) 0;border-top:1px solid var(--line)}
section.first{border-top:0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.sec-head h2{max-width:16ch}
.page-head{padding:clamp(56px,9vw,112px) 0 clamp(32px,5vw,56px)}
.page-head h1{font-size:clamp(40px,7vw,80px);margin:16px 0 20px}

/* ── Hero ───────────────────────────────────────── */
.hero{position:relative;padding:clamp(72px,12vw,150px) 0 clamp(56px,8vw,96px);overflow:hidden;border-top:0}
.hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:70vw;height:70vw;max-width:900px;max-height:900px;background:radial-gradient(closest-side,rgba(201,164,92,.13),transparent 70%);pointer-events:none}
.hero h1{font-size:clamp(68px,15vw,208px);line-height:.88;letter-spacing:-.045em;font-weight:500;margin:22px 0 26px}
.hero h1 .dot{color:var(--gold)}
.hero .tag{font:italic 400 clamp(22px,3vw,34px)/1.25 var(--serif);color:var(--ivory);margin-bottom:22px}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin:34px 0 26px}
.disclose{font-size:13px;color:var(--mute);max-width:70ch;border-top:1px solid var(--line);padding-top:16px}

/* Distance rule — €0 to €1T */
.distance{margin-top:56px}
.distance-bar{position:relative;height:2px;background:var(--line-2);margin:18px 0 12px}
.distance-bar i{position:absolute;left:0;top:-1px;height:4px;background:var(--gold);box-shadow:0 0 18px rgba(201,164,92,.6);min-width:4px;width:0;transition:width 1.6s cubic-bezier(.2,.7,.1,1)}
.distance-ends{display:flex;justify-content:space-between;font:500 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}

/* ── Stats ──────────────────────────────────────── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{padding:28px 22px;border-left:1px solid var(--line)}
.stat:first-child{border-left:0;padding-left:0}
.stat .v{font:500 clamp(30px,4vw,48px)/1 var(--serif);letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums}
.stat .l{font:600 11px/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-top:12px}
.stat .s{font-size:13px;color:var(--mute-2);margin-top:6px}
.stat .v.pending{font-size:clamp(18px,2vw,22px);font-style:italic;color:var(--mute);line-height:1.2}
@media (max-width:820px){.stats{grid-template-columns:1fr 1fr}.stat:nth-child(3){border-left:0;padding-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}}

/* ── Record cards ───────────────────────────────── */
.ledger{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.entry{background:var(--ink);padding:26px 24px 22px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ivory);min-height:220px;position:relative;transition:background .25s}
.entry:hover{background:var(--ink-2);color:var(--ivory)}
.entry:hover .entry-no{color:var(--gold-2)}
.entry-no{font:500 13px/1 var(--mono);letter-spacing:.08em;color:var(--gold);font-variant-numeric:tabular-nums}
.entry-nick{font:500 26px/1.1 var(--serif);letter-spacing:-.015em;overflow-wrap:anywhere}
.entry-real{font-size:13px;color:var(--mute);margin-top:-6px}
.entry-msg{font:italic 400 16px/1.45 var(--serif);color:var(--ivory-2);overflow-wrap:anywhere;flex:1}
.entry-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--mute);letter-spacing:.06em;border-top:1px solid var(--line);padding-top:12px}
.flag{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-style:normal}
.badge{display:inline-block;font:600 10px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--gold-deep);color:var(--gold-2);padding:5px 7px;border-radius:2px}
.skeleton{background:linear-gradient(90deg,var(--ink-2),var(--ink-3),var(--ink-2));background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:2px}
@keyframes shimmer{to{background-position:-200% 0}}
.empty{border:1px dashed var(--line-2);padding:clamp(32px,6vw,64px);text-align:center;color:var(--ivory-2)}
.empty h3{margin-bottom:12px}

.toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:24px}
@media (max-width:720px){.toolbar{grid-template-columns:1fr 1fr}.toolbar .q{grid-column:1/-1}}
.pager{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:32px}

/* ── World ──────────────────────────────────────── */
.world{position:relative;border:1px solid var(--line);background:radial-gradient(ellipse at 50% 40%,#15151a,var(--ink) 70%);aspect-ratio:2/1;overflow:hidden}
.world svg{width:100%;height:100%}
.world .grat{stroke:#1f1f26;stroke-width:.4;fill:none}
.world .c{fill:#3a3a43;transition:fill .3s}
.world .c.on{fill:var(--gold)}
.world .halo{fill:var(--gold);opacity:.16}
.world .c:hover,.world .c:focus{fill:var(--gold-2);outline:none}
.world-tip{position:absolute;pointer-events:none;background:var(--ivory);color:var(--ink);font:600 13px/1.3 var(--sans);padding:8px 10px;border-radius:2px;transform:translate(-50%,-130%);white-space:nowrap;opacity:0;transition:opacity .15s}
.split{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr}}

/* ── Tables ─────────────────────────────────────── */
.table-wrap{overflow-x:auto;border:1px solid var(--line)}
table.data{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
table.data th{font:600 11px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);text-align:left;padding:14px 14px;border-bottom:1px solid var(--line-2);background:var(--ink-2);position:sticky;top:0}
table.data td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
table.data tr:hover td{background:var(--ink-2)}
table.data td.r,table.data th.r{text-align:right;font-variant-numeric:tabular-nums}
.mv-up{color:var(--ok)} .mv-down{color:var(--danger)}

/* ── Timeline ───────────────────────────────────── */
.timeline{list-style:none;margin:0;padding:0;border-left:1px solid var(--line-2)}
.timeline li{position:relative;padding:0 0 36px 32px}
.timeline li::before{content:"";position:absolute;left:-5px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--ink);border:1px solid var(--gold)}
.timeline li.setback::before{border-color:var(--danger)}
.timeline time{font:500 12px/1 var(--mono);color:var(--gold);letter-spacing:.06em}
.timeline h3{margin:8px 0 6px}

/* ── Journal ────────────────────────────────────── */
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px}
.post{text-decoration:none;color:var(--ivory);display:block;border-top:1px solid var(--line-2);padding-top:20px}
.post h3{margin:10px 0}
.post:hover h3{color:var(--gold-2)}
.post img{aspect-ratio:16/9;object-fit:cover;width:100%;margin-bottom:16px;filter:grayscale(.2)}
.article-body{font:400 19px/1.75 var(--serif);color:var(--ivory-2);max-width:66ch}
.article-body p{margin:0 0 1.2em}

/* ── Join flow ──────────────────────────────────── */
.steps{display:flex;gap:6px;margin:0 0 36px;padding:0;list-style:none}
.steps li{flex:1;height:3px;background:var(--line-2);border-radius:2px;transition:background .3s}
.steps li.done{background:var(--gold-deep)} .steps li.now{background:var(--gold)}
.step-label{font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:14px}
.join-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
@media (max-width:960px){.join-grid{grid-template-columns:1fr}.join-aside{order:-1}}
.step h2{font-size:clamp(30px,4.4vw,48px);margin-bottom:16px}
.step-nav{display:flex;gap:12px;justify-content:space-between;margin-top:36px;flex-wrap:wrap}
.counter{font-size:13px;color:var(--mute);text-align:right;margin-top:6px}
.price-box{border:1px solid var(--gold-deep);padding:24px;background:linear-gradient(180deg,rgba(201,164,92,.06),transparent)}
.price-box .amount{font:500 52px/1 var(--serif);letter-spacing:-.02em}
.list-x{list-style:none;padding:0;margin:0}
.list-x li{padding:9px 0 9px 26px;position:relative;border-bottom:1px solid var(--line);color:var(--ivory-2);font-size:15px}
.list-x li::before{content:"✓";position:absolute;left:0;color:var(--gold)}
.list-x.no li::before{content:"✕";color:var(--danger)}

/* ── Certificate ────────────────────────────────── */
.cert{position:relative;aspect-ratio:1.414/1;background:#f5efe3;color:#141414;padding:5.5%;container-type:inline-size;box-shadow:0 30px 80px rgba(0,0,0,.55);overflow:hidden}
.cert::before{content:"";position:absolute;inset:2.4%;border:1px solid #b99852;pointer-events:none}
.cert::after{content:"";position:absolute;inset:3.2%;border:.5px solid #cdb78a;pointer-events:none}
.cert-in{position:relative;height:100%;display:flex;flex-direction:column;text-align:center;align-items:center}
.cert-top{font:600 2.1cqw/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:#7d6430}
.cert-title{font:500 6.6cqw/1 var(--serif);letter-spacing:-.02em;margin:2.6cqw 0 .8cqw}
.cert-sub{font:italic 400 2.3cqw/1.2 var(--serif);color:#5d5446}
.cert-no{font:500 2.4cqw/1 var(--mono);letter-spacing:.12em;color:#7d6430;margin-top:3cqw}
.cert-nick{font:500 5.4cqw/1.05 var(--serif);margin:1.2cqw 0 .6cqw;overflow-wrap:anywhere;max-width:90%}
.cert-real{font:400 1.9cqw/1.2 var(--sans);color:#5d5446}
.cert-msg{font:italic 400 2.2cqw/1.4 var(--serif);color:#2e2a24;max-width:78%;margin-top:2cqw;overflow-wrap:anywhere}
.cert-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;width:100%;font:500 1.5cqw/1.4 var(--sans);color:#5d5446;text-align:left}
.cert-foot .qr{width:9cqw;height:9cqw}
.cert-preview-tag{position:absolute;top:4%;right:-9%;transform:rotate(35deg);background:#141414;color:#f5efe3;font:700 1.6cqw/1 var(--sans);letter-spacing:.3em;padding:1cqw 12cqw;z-index:2}

.share-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}

/* ── Footer ─────────────────────────────────────── */
.site-foot{border-top:1px solid var(--line);padding:64px 0 48px;color:var(--mute);font-size:14px;margin-top:40px}
.foot-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:32px}
.foot-grid h4{font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-2);margin:0 0 16px}
.foot-grid ul{list-style:none;margin:0;padding:0}
.foot-grid li{margin:0 0 10px}
.foot-grid a{color:var(--mute);text-decoration:none}
.foot-grid a:hover{color:var(--gold-2)}
.foot-legal{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font-size:12px;line-height:1.7;color:var(--mute-2)}
@media (max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:first-child{grid-column:1/-1}}

/* ── Admin ──────────────────────────────────────── */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:28px;overflow-x:auto}
.tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--mute);font:600 13px var(--sans);letter-spacing:.06em;padding:12px 14px;cursor:pointer;white-space:nowrap}
.tabs button[aria-selected="true"]{color:var(--ivory);border-bottom-color:var(--gold)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:700px){.grid2{grid-template-columns:1fr}}
.card{border:1px solid var(--line);background:var(--ink-2);padding:20px;border-radius:var(--radius)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--ivory);color:var(--ink);padding:12px 18px;font:600 14px var(--sans);border-radius:var(--radius);opacity:0;transition:.25s;z-index:200;pointer-events:none;max-width:calc(100% - 32px)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ── Motion ─────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.1,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

/* ── Print (certificate) ────────────────────────── */
@media print{
  @page{size:A4 landscape;margin:0}
  body{background:#fff}
  body *{visibility:hidden}
  .cert,.cert *{visibility:visible}
  .cert{position:fixed;inset:0;width:100vw;height:auto;box-shadow:none}
}
.cert-msg{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.cert-nick{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.entry-msg{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
