:root{--ivory:#f6f3e9;--ink:#314b38;--muted:#858d7c;--line:#d6dbcd}*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Arial,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #78996f;outline-offset:6px}a{color:inherit;text-decoration:none}button{border:0;background:none}svg{width:100%;height:100%}.screen{display:none;min-height:100svh}.screen.active{display:flex}#home{flex-direction:column;justify-content:space-between;padding:36px 48px;min-height:100svh}header,footer{display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:2px}header>span:first-child{font-weight:700}.small{font-family:Georgia,serif;font-style:italic;font-size:15px;letter-spacing:0}footer{font-size:9px;color:var(--muted);letter-spacing:1.4px}.portal{text-align:center;margin:50px auto;max-width:700px;width:100%}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--muted);margin:20px 0 35px}.seed{width:112px;height:130px;padding:10px;transition:transform 1.5s;filter:drop-shadow(0 14px 18px #60784a14)}.seed:hover{transform:rotate(-10deg) scale(1.05)}h1{font:italic 64px Georgia,serif;letter-spacing:-3px;margin:14px 0 20px;font-weight:400}.whisper,.sub{font-size:13px;color:var(--muted);line-height:1.8}.branches{position:relative;display:flex;justify-content:space-between;align-items:flex-end;padding-top:115px;opacity:0;visibility:hidden;transform:translateY(-15px);transition:opacity 1s,transform 1.2s;max-width:600px;margin:0 auto}.branches.open{opacity:1;visibility:visible;transform:translateY(0)}.branches .lines{position:absolute;top:0;left:0;height:110px;pointer-events:none;fill:none;stroke:#a7b69d;stroke-width:1}.branches>a,.branches>button{display:flex;flex-direction:column;align-items:center;gap:10px;font:italic 21px Georgia,serif;width:110px}.branches span{font:9px Arial;color:#929d86;letter-spacing:2px}.branches small{font:10px Arial;color:var(--muted);white-space:nowrap}.branches button svg{height:47px;width:47px;transition:transform .5s}.branches button:hover svg{transform:rotate(15deg)}#select{padding:60px 30px 35px;align-items:center;flex-direction:column;text-align:center;position:relative}h2{font-size:30px;font-weight:400;letter-spacing:-1px;margin:0 0 16px}.back{position:absolute;top:24px;left:32px;font-size:12px}.characters{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:880px;width:100%;margin:26px 0}.character{border:1px solid transparent;border-radius:140px 140px 18px 18px;padding:8px 8px 20px;transition:background .3s,border-color .3s,transform .3s;min-width:0}.character:hover{transform:translateY(-5px)}.character.selected{border-color:#9baa8e;background:#eeeee3}.portrait{width:100%;height:260px;border-radius:130px 130px 10px 10px;background-repeat:no-repeat;background-size:300% 100%;background-position:left center}.maxie{background-image:url('assets/maxie.webp')}.mystery{background-image:url('assets/mystery.webp')}.dusty{background-image:url('assets/dusty.webp')}.chartext span{display:block;font-size:9px;letter-spacing:2px;margin-top:22px;color:var(--muted)}h3{font-weight:400;font-size:23px;margin:12px 0}.chartext p{font-size:11px;margin:0}.instructions{font-size:12px;color:#7c8772;line-height:1.8}.instructions b{font-size:13px;color:var(--ink);font-weight:400}.primary{background:var(--ink);color:var(--ivory);padding:16px 28px;min-width:245px;border-radius:3px;font-size:13px;margin-top:16px}.primary span{margin-left:40px}.textbutton{display:block;font-size:12px;padding:20px}#game{height:100svh;overflow:hidden;position:relative;touch-action:none}#world{position:absolute;width:100%;height:100%;display:block}.hud{position:absolute;top:28px;left:28px;right:28px;display:flex;align-items:center;gap:18px}.badge{background:#f6f3e9e8;border:1px solid #ffffff60;padding:12px 18px;border-radius:40px;display:flex;align-items:center;gap:9px}.badge svg{height:24px;width:24px}.badge b{font-size:22px;font-weight:400}.badge span{font-size:12px;color:var(--muted)}.timer{margin-left:auto;font:26px Georgia;background:#f6f3e9d9;border-radius:40px;padding:12px 22px;min-width:112px;text-align:center}.timer.urgent{color:#b05b51}.hud button{background:#f6f3e9df;border-radius:50%;width:45px;height:45px}.notice{position:absolute;top:110px;text-align:center;width:100%;font-size:12px;color:#42583a;text-shadow:0 1px 8px #fff}.crosshair{position:absolute;left:50%;top:50%;font-size:30px;color:#fff9;pointer-events:none}.dialogue{position:absolute;bottom:46px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:17px;background:#f8f5ecee;padding:12px 25px 12px 12px;border:1px solid #fff8;border-radius:55px;min-width:340px;max-width:80%;z-index:3;transition:opacity .6s;pointer-events:none}.avatar{width:60px;height:60px;border-radius:50%;background-size:300% 100%;background-position:left center;flex-shrink:0}.dialogue span{font-size:9px;letter-spacing:2px;color:#919781}.dialogue p{font-size:14px;margin:8px 0 2px;line-height:1.5}.hand{position:absolute;width:120px;height:150px;background:radial-gradient(ellipse at 40% 30%,#fff9ef,#ead6bb);border-radius:60% 60% 30% 30%;bottom:-70px;pointer-events:none;box-shadow:inset -10px -10px 30px #00000008;opacity:.94}.hand.left{left:20%;transform:rotate(20deg)}.hand.right{right:20%;transform:rotate(-20deg)}.hand.mysteryhand{background:radial-gradient(ellipse at 40% 30%,#fff4bc,#e7ce88)}.hand.dustyhand{background:radial-gradient(ellipse at 40% 30%,#ffe9ec,#eac0ce)}#joystick{position:absolute;left:28px;bottom:42px;width:110px;height:110px;border:1px solid #fff9;border-radius:50%;background:#f6f3e92a;z-index:4;touch-action:none}#stick{position:absolute;left:34px;top:34px;width:40px;height:40px;border-radius:50%;background:#f6f3e9b0;pointer-events:none}.lookhint{position:absolute;bottom:24px;right:30px;font-size:10px;color:#43553b}.overlay{position:absolute;inset:0;background:#f6f3e9df;backdrop-filter:blur(12px);z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center}.hidden{display:none!important}#result{align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:40px 20px}.resultportrait{width:210px;height:250px;background-size:300% 100%;border-radius:110px 110px 30px 30px;margin:0 0 30px}.resultscore{font-size:12px;letter-spacing:1px;color:var(--muted)}#resultline{font-size:14px}#veil{position:fixed;inset:0;background:radial-gradient(ellipse at center,#fffffc,#f6f3e9);opacity:0;pointer-events:none;z-index:100;transition:opacity .65s,backdrop-filter .65s;backdrop-filter:blur(0)}#veil.on{opacity:1;pointer-events:auto;backdrop-filter:blur(20px)}@media(max-width:600px){#home{padding:28px 24px}header .small{display:none}footer{font-size:7px;letter-spacing:.5px}.portal{margin:35px auto}.eyebrow{font-size:8px;letter-spacing:2px}h1{font-size:54px}.branches{padding-top:100px}.branches>a,.branches>button{font-size:17px;width:90px}.branches small{font-size:8px}#select{padding:70px 14px 30px}h2{font-size:25px}.sub{font-size:11px}.characters{gap:5px;margin:20px 0}.character{padding:4px 4px 15px}.portrait{height:165px}.chartext span{font-size:7px;letter-spacing:.5px}h3{font-size:19px}.chartext p{font-size:10px;line-height:1.6}.instructions{font-size:10px}.hud{top:20px;left:15px;right:15px;gap:10px}.timer{font-size:22px;padding:10px 15px;min-width:90px}.badge{padding:9px 14px}.dialogue{bottom:180px;min-width:280px;padding:10px 18px 10px 10px;gap:10px}.dialogue p{font-size:12px}.avatar{width:44px;height:44px}.hand.left{left:12%}.hand.right{right:12%}.lookhint{bottom:60px;right:25px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01s!important}}

.portrait,.avatar,.resultportrait{background-size:cover;background-position:center;background-repeat:no-repeat}.maxie{background-image:url("assets/maxie-front.webp")}.mystery{background-image:url("assets/mystery-front.webp")}.dusty{background-image:url("assets/dusty-front.webp")}

/* The portal starts with a single clover, centered in an ivory field. */
#home{justify-content:center;align-items:center;padding:24px}.portal{position:relative;margin:0;width:min(600px,100%)}.branches{position:absolute;top:130px;left:0;right:0}.portrait,.resultportrait{background-size:contain;background-color:#f0e3d3;background-position:center}.portrait.maxie{background-size:auto 92%}.portrait{border-radius:100px 100px 14px 14px}.character{border-radius:110px 110px 18px 18px}.flower-icon{filter:drop-shadow(0 3px 6px #c49b731c)}
@media(max-width:600px){.portrait{height:165px;border-radius:65px 65px 10px 10px}.branches{top:120px}.character{border-radius:70px 70px 18px 18px}}
.portrait.maxie{background-size:auto 100%}

@font-face{font-family:Gowun;src:url('assets/gowun-dodum.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
#select{justify-content:center;padding:60px 24px 32px}#select>.eyebrow{margin:12px 0 22px;font-size:9px;letter-spacing:3px}#select h2{font-family:Gowun,sans-serif;font-size:42px;letter-spacing:-1px;font-weight:400;margin:0 0 12px}#select .sub{margin:0;font-family:Gowun,sans-serif;font-size:15px}
.characters{max-width:850px;gap:40px;margin:28px 0 8px}.character,.character.selected{position:relative;border:0;background:none;border-radius:0;padding:0 0 14px}.character::after{content:'';position:absolute;width:60%;height:20px;left:20%;bottom:53px;background:radial-gradient(ellipse,#b1c79b80,transparent 70%);opacity:0;transition:opacity .5s;pointer-events:none}.character.selected::after{opacity:1}.character:hover{transform:translateY(-3px)}.portrait,.portrait.maxie{position:relative;z-index:1;height:260px;border-radius:0;background-color:transparent;background-size:contain;background-position:center;background-repeat:no-repeat}.maxie{background-image:url('assets/maxie-selection.webp')}.mystery{background-image:url('assets/mystery-selection.webp')}.dusty{background-image:url('assets/dusty-selection.webp')}.chartext h3{font-family:Gowun,sans-serif;font-size:24px;letter-spacing:0;margin:8px 0 0;font-weight:400;color:#78816e}.selected .chartext h3{color:var(--ink)}.selection-quote{font-family:Gowun,sans-serif;font-size:17px;min-height:28px;margin:8px 0 28px;color:#5d7056}.goal-note{font-size:11px;color:var(--muted);margin:0 0 4px}.instructions{margin-top:18px;max-width:480px}.instructions summary{cursor:pointer;font-size:11px;list-style:none;color:#7c8772}.instructions summary::after{content:' ＋'}.instructions[open] summary::after{content:' −'}.instructions summary::-webkit-details-marker{display:none}.resultportrait{background-color:transparent}.avatar{background-size:cover}
@media(max-width:600px){#select{padding:75px 14px 28px}#select h2{font-size:34px}#select .sub{font-size:13px}.characters{gap:4px;margin-top:28px}.portrait,.portrait.maxie{height:180px}.chartext h3{font-size:20px}.selection-quote{font-size:15px;margin-bottom:24px}.character::after{bottom:49px}}

/* A spacious constellation radiating from the central clover. */
#home{overflow:hidden;min-height:100svh;padding:20px}.portal{width:min(1000px,94vw);height:min(650px,86svh);margin:0;position:relative;flex-shrink:0}.seed{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2}.seed:hover{transform:translate(-50%,-50%) rotate(-10deg) scale(1.05)}
.branches{position:absolute;inset:0;max-width:none;width:100%;height:100%;margin:0;padding:0;display:block;transform:none;pointer-events:none}.branches.open{transform:none}.branches .lines{inset:0;width:100%;height:100%;fill:none;stroke:#9caf91;stroke-width:1;overflow:visible}.orbit-paths path{stroke-dasharray:650;stroke-dashoffset:650;transition:stroke-dashoffset 1.6s ease}.branches.open .orbit-paths path{stroke-dashoffset:0}.orbit-paths .faint{opacity:.42;stroke-width:.8}.orbit-stars{stroke:none;color:#a6b699;opacity:.55}.branches>a,.branches>button{position:absolute;transform:translate(-50%,-50%);width:150px;pointer-events:auto;z-index:1;gap:10px;padding:14px 8px;background:var(--ivory);border-radius:50%;transition:opacity .7s}.branches>a:first-of-type{left:18%;top:24%}.branches>#enter{left:78%;top:22%}.branches>a:last-of-type{left:74%;top:78%}.branches>a{font-size:24px}.branches>button svg{width:54px;height:54px}.branches>a:hover{color:#6b835d}.branches small{font-size:10px;letter-spacing:.2px}
@media(max-width:600px){.portal{width:94vw;height:min(620px,85svh)}.seed{width:100px;height:116px}.branches>a,.branches>button{width:113px;padding:10px 4px;gap:9px}.branches>a{font-size:20px}.branches small{font-size:8px}.branches>button svg{width:44px;height:44px}.branches>a:first-of-type{left:18%;top:24%}.branches>#enter{left:79%;top:22%}.branches>a:last-of-type{left:75%;top:78%}.branches .lines{stroke-width:1.3}.orbit-paths .faint{stroke-width:1}}
@media(prefers-reduced-motion:reduce){.orbit-paths path{transition:none}}

/* Pin the entry to the visible viewport, including Safari's changing browser bars. */
body:has(#home.active),body:has(#game.active){overflow:hidden}#home.active{position:fixed;inset:0;height:100dvh;min-height:0;margin:0;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}#home .portal{height:min(650px,82dvh);width:min(1000px,94vw)}body>svg{position:absolute;pointer-events:none}
.language{position:fixed;z-index:30;top:calc(18px + env(safe-area-inset-top));right:calc(20px + env(safe-area-inset-right));font-size:11px;letter-spacing:1px;padding:10px 12px;border:1px solid #a8b49c60;border-radius:20px;background:#f6f3e9d9}body:has(#game.active) .language{display:none}
.dialogue{top:100px;bottom:auto;left:24px;transform:none;min-width:0;max-width:320px;border-radius:18px;padding:10px 16px 10px 10px;gap:10px;background:#f8f5ece6}.dialogue .avatar{width:38px;height:38px}.dialogue p{font-size:12px;margin:5px 0 0}.notice{top:auto;bottom:155px;padding:0 20px;pointer-events:none}
@media(max-width:600px){#home .portal{height:80dvh}.dialogue{top:calc(90px + env(safe-area-inset-top));bottom:auto;left:14px;max-width:72vw;min-width:0;padding:8px 12px;gap:8px}.dialogue .avatar{width:32px;height:32px}.dialogue span{font-size:8px}.dialogue p{font-size:11px}.notice{bottom:165px;font-size:10px}.hud{top:calc(15px + env(safe-area-inset-top))}#game{height:100dvh;min-height:0}#select{min-height:100dvh;padding:calc(55px + env(safe-area-inset-top)) 14px 20px}#select>.eyebrow{margin:0 0 12px}#select h2{font-size:30px}.characters{margin:18px 0 0}.portrait,.portrait.maxie{height:clamp(110px,24dvh,180px)}.selection-quote{margin:6px 0 16px;font-size:14px}.instructions{margin-top:12px}.back{top:calc(22px + env(safe-area-inset-top));left:16px}}
.chartext h3>span{font:inherit;letter-spacing:inherit;margin:0;display:inline;color:inherit}.branches small>span{font:inherit;letter-spacing:inherit;margin:0;color:inherit}

.branches>#hello{left:18%;top:24%;font:italic 24px Georgia,serif}.branches>#hello em{font:inherit}.branches>a:last-of-type{left:74%;top:78%}
#contactDialog{border:1px solid #d9ddce;border-radius:24px;background:var(--ivory);color:var(--ink);padding:0;width:min(860px,94vw);max-height:90dvh;box-shadow:0 24px 100px #25392d25;overflow:auto}#contactDialog::backdrop{background:#f2f0e3c9;backdrop-filter:blur(14px)}.contact-content{padding:30px 40px 25px;text-align:center;position:relative}.contact-close{position:absolute;right:14px;top:10px;font-size:28px;padding:4px 10px;font-weight:300}.contact-content>.eyebrow{margin:5px 0 15px}.contact-content h2{font:36px Georgia,serif;margin:0 0 9px}.contact-role{font:italic 14px Georgia,serif;color:var(--muted);margin:0 0 25px}.business-card{display:block;position:relative;width:100%;aspect-ratio:940/540;padding:0;border:0;background:transparent;perspective:1600px;border-radius:12px}.card-rotator{display:block;position:absolute;inset:0;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.2,.65,.25,1)}.business-card.flipped .card-rotator{transform:rotateY(180deg)}.card-face{display:block;position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #384d3320}.card-face img{display:block;width:100%;height:100%;object-fit:contain}.card-back{transform:rotateY(180deg)}.flip-hint{font-family:Gowun,sans-serif;font-size:13px;color:var(--muted);margin:18px 0 24px}.contact-links{display:flex;justify-content:center;gap:30px;font:italic 17px Georgia,serif}.contact-links a{padding:8px 0;border-bottom:1px solid #adbca580}.contact-email{font-size:10px;color:var(--muted);letter-spacing:.5px;margin:20px 0 0}body:has(#contactDialog[open]){overflow:hidden}
@media(max-width:600px){.branches>#hello{font-size:20px}.branches>a:last-of-type{left:75%;top:78%}.contact-content{padding:35px 16px 25px}.contact-content h2{font-size:30px}.contact-role{font-size:12px}.contact-links{gap:22px;font-size:16px}.flip-hint{font-size:12px}}
@media(prefers-reduced-motion:reduce){.card-rotator{transition-duration:.01s}}

#contactDialog{border:0;border-radius:0;background:transparent;box-shadow:none}#contactDialog::backdrop{background:var(--ivory);backdrop-filter:none}.contact-links{margin-top:30px}

.contact-content{display:flex;flex-direction:column;align-items:center;padding:48px 40px 28px}.contact-content h2.contact-invitation{font:400 15px/1.8 Gowun,sans-serif;letter-spacing:.7px;color:#7c8772;margin:0 0 30px;padding:0 18px;text-align:center;text-wrap:balance}.contact-links{margin-top:30px;flex-wrap:wrap;column-gap:30px;row-gap:8px}.contact-email{margin:18px 0 0;overflow-wrap:anywhere}.business-card{flex-shrink:0}
@media(max-width:600px){.contact-content{padding:46px 18px 24px}.contact-content h2.contact-invitation{font-size:13px;letter-spacing:.3px;margin-bottom:25px;padding:0 12px}.contact-links{column-gap:24px;margin-top:28px}.contact-email{margin-top:17px}.contact-close{right:10px;top:7px}}
/* Keep the complete contact composition within the visible viewport. */
#contactDialog{max-height:calc(100dvh - 24px);overflow:hidden;scrollbar-width:none}#contactDialog::-webkit-scrollbar{display:none}.contact-content{padding:40px 32px 20px}.contact-content h2.contact-invitation{margin-bottom:24px;flex-shrink:0}.contact-content .business-card{width:min(100%,max(80px,calc((100dvh - 230px)*1.74074)));aspect-ratio:940/540;flex-shrink:0}.contact-content .contact-links{margin-top:24px;flex-shrink:0}.contact-content .contact-email{margin-top:14px;flex-shrink:0}
#pausepanel .primary,#pausepanel .textbutton{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.5}#pausepanel .primary>span,#pausepanel .textbutton>span{margin:0;text-align:center}#pausepanel .primary{min-height:52px;padding:14px 28px}#pausepanel h2{text-align:center;padding:0 20px}
@media(max-width:600px){.contact-content{padding:42px 16px 18px}.contact-content h2.contact-invitation{margin-bottom:22px}.contact-content .contact-links{column-gap:24px;row-gap:6px;margin-top:22px}}
@media(max-height:480px){.contact-content{padding:24px 32px 12px}.contact-content h2.contact-invitation{font-size:12px;margin-bottom:12px;line-height:1.5}.contact-content .business-card{width:min(100%,max(50px,calc((100dvh - 170px)*1.74074)))}.contact-content .contact-links{margin-top:12px;font-size:14px}.contact-content .contact-email{margin-top:8px;font-size:9px}.contact-close{top:2px}#pausepanel>.eyebrow{margin:10px 0 16px}#pausepanel h2{font-size:24px;margin-bottom:8px}}

.seed-hint {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  font: 10px/1.2 Gowun, sans-serif;
  color: #61715e;
}
.seed[aria-expanded="true"] .seed-hint {
  display: none;
}
