@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Commissioner:wght@400;500;600;700&display=swap');
:root{--paper:#f4f3ea;--ink:#424b3e;--muted:#858979}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Commissioner',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}header{height:110px;padding:30px 4.2%;display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{font-family:Manrope,sans-serif;letter-spacing:-3px;font-weight:800;font-size:38px;text-decoration:none;color:var(--ink)}.wordmark span{font-weight:400;color:#a5aa96;margin-left:5px}#motion{background:none;border:1px solid #c7cabc;border-radius:30px;padding:10px 15px;font-size:12px;cursor:pointer}main{position:relative;min-height:calc(100svh - 110px)}#garden{position:relative;width:100%;height:max(670px,calc(100svh - 170px));overflow:hidden}.flower{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);transform:translate(-50%,-50%);z-index:3;transition:left 1.3s,top 1.3s,opacity .8s}.flower.open{left:65%;top:49%;z-index:8}.flower.dimmed{opacity:.12;pointer-events:none}.core{border:0;padding:0;background:transparent;position:absolute;inset:0;z-index:4;cursor:pointer;filter:drop-shadow(0 12px 20px #61674608)}.blob{position:absolute;inset:0;overflow:hidden;background:var(--color);border:1px solid #69765e38;animation:morph 22s ease-in-out infinite alternate,float 12s ease-in-out infinite;animation-delay:var(--delay);border-radius:43% 57% 61% 39%/48% 40% 60% 52%;transition:filter .6s}.core:hover .blob{filter:saturate(1.2);outline:1px dotted #64775d;outline-offset:6px}.abstract{width:100%;height:100%;position:absolute;inset:0;opacity:.85;mix-blend-mode:multiply}.flower-label{position:absolute;top:calc(100% + 20px);left:-50%;width:200%;text-align:center;pointer-events:none;transition:opacity .4s}.flower.open .flower-label{opacity:0}.flower-label strong{font-size:13px;font-weight:500;display:block}.flower-label small{font-size:8px;letter-spacing:1.6px;display:block;color:#969b89;margin-top:8px}.seed-number{position:absolute;top:16%;left:22%;font-size:9px;letter-spacing:1px;opacity:.6}.orbit{position:absolute;inset:0;animation:orbit 100s linear infinite;pointer-events:none}.petal-arm{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--angle))}.stem{position:absolute;left:0;top:-1px;width:var(--reach);height:3px;transform-origin:0 50%;background:#9ca88a;animation:breathe 5s ease-in-out infinite alternate;opacity:0;transition:opacity 1s}.petal{position:absolute;width:130px;height:94px;left:var(--reach);top:-47px;transform:translateX(-50%) rotate(calc(-1 * var(--angle))) scale(.15);opacity:0;pointer-events:none;transition:transform 1.25s cubic-bezier(.2,.8,.2,1),opacity .8s;transition-delay:var(--stagger);padding:5px;background:#fffdf5;border:1px solid #c8cbb9;box-shadow:0 6px 18px #48563c15;cursor:pointer}.petal img{width:100%;height:100%;object-fit:cover;display:block}.flower.open .petal{opacity:1;transform:translateX(-50%) rotate(calc(-1 * var(--angle))) scale(1);pointer-events:auto}.flower.open .stem{opacity:.65}.petal:hover{box-shadow:0 8px 25px #38453140}.petal-inner{display:block;width:100%;height:100%;animation:counterorbit 100s linear infinite}#cursor{position:fixed;left:0;top:0;width:76px;height:76px;border-radius:50%;background:#485640;color:#fffdf1;display:grid;place-items:center;font-size:11px;pointer-events:none;z-index:30;opacity:0;transform:translate(-50%,-50%) scale(.3);transition:opacity .25s,transform .35s;background-clip:padding-box;border:7px solid #dce3cb88}#cursor.active{opacity:1;transform:translate(-50%,-50%) scale(1)}body.custom-cursor .core,body.custom-cursor .petal{cursor:none}dialog{border:0;padding:0;background:#f4f3ea;color:var(--ink);width:min(1050px,94vw);max-width:94vw;max-height:94svh;overflow:visible}dialog::backdrop{background:#263021d9;backdrop-filter:blur(12px)}dialog figure{margin:45px 60px 25px}dialog img{width:100%;height:min(68svh,680px);object-fit:contain;display:block}figcaption{text-align:center;font-size:12px;margin-top:18px;color:#727966}dialog button{position:absolute;border:0;background:transparent;cursor:pointer;font-size:25px;padding:10px}.close{right:10px;top:4px}.prev{left:4px;top:45%}.next{right:4px;top:45%}button:focus-visible,a:focus-visible{outline:2px solid #5c7350;outline-offset:8px}.paused *,.paused *::before{animation-play-state:paused!important}@keyframes morph{0%{border-radius:43% 57% 61% 39%/48% 40% 60% 52%}50%{border-radius:65% 35% 44% 56%/39% 60% 40% 61%}100%{border-radius:49% 51% 35% 65%/63% 45% 55% 37%}}@keyframes float{0%,100%{transform:translate(0,0) rotate(-4deg)}50%{transform:translate(4px,-13px) rotate(5deg)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes counterorbit{to{transform:rotate(-360deg)}}@keyframes breathe{from{height:var(--stem-thin,3px);background:#879b80;filter:opacity(.65)}to{height:var(--stem-thick,5px);background:#b9ae92;filter:opacity(1)}}
@media(min-width:1500px){}@media(max-width:900px){#garden{height:900px}.flower{left:var(--mx);top:var(--my);width:calc(var(--size) * .85);height:calc(var(--size) * .85)}.flower.open{left:50%;top:59%}}@media(max-width:540px){header{height:86px;padding:20px 6%}.wordmark{font-size:31px}#motion span{display:none}#motion{padding:8px 12px}#garden{height:850px}.flower{width:calc(var(--size) * .68);height:calc(var(--size) * .68)}.flower.open{top:58%;width:115px;height:115px}.petal{width:91px;height:69px;top:-34px;left:calc(var(--reach) * .62)}.stem{width:calc(var(--reach) * .62)}.flower-label strong{font-size:12px}.flower-label small{font-size:7px}dialog figure{margin:45px 35px 20px}#cursor{display:none}}
/* Keep every rectangular photo and its frame aligned throughout the orbit. */
.petal{padding:0;border:0;background:transparent;box-shadow:none}.petal-inner{padding:5px;background:#fffdf5;border:1px solid #c8cbb9;box-shadow:0 6px 18px #48563c15}.petal:hover{box-shadow:none}.petal:hover .petal-inner{box-shadow:0 8px 25px #38453140}.flower.dimmed .core{pointer-events:none}.flower.open .core{outline-offset:10px}
/* Four separate resting positions; opening a flower clears its entire orbit. */
.flower.dimmed{opacity:0;visibility:hidden}.flower{--reach:230px}.petal-inner{padding:0;border:8px solid var(--petal-color,var(--color));border-radius:22px;background:var(--petal-color);overflow:hidden;box-shadow:0 8px 22px #48563c18}.petal img{border-radius:12px}.petal:hover .petal-inner{box-shadow:0 10px 28px #38453132}.petal:focus-visible{outline-offset:10px;border-radius:22px}
@media(max-width:900px){.flower.open{top:60%}}
@media(max-width:540px){.flower.open{top:59%;width:90px;height:90px}.petal{width:84px;height:64px;top:-32px;left:var(--reach)}.stem{width:var(--reach)}.petal-inner{border-width:7px;border-radius:18px}.petal img{border-radius:10px}}

/* Το πάχος ρυθμίζεται στο world.config.js → connections. */
.stem{top:0;height:var(--stem-thin,3px);transform:translateY(-50%);border-radius:999px}

/* Κεντραρισμένος κήπος, χωρίς εισαγωγικά ή επεξηγηματικά κείμενα. */
header{position:absolute;top:0;left:0;width:100%;z-index:12;pointer-events:none}
header>*{pointer-events:auto}
main{min-height:100svh}
#garden{height:max(680px,100svh)}
.flower.open{left:50%;top:50%}
@media(max-width:900px){#garden{height:max(680px,100svh)}.flower.open{left:50%;top:50%}}
@media(max-width:540px){#garden{height:max(580px,100svh)}.flower.open{left:50%;top:50%}}

/* Η ακτίνα ορίζεται από το πλάτος οθόνης, όχι από inline σταθερά.
   Περιθώριο 72px καλύπτει τη μισή διαγώνιο του πετάλου (53px) + 19px χώρο. */
@media(max-width:540px){
 .flower{--reach:min(142px,calc(50vw - 72px))}
 .flower.open .petal{transition-delay:calc(1.3s + var(--stagger))}
 .flower.open .stem{transition-delay:1.3s}
}
@media(max-width:360px){.flower.open{width:76px;height:76px}}

/* Κοινός, μετρημένος κύκλος: τα πέταλα παραμένουν όρθια σε όλη την περιστροφή. */
.orbit,.petal-inner{animation:none}
.petal-arm{transform:none}
.petal{width:var(--photo-width,130px);height:var(--photo-height,94px);left:var(--petal-x,0px);top:var(--petal-y,0px);transform:translate(-50%,-50%) scale(.15);transition:transform 1.25s cubic-bezier(.2,.8,.2,1),opacity .8s}
.flower.open{left:var(--open-x,50%);top:var(--open-y,50%);width:var(--open-size,var(--size));height:var(--open-size,var(--size))}
.flower.open .petal{transform:translate(-50%,-50%) scale(1);transition-delay:calc(1.3s + var(--stagger))}
.stem{width:var(--reach);transform:rotate(var(--angle));transform-origin:0 50%}
.flower.open .stem{transition-delay:1.3s}
@media(max-width:600px){.petal-inner{border-width:7px;border-radius:18px}.petal img{border-radius:10px}}

/* Καθαρά χρώματα και ευκρίνεια για τα τέσσερα εικονίδια κατηγοριών. */
.abstract{opacity:1;mix-blend-mode:normal}
