:root{color-scheme:light;--forest:#195b45;--pine:#267354;--green:#519470;--sage:#b7d5c1;--mint:#eff7f0;--cream:#fbfcf8;--ink:#263a31;--muted:#60766b;--line:#d7e6da;--white:#fff;--shadow:0 22px 68px #164b3012}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 0% 0%,#e1eee4 0%,transparent 36%),radial-gradient(ellipse at 100% 75%,#e1f0e7 0%,transparent 40%),var(--cream);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink)}
a{color:inherit;text-decoration:none}button,input{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #4e9875;outline-offset:3px}
.wrap{width:min(1200px,calc(100% - 44px));margin:auto}
.header{position:sticky;top:0;z-index:20;background:#fbfcf8ed;border-bottom:1px solid #dce8df;backdrop-filter:blur(16px)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px}
.brand{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.brand-logo{height:40px;width:40px;display:grid;place-items:center;border-radius:50%;background:var(--forest);color:#e4f1e8;font-size:22px;flex:0 0 auto}
.brand-name{font-family:Georgia,"Times New Roman",serif;font-size:21px;font-weight:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--forest)}
.brand-name em{font-style:italic;color:var(--green)}
.brand-sub{display:block;text-transform:uppercase;letter-spacing:.17em;color:var(--pine);font-size:10px;font-weight:800;margin-top:4px}
.header-links{display:flex;align-items:center;gap:10px}
.nav-link{border:1px solid transparent;border-radius:50px;padding:10px 14px;font-size:13px;font-weight:650;white-space:nowrap;transition:.2s}
.nav-link:hover,.nav-link.active{background:var(--mint);border-color:var(--line)}
.nav-link.private-link{background:var(--forest);color:white}
.nav-link.private-link:hover{background:#217154}
.hero{margin:35px 0 28px;min-height:275px;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:#ffffffef;box-shadow:var(--shadow);padding:clamp(28px,5vw,55px);display:flex;align-items:center;justify-content:space-between;gap:25px}
.hero:before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient(90deg,#bdd8c4,var(--forest),#90bca1)}
.hero h1{font:normal clamp(39px,5.2vw,68px)/1.09 Georgia,"Times New Roman",serif;letter-spacing:-.03em;color:var(--forest);margin:10px 0 17px}
.hero h1 em{color:var(--green);font-style:italic}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:var(--pine);font-weight:800}
.hero p{font-size:clamp(15px,1.7vw,19px);line-height:1.66;color:#385547;max-width:680px;margin:0}
.hero-art{width:180px;height:180px;border-radius:50%;flex:0 0 auto;background:linear-gradient(145deg,#dceee2,#f5faf5);border:1px solid #d1e4d6;display:grid;place-items:center;position:relative;color:var(--forest);font:normal 84px Georgia,serif}
.hero-art:before,.hero-art:after{content:"";position:absolute;border:1px solid #bdd8c5;border-radius:50%;inset:15px}
.hero-art:after{inset:31px;opacity:.6}
.main-layout{display:grid;grid-template-columns:258px minmax(0,1fr);gap:25px;align-items:start;margin-bottom:62px}
.sidebar,.panel{background:#ffffffea;border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 35px #164b300a}
.sidebar{padding:22px 15px;position:sticky;top:95px}
.sidebar-label{margin:3px 14px 13px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}
.side-link{display:flex;gap:11px;align-items:center;width:100%;padding:13px 14px;border-radius:12px;text-align:left;border:1px solid transparent;background:transparent;color:#375747;cursor:pointer;font-size:14px;font-weight:650;margin:3px 0;transition:.18s}
.side-link:hover,.side-link.active{background:var(--mint);border-color:#d1e7d7;color:var(--forest)}
.side-sym{height:27px;width:27px;display:grid;place-items:center;font-size:18px}
.sidebar-bottom{border-top:1px solid var(--line);margin-top:19px;padding:19px 12px 1px;color:var(--muted);font-size:13px;line-height:1.6}
.search-wrap{position:relative;margin-top:15px}
.search-wrap input{width:100%;padding:13px 13px 13px 39px;border:1px solid var(--line);border-radius:12px;background:white;outline:none;font-size:13px;color:var(--ink)}
.search-wrap input:focus{border-color:#74ae8b;box-shadow:0 0 0 3px #d8eee0}
.search-sym{position:absolute;left:13px;top:11px;opacity:.6}
.panel{min-height:385px;padding:clamp(22px,3.2vw,37px)}
.breadcrumb{font-size:12px;color:#698074;display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-bottom:18px}
.crumb{background:none;border:0;padding:2px 0;color:#48775f;cursor:pointer}
.crumb:hover{text-decoration:underline}
.crumb.current{color:#506b5b;font-weight:700;cursor:default}
.section-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:23px}
h2{font:normal clamp(29px,3.6vw,43px)/1.18 Georgia,"Times New Roman",serif;color:var(--forest);margin:0 0 11px;letter-spacing:-.017em}
.section-desc{color:var(--muted);line-height:1.65;font-size:15px;max-width:690px;margin:0}
.tag{font-size:11px;color:#527663;background:#f0f7f2;border:1px solid #d3e8d9;border-radius:100px;padding:7px 10px;white-space:nowrap;font-weight:700}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.tile{display:flex;align-items:stretch;justify-content:space-between;gap:10px;min-height:155px;padding:22px;border:1px solid #dce9df;border-radius:18px;background:linear-gradient(145deg,#fff,#fbfefb);text-align:left;cursor:pointer;transition:transform .18s,border .18s,box-shadow .18s;width:100%;color:inherit}
.tile:hover{transform:translateY(-3px);border-color:#91bda0;box-shadow:0 10px 23px #1d634114}
.tile-title{font-weight:760;font-size:17px;line-height:1.33;color:var(--forest);margin:7px 0 8px}
.tile-desc{color:#60776b;font-size:13px;line-height:1.55;margin:0}
.tile-symbol{display:grid;place-items:center;width:41px;height:41px;background:var(--mint);border-radius:12px;color:var(--pine);font-size:21px;flex:0 0 auto}
.tile-arrow{margin-top:auto;font-size:19px;color:#789b85}
.tile-main{display:flex;flex-direction:column;align-items:start}
.leaf-empty{padding:28px;border:1px dashed #bad9c4;background:#f7fbf8;border-radius:18px;text-align:center;margin-top:8px}
.empty-sym{width:55px;height:55px;margin:0 auto 11px;display:grid;place-items:center;border-radius:50%;background:#e4f1e7;color:var(--pine);font-size:25px}
.leaf-empty h3{margin:7px 0 8px;color:var(--forest);font:normal 27px Georgia,serif}
.leaf-empty p{font-size:14px;line-height:1.65;color:#637a6a;max-width:500px;margin:0 auto}
.info-line{background:var(--mint);border:1px solid #d2e8d8;border-radius:16px;padding:15px 18px;color:#40634d;font-size:13px;line-height:1.65;margin-top:20px}
.action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:19px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:12px;background:var(--forest);color:#fff;font-size:13px;font-weight:750;border:1px solid var(--forest);cursor:pointer}
.btn:hover{background:#247656}
.btn.outline{background:#fff;color:var(--forest);border-color:#c6dfcd}
.btn.outline:hover{background:#edf7ef}
.btn.disabled{background:#e7f0e9;color:#7a9383;border-color:#dae9df;cursor:default}
.search-results{margin-top:16px;display:grid;gap:10px}
.search-hit{display:block;background:#fbfefa;border:1px solid #dce9df;border-radius:13px;padding:15px 17px;text-align:left;cursor:pointer}
.search-hit:hover{border-color:#74ad84}
.search-hit strong{color:var(--forest);display:block;margin-bottom:4px}
.search-hit small{color:var(--muted);line-height:1.55}
.search-help{font-size:14px;color:var(--muted);margin:12px 0}
.mini-metric{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.mini-metric span{border:1px solid var(--line);border-radius:100px;background:#fff;font-size:12px;padding:7px 11px;color:#567663}
.footer{border-top:1px solid var(--line);padding:26px 0 32px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#6b7e70;font-size:12px}
.footer strong{font-weight:700;color:var(--forest)}
.notice{border-left:4px solid #6aaf80;padding:14px 17px;background:#eef7ef;border-radius:0 12px 12px 0;line-height:1.6;color:#43634d;font-size:13px;margin:0 0 24px}
.notice.warning{border-left-color:#c39445;background:#fbf7ed;color:#716243}
.resource-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px}
.search-mode .section-head{margin-bottom:12px}
@media(max-width:880px){.header-links .nav-link:not(.private-link){display:none}.hero-art{width:120px;height:120px;font-size:54px}.main-layout{grid-template-columns:1fr}.sidebar{position:static;display:flex;align-items:center;flex-wrap:wrap;gap:4px}.sidebar-label{width:100%}.sidebar-bottom{display:none}.side-link{width:auto;padding:9px 11px;margin:0;font-size:13px}.search-wrap{width:100%}}
@media(max-width:600px){.wrap{width:min(100% - 24px,1200px)}.header-in{min-height:66px}.brand-name{font-size:17px}.brand-logo{height:35px;width:35px;font-size:20px}.nav-link.private-link{font-size:11px;padding:9px 11px}.hero{border-radius:20px;min-height:0;padding:31px 24px;margin:16px 0}.hero-art{display:none}.hero h1{font-size:42px}.sidebar,.panel{border-radius:19px}.panel{padding:23px 17px}.sidebar{padding:12px}.cards{grid-template-columns:1fr}.tile{min-height:135px}.section-head{display:block}.tag{display:inline-block;margin-top:12px}.footer{padding:21px 2px 28px}}

/* SGV – eredeti, átlátszó kézírásos logó */
.brand-logo{height:46px;width:112px;display:flex;align-items:center;justify-content:center;flex:0 0 112px;border-radius:0;background:transparent;overflow:visible}
.brand-logo-img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.hero-logo-img{max-width:85%;max-height:66%;object-fit:contain;position:relative;z-index:1}
.footer-signature{display:flex;align-items:center;gap:12px;min-width:0}
.footer-logo{width:84px;height:auto;object-fit:contain;flex:0 0 auto}
.footer-owner{display:block;line-height:1.65;margin-top:2px}
@media(max-width:600px){.brand-logo{width:68px;flex-basis:68px;height:29px}.brand{gap:7px}.brand-name{font-size:16px}.brand-sub{font-size:9px;letter-spacing:.1em}.footer-logo{width:64px}}
@media(max-width:380px){.brand-logo{width:52px;flex-basis:52px}.brand-name{font-size:14px}.header-in{gap:8px}.nav-link.private-link{font-size:10px;padding:8px}}

/* Public showcase and independent teaching game links */
.brand-logo{overflow:hidden}
.brand-logo-img{display:block;width:110px;height:42px;max-width:110px;max-height:42px;object-fit:contain;flex-shrink:0}
.featured-block{margin:0 0 30px;padding:24px;background:linear-gradient(120deg,#f0f8f2,#fafdfa);border:1px solid #d7eadd;border-radius:20px}
.featured-block.locked-showcase{background:#fcfcf8;border-color:#e5e7db}
.featured-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:17px}
.featured-head h3{font:normal 27px/1.2 Georgia,serif;color:var(--forest);margin:6px 0 6px}
.featured-head p{color:var(--muted);font-size:13px;line-height:1.6;margin:0}
.featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.demo-card{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid #dae9dd;border-radius:17px;padding:18px}
.demo-emoji{font-size:27px;margin-bottom:10px}
.pill{border-radius:40px;font-size:10px;letter-spacing:.09em;font-weight:800;padding:5px 8px}
.pill-free{background:#e1f3e5;color:#266544}
.demo-card h4{color:var(--forest);font:normal 23px Georgia,serif;margin:10px 0 6px}
.demo-card p{color:#627b6c;font-size:13px;line-height:1.55;margin:0 0 20px;flex:1}
.demo-card .btn{font-size:12px}
.locked-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.locked-row>div{border:1px solid #e3e4dc;border-radius:13px;padding:16px;background:#fff;display:flex;flex-direction:column;gap:6px}
.locked-row strong{color:var(--forest);font-size:14px}
.locked-row span,.request-note{color:#6d7c70;font-size:12px;line-height:1.6}
.request-note{margin:14px 0 0}
.demo-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
@media(max-width:720px){.featured-grid,.locked-row{grid-template-columns:1fr}.featured-head{flex-direction:column}.brand-logo-img{width:65px;height:29px}}
