/* phpBB Sverige – Portal. Sinom via phpBB Sverige, GPL-2.0-only.
   All page surfaces inherit the forum palette. No body/wrap/background override. */
.se-portal { --sep-ink:var(--se-text,#243747); --sep-muted:var(--se-muted,#536779); --sep-link:var(--se-link,#145e8c); --sep-primary:var(--se-primary,#125580); --sep-surface:var(--se-surface,#fff); --sep-alt:var(--se-alt,#eef4f8); --sep-border:var(--se-border,#cbd8e2); --sep-gold:#f1c96d; color:var(--sep-ink); font-size:14px; line-height:1.55; padding:4px 0 16px; }
.se-portal *, .se-portal *::before, .se-portal *::after { box-sizing:border-box; }
.se-portal h2,.se-portal h3,.se-portal h4,.se-portal p { font-family:inherit; color:inherit; padding:0; border:0; text-transform:none; }
.se-portal a { color:var(--sep-link); }
.sep-welcome { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 28px; border:1px solid var(--sep-border); border-radius:12px; background:linear-gradient(110deg,var(--sep-alt),var(--sep-surface)); margin-bottom:14px; overflow:hidden; }
.se-portal .sep-eyebrow { font-size:11px; font-weight:750; letter-spacing:.11em; text-transform:uppercase; color:var(--sep-muted); margin:0 0 7px; }
.se-portal h2 { font-size:clamp(25px,3vw,36px); line-height:1.18; font-weight:750; margin:0 0 12px; letter-spacing:-.025em; }
.se-portal .sep-intro { max-width:660px; margin:0; white-space:pre-line; font-size:15px; }
.sep-hero-art { flex:0 0 190px; width:190px; height:138px; object-fit:contain; }
.sep-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 24px; }
.se-portal .sep-actions a { display:flex; gap:14px; align-items:center; padding:15px 18px; border:1px solid #326687; border-radius:9px; background:linear-gradient(145deg,var(--sep-primary),#092b43); color:#fff; font-size:15px; font-weight:650; text-decoration:none; transition:border-color .18s,box-shadow .18s,transform .18s; }
.sep-actions .icon:first-child { color:var(--sep-gold); font-size:23px; width:25px; text-align:center; }
.sep-actions span { flex:1; }
.se-portal .sep-actions a:hover { border-color:var(--sep-gold); box-shadow:inset 0 0 0 1px var(--sep-gold),0 4px 14px #122e4315; transform:translateY(-1px); }
.sep-columns { display:grid; grid-template-columns:minmax(0,2fr) minmax(265px,1fr); gap:18px; align-items:start; margin-bottom:22px; }
.sep-columns.sep-single { grid-template-columns:minmax(0,1fr); }
.sep-box { border:1px solid var(--sep-border); border-radius:11px; background:var(--sep-surface); overflow:hidden; min-width:0; }
.sep-section-head { display:flex; gap:12px; justify-content:space-between; align-items:center; padding:12px 18px; background:var(--sep-alt); border-bottom:1px solid var(--sep-border); }
.se-portal h3 { font-size:17px; font-weight:700; line-height:1.35; margin:0; }
.sep-section-head>a { white-space:nowrap; font-size:12px; }
.sep-news-item { padding:20px; border-bottom:1px solid var(--sep-border); }
.sep-news-item:last-child { border:0; }
.sep-badge { display:inline-block; background:var(--sep-alt); color:var(--sep-link); border:1px solid var(--sep-border); border-radius:20px; padding:2px 9px; font-size:11px; font-weight:650; margin-bottom:8px; }
.se-portal h4 { font-size:21px; line-height:1.3; font-weight:700; margin:0 0 9px; }
.se-portal h4 a { text-decoration:none; }
.se-portal h4 a:hover { text-decoration:underline; }
.sep-news-copy>p { margin:0 0 16px; overflow-wrap:anywhere; }
.sep-news-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
.sep-meta { color:var(--sep-muted); font-size:12px; }
.sep-read { font-size:13px; font-weight:650; }
.sep-aside { display:grid; gap:16px; min-width:0; }
.sep-guides { list-style:none; padding:0 16px; margin:0; }
.sep-guides li { border-bottom:1px solid var(--sep-border); }
.sep-guides li:last-child { border:0; }
.sep-guides a { display:flex; align-items:center; gap:12px; padding:16px 0; text-decoration:none; }
.sep-guides a:hover span { text-decoration:underline; }
.sep-guides .icon { font-size:19px; }
.sep-guides span { flex:1; }
.sep-download-card { padding:22px; border-radius:11px; background:linear-gradient(130deg,var(--sep-primary),#092b43); color:#fff; }
.se-portal .sep-download-card h3 { color:#fff; font-size:22px; }
.se-portal .sep-download-card p { margin:8px 0 20px; color:#fff; }
.se-portal .sep-gold-button { display:inline-block; padding:9px 14px; color:#153c56; background:linear-gradient(#ffe6a5,#efc464); border:1px solid #e6be65; border-radius:7px; font-weight:700; text-decoration:none; }
.se-portal .sep-gold-button:hover { background:#ffdf8d; color:#092b43; }
.sep-activity { margin-bottom:20px; }
.sep-activity-list { list-style:none; padding:0; margin:0; }
.sep-activity-list li { display:flex; gap:14px; align-items:center; padding:13px 18px; border-bottom:1px solid var(--sep-border); }
.sep-activity-list li:nth-child(even) { background:var(--sep-alt); }
.sep-activity-list li:last-child { border:0; }
.sep-activity-list li:hover { box-shadow:inset 3px 0 0 var(--sep-gold); }
.sep-initial { flex:0 0 38px; width:38px; height:38px; display:grid; place-items:center; color:#fff; background:linear-gradient(140deg,var(--sep-primary),#234960); border-radius:50%; font-size:18px; font-weight:650; }
.sep-topic { flex:1; min-width:0; }
.sep-topic>a { display:block; font-weight:650; font-size:14px; overflow-wrap:anywhere; }
.sep-topic .sep-meta { display:block; margin-top:2px; }
.sep-last { min-width:150px; text-align:right; font-size:12px; }
.sep-last time { display:block; font-size:11px; color:var(--sep-muted); }
.sep-replies { width:64px; text-align:right; color:var(--sep-muted); font-size:12px; }
.sep-community { padding:18px 20px; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.se-portal .sep-community p { margin:7px 0 0; font-size:12px; }
.sep-community-link { font-weight:650; white-space:nowrap; }
.sep-birthdays { margin-top:14px; padding:17px 20px; display:flex; gap:16px; align-items:center; border:1px solid #d8b86f; border-radius:11px; background:linear-gradient(110deg,#fff3d1,#fff9ec); color:#5c4115; }
.sep-birthdays>.icon { font-size:34px; color:#946019; }
.se-portal .sep-birthdays p { margin:5px 0 0; }
.sep-empty { padding:20px; color:var(--sep-muted); margin:0; }
.se-portal a:focus-visible { outline:3px solid var(--sep-link); outline-offset:3px; }
@media(max-width:900px) { .sep-columns { grid-template-columns:minmax(0,1fr); } .sep-aside { grid-template-columns:repeat(2,minmax(0,1fr)); } .sep-actions a { padding:12px; gap:8px; } .sep-actions .icon:first-child { font-size:20px; } }
@media(max-width:650px) { .sep-welcome { padding:22px 18px; } .sep-hero-art { display:none; } .sep-actions { grid-template-columns:minmax(0,1fr); gap:8px; margin-bottom:18px; } .sep-aside { grid-template-columns:minmax(0,1fr); } .sep-news-item { padding:16px; } .sep-section-head { padding:12px 14px; flex-wrap:wrap; } .sep-activity-list li { flex-wrap:wrap; gap:8px 10px; padding:12px 14px; } .sep-last { min-width:0; flex:1 0 calc(100% - 50px); padding-left:48px; text-align:left; } .sep-last time { display:inline; margin-left:8px; } .sep-replies { display:none; } .sep-community { align-items:start; flex-direction:column; } .sep-community-link { white-space:normal; } }
@media(prefers-reduced-motion:reduce) { .se-portal .sep-actions a { transition:none; } .se-portal .sep-actions a:hover { transform:none; } }

.se-portal h2, .se-portal h4, .se-portal .sep-intro { overflow-wrap:anywhere; }
.sep-welcome>div { min-width:0; }

/* Startsida beta2: year-round phpBB artwork, compact news and stronger interaction. */
.sep-welcome {
    position:relative;
    isolation:isolate;
    min-height:206px;
    padding:30px 34px;
    border-color:#b9d3e4;
    background:#edf6fb url('./images/welcome-background.png') center right / cover no-repeat;
    box-shadow:0 5px 18px #153e5b0b;
    gap:28px;
}
.sep-welcome::after {
    content:""; position:absolute; inset:0; z-index:-1;
    background:linear-gradient(90deg,#f3f9fef7 0%,#f3f9feed 43%,#f3f9fe88 66%,#f3f9fe00 100%);
    pointer-events:none;
}
.sep-welcome::before {
    content:""; position:absolute; bottom:0; left:34px; width:120px; height:3px;
    background:linear-gradient(90deg,#e9b644,#f4d789,transparent); pointer-events:none;
}
.sep-welcome-copy { position:relative; z-index:1; flex:1; max-width:72%; }
.se-portal .sep-welcome h2 { color:#16374f; margin-bottom:12px; font-size:clamp(26px,3.1vw,38px); }
.se-portal .sep-welcome .sep-eyebrow { color:#3c5c72; letter-spacing:.1em; }
.se-portal .sep-welcome .sep-intro { color:#2c4b60; max-width:630px; }
.sep-hero-brand { position:relative; z-index:0; flex:0 0 192px; display:grid; place-items:center; align-self:stretch; }
.sep-hero-brand::before { content:""; position:absolute; width:180px; height:150px; border-radius:50%; background:radial-gradient(ellipse,#fff6d4b3,transparent 68%); }
.sep-hero-brand img { position:relative; width:156px; height:156px; object-fit:contain; filter:drop-shadow(0 12px 12px #0b4a7430); transform:rotate(-5deg); }
.sep-welcome:hover .sep-hero-brand img { transform:translateY(-3px) rotate(0deg); }
.sep-hero-brand img { transition:transform .6s cubic-bezier(.2,.75,.25,1); }
.se-portal .sep-actions a {
    position:relative; overflow:hidden; isolation:isolate;
    transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background-color .24s ease;
}
.sep-actions a::before {
    content:""; position:absolute; inset:0; z-index:-1; opacity:0; pointer-events:none;
    background:linear-gradient(115deg,#ffffff12,#f1c96d1c); transition:opacity .24s ease;
}
.sep-actions a::after {
    content:""; position:absolute; top:-45%; left:-70%; width:48%; height:190%;
    background:linear-gradient(90deg,transparent,#ffe5a34d,transparent); transform:skewX(-22deg); pointer-events:none;
}
.se-portal .sep-actions a:is(:hover,:focus-visible) {
    border-color:#edc66c; transform:translateY(-3px);
    box-shadow:inset 0 0 0 1px #f4d486,0 7px 18px #173e5726,0 0 12px #f1c96d16;
    color:#fff;
}
.sep-actions a:is(:hover,:focus-visible)::before { opacity:1; }
.sep-actions a:is(:hover,:focus-visible)::after { animation:sep-button-sheen .72s ease-out both; }
.sep-actions a .icon:first-child { transition:transform .24s ease,filter .24s ease; }
.sep-actions a:is(:hover,:focus-visible) .icon:first-child { transform:translateY(-2px) scale(1.12); filter:drop-shadow(0 0 5px #f1c96da6); }
.sep-actions a .icon:last-child { transition:transform .24s ease; }
.sep-actions a:is(:hover,:focus-visible) .icon:last-child { transform:translateX(4px); }
@keyframes sep-button-sheen { from{left:-70%} to{left:150%} }
.sep-guides { padding:4px 10px; }
.sep-guides li { border-color:transparent; }
.sep-guides a { position:relative; padding:14px 10px; margin:2px 0; border:1px solid transparent; border-radius:7px; transition:background .22s ease,border-color .22s ease,box-shadow .22s ease; }
.sep-guides a .icon:first-child { width:24px; text-align:center; transition:transform .28s ease,color .28s ease,filter .28s ease; }
.sep-guides a .icon:last-child { transition:transform .25s ease; }
.sep-guides a span { transition:transform .25s ease; }
.sep-guides a:is(:hover,:focus-visible) { background:var(--sep-alt); border-color:var(--sep-border); box-shadow:inset 3px 0 0 #eac56e; text-decoration:none; }
.sep-guides a:is(:hover,:focus-visible) span { transform:translateX(3px); text-decoration:none; }
.sep-guides a:is(:hover,:focus-visible) .icon:first-child { transform:translateY(-2px) rotate(-6deg); filter:drop-shadow(0 2px 2px #145e8c20); }
.sep-guides a:is(:hover,:focus-visible) .icon:last-child { transform:translateX(4px); }
.sep-news-item { position:relative; padding:16px 20px 17px; transition:background-color .22s ease,box-shadow .22s ease; }
.sep-news-item::before { content:""; position:absolute; left:0; top:16px; bottom:16px; width:3px; background:#eac56e; border-radius:0 3px 3px 0; transform:scaleY(0); transition:transform .25s ease; }
.sep-news-item:is(:hover,:focus-within) { background:var(--sep-alt); }
.sep-news-item:is(:hover,:focus-within)::before { transform:scaleY(1); }
.sep-news-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 12px; margin:0 0 9px; }
.sep-news-meta .sep-badge { margin:0; font-size:10px; padding:1px 8px; }
.sep-news-meta .sep-meta { font-size:11px; }
.sep-news-meta .sep-meta-dot { padding:0 3px; }
.se-portal .sep-news-item h4 { font-size:19px; margin:0 0 8px; }
.sep-news-summary { display:flex; gap:16px; align-items:flex-end; }
.sep-news-summary p { flex:1; min-width:0; font-size:13px; line-height:1.55; margin:0; overflow-wrap:anywhere; }
.sep-news-summary .sep-read { flex:0 0 auto; white-space:nowrap; font-size:12px; text-decoration:none; font-weight:700; padding:4px 0; }
.sep-read>span { display:inline-block; transition:transform .23s ease; }
.sep-news-item:is(:hover,:focus-within) .sep-read>span { transform:translateX(4px); }
.se-portal .sep-read:hover { text-decoration:underline; }
@media(max-width:900px) { .sep-welcome { padding:26px; } .sep-hero-brand { flex-basis:140px; } .sep-hero-brand img { width:130px; height:130px; } .sep-welcome-copy { max-width:none; } }
@media(max-width:650px) {
    .sep-welcome { padding:22px 18px; min-height:0; display:block; background-position:68% center; }
    .sep-welcome::after { background:linear-gradient(90deg,#f3f9fef7 0%,#f3f9feeb 65%,#f3f9feb3 100%); }
    .sep-welcome-copy { max-width:none; }
    .se-portal .sep-welcome .sep-eyebrow { padding-right:48px; font-size:9px; }
    .se-portal .sep-welcome h2 { padding-right:45px; font-size:27px; }
    .se-portal .sep-welcome .sep-intro { font-size:14px; }
    .sep-hero-brand { position:absolute; top:18px; right:8px; width:64px; height:74px; opacity:.9; }
    .sep-hero-brand img { width:64px; height:64px; }
    .sep-hero-brand::before { width:80px; height:80px; }
    .sep-news-meta { justify-content:flex-start; gap:5px 10px; }
    .sep-news-summary { flex-direction:column; align-items:stretch; gap:7px; }
    .sep-news-summary .sep-read { align-self:flex-end; }
    .sep-news-item { padding:14px 16px; }
}
@media(prefers-reduced-motion:reduce) {
    .sep-hero-brand img,.sep-guides a,.sep-guides a span,.sep-guides .icon,.sep-news-item,.sep-news-item::before,.sep-read>span,.sep-actions a,.sep-actions a::before,.sep-actions a .icon { transition:none !important; animation:none !important; }
    .sep-actions a::after { display:none; }
    .se-portal .sep-actions a:is(:hover,:focus-visible),.sep-welcome:hover .sep-hero-brand img,.sep-guides a:is(:hover,:focus-visible) span,.sep-guides a:is(:hover,:focus-visible) .icon { transform:none; }
}
