:root{--ink:#253c65;--muted:#70809b;--accent:#5274df;--wash:#eff4ff;--paper:#fff;--focus:rgba(82,116,223,.35);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button{font:inherit;-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:7px;border-radius:12px}
.skip-link{position:absolute;top:-80px;left:16px;z-index:10;padding:12px 18px;border-radius:10px;background:var(--paper);box-shadow:0 5px 25px rgba(41,66,111,.1)}.skip-link:focus{top:12px}
.page-header{width:calc(100% - 64px);max-width:1100px;min-height:80px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.wordmark{font-size:24px;font-weight:750;letter-spacing:-1px;color:var(--accent)}.brand-name{font-size:17px;font-weight:550;letter-spacing:.06em}.header-note{font-size:12px;color:var(--muted)}
.garden{width:calc(100% - 48px);max-width:980px;margin:auto}.composition{position:relative;height:815px;width:100%}
.artwork{display:block;background-image:url('./assets/flat-scenes.webp');background-repeat:no-repeat;pointer-events:none}
.scene-wish{aspect-ratio:550/416;background-size:279.272727% 246.153846%;background-position:0% 13.157895%}
.scene-study{aspect-ratio:463/375;background-size:331.74946% 273.066667%;background-position:52.003728% 18.181818%}
.scene-mentor{aspect-ratio:496/413;background-size:309.677419% 247.941889%;background-position:100% 13.420622%}
.scene-care{aspect-ratio:540/377;background-size:284.444444% 271.618037%;background-position:0% 88.562597%}
.scene-aid{aspect-ratio:471/395;background-size:326.11465% 259.240506%;background-position:52.394366% 89.507154%}
.scene-exam{aspect-ratio:489/343;background-size:314.110429% 298.542274%;background-position:100% 89.427313%}
.center{position:absolute;left:50%;top:254px;transform:translateX(-50%);width:320px;display:flex;align-items:center;flex-direction:column;text-align:center}.center .artwork{width:312px;flex-shrink:0;margin:0 0 16px}.center h1{font-size:30px;font-weight:600;letter-spacing:.03em;line-height:1.35;margin:0 0 10px}.center p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 21px}
.wish-button{display:flex;align-items:center;gap:11px;background:var(--accent);color:#fff;border:0;border-radius:14px;min-height:44px;padding:11px 23px;font-size:13px;line-height:1.5;font-weight:500;text-decoration:none;box-shadow:0 6px 20px rgba(82,116,223,.16);transition:transform .2s,box-shadow .2s}.wish-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(82,116,223,.22)}.wish-button span{font-size:16px;line-height:1}
.tool{position:absolute;transform:translateX(-50%);width:168px;padding:0;border:0;background:transparent;color:var(--ink);display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none}.tool .art-space{width:100%;height:135px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:14px;transition:transform .25s ease}.tool .artwork{width:166px;max-height:135px}.tool h2{font-size:16px;font-weight:550;line-height:1.5;white-space:nowrap;margin:0;transition:color .2s}.tool p{color:var(--muted);font-size:12px;line-height:1.6;margin:4px 0 0;white-space:nowrap}.tool:hover .art-space,.tool:focus-visible .art-space{transform:translateY(-5px)}.tool:hover h2{color:var(--accent)}
.scope{font-size:11px;line-height:1.6;color:var(--muted);margin-top:5px}.availability{font-size:11px;line-height:1.6;color:#7c7151;background:rgba(216,181,103,.12);border-radius:5px;padding:1px 7px;margin-top:5px}
.coming-soon .art-space{position:relative}.coming-soon .artwork{filter:grayscale(.85);opacity:.3}.blocked-mark{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:42px;height:42px;display:grid;place-items:center;background:rgba(255,255,255,.86);border-radius:50%;box-shadow:0 2px 14px rgba(54,71,106,.08);color:#8b95a8}.blocked-mark svg{width:30px;height:30px;stroke:currentColor;stroke-width:1.6}.coming-soon h2{color:#78849b}.coming-soon .availability{background:rgba(127,142,170,.09);color:#78849b}
.hero-visual{position:relative;isolation:isolate;width:312px;flex-shrink:0;margin:0 0 16px}.center .hero-visual .artwork{width:100%;margin:0}.hero-visual::before,.hero-visual::after{content:"";position:absolute;pointer-events:none;border-radius:50%;z-index:-1}.hero-visual::before{inset:-5% -8%;border:1px solid rgba(98,137,224,.23);box-shadow:0 0 30px rgba(93,143,235,.04)}.hero-visual::after{inset:1% -1%;border:1px solid rgba(131,161,229,.13)}.hero-spark{position:absolute;right:-.5%;top:23%;width:5px;height:5px;border-radius:50%;background:#a7bdf4;box-shadow:0 0 0 4px rgba(137,169,241,.07),0 0 15px rgba(127,166,249,.24);animation:spark-breathe 7s ease-in-out infinite;pointer-events:none}
.tool .art-space{position:relative;isolation:isolate}.tool .art-space::before{content:"";position:absolute;left:50%;top:50%;width:144px;height:144px;transform:translate(-50%,-50%);border:1px solid rgba(110,144,221,.26);border-radius:50%;box-shadow:0 0 24px rgba(96,143,227,.035);z-index:-1;pointer-events:none;transition:border-color .3s,box-shadow .3s}.tool .art-space::after{--orbit-radius:72px;content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px;border-radius:50%;background:#a6bbee;box-shadow:0 0 0 3px rgba(144,170,231,.06),0 0 10px rgba(108,152,244,.2);animation:orbit-light 32s linear infinite;z-index:1;pointer-events:none}.mentor .art-space::after{animation-duration:36s;animation-delay:-13s}.care .art-space::after{animation-duration:40s;animation-delay:-24s}.exam .art-space::after{animation-duration:34s;animation-delay:-8s}.aid .art-space::after{animation:none;opacity:0}.aid .art-space::before{border-color:rgba(137,149,172,.17);box-shadow:none}.tool:hover .art-space::before,.tool:focus-visible .art-space::before{border-color:rgba(91,130,225,.55);box-shadow:0 0 25px rgba(100,145,239,.10)}.tool:hover .art-space::after,.tool:focus-visible .art-space::after{animation-play-state:paused}
@keyframes orbit-light{from{transform:rotate(0deg) translateX(var(--orbit-radius))}to{transform:rotate(360deg) translateX(var(--orbit-radius))}}@keyframes spark-breathe{0%,100%{opacity:.45;transform:scale(.85)}50%{opacity:.9;transform:scale(1.1)}}.motion-off .art-space::after,.motion-off .hero-spark{animation-play-state:paused}
.study{left:50%;top:8px}.mentor{left:87%;top:238px}.care{left:13%;top:222px}.aid{left:22%;top:580px}.exam{left:78%;top:580px}
.page-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:1100px;width:calc(100% - 64px);margin:0 auto;padding:15px 0 25px;font-size:12px;line-height:1.7;color:var(--muted)}.page-footer a{text-decoration:none;transition:color .2s}.page-footer a:hover{color:var(--accent)}.no-script{text-align:center;font-size:13px;color:var(--muted)}
dialog{color:var(--ink);background:var(--paper);width:min(420px,calc(100% - 36px));max-height:calc(100% - 36px);overflow:auto;border:1px solid rgba(82,116,223,.1);border-radius:22px;padding:32px;box-shadow:0 24px 80px rgba(37,60,101,.16)}dialog::backdrop{background:rgba(31,48,77,.18);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:12px;top:8px;width:38px;height:38px;border:0;border-radius:50%;background:none;font-size:26px;font-weight:300;color:var(--muted);transition:background .2s}.dialog-close:hover{background:var(--wash)}.dialog-status{font-size:12px;color:var(--muted)}dialog h2{font-size:24px;font-weight:600;margin:12px 0}dialog p{font-size:14px;line-height:1.9;margin:0 0 25px;color:var(--muted)}.dialog-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.dismiss{border:0;background:var(--accent);color:#fff;padding:10px 20px;min-height:42px;border-radius:10px;transition:background .2s}.dismiss:hover{background:#4262c4}.dialog-actions a{font-size:13px;color:var(--accent);text-decoration:none;transition:opacity .2s}.dialog-actions a:hover{opacity:.75}
@media(max-width:758px) and (min-width:599px){.composition{height:754px}.center{width:268px;top:228px}.center .artwork{width:253px;margin-bottom:14px}.center h1{font-size:27px}.center p{font-size:12px;margin-bottom:16px}.tool{width:134px}.tool .art-space{height:120px;margin-bottom:11px}.tool .artwork{width:130px}.tool h2{font-size:14px}.tool p{font-size:11px}.mentor{left:87%;top:217px}.care{left:13%;top:204px}.aid{left:24%;top:530px}.exam{left:78%;top:535px}}
@media(max-width:598px){.page-header{width:calc(100% - 36px);min-height:66px}.wordmark{font-size:22px}.brand-name{font-size:16px}.header-note{display:none}.garden{width:calc(100% - 28px)}.composition{height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px;padding:24px 5px 4px}.center{position:static;transform:none;grid-column:1/-1;grid-row:1;width:100%;margin-bottom:15px}.center .artwork{width:min(280px,85%);margin-bottom:13px}.center h1{font-size:27px}.center p{font-size:12px;margin-bottom:16px}.tool{position:static;transform:none;width:100%;padding:0 0 9px}.tool .art-space{height:119px;margin-bottom:10px}.tool .artwork{width:min(153px,100%)}.tool h2{font-size:14px}.tool p{font-size:11px;white-space:normal}.exam{grid-column:1/-1;width:50%;justify-self:center}.page-footer{width:calc(100% - 36px);padding:28px 0 24px;flex-direction:column;gap:7px;font-size:11px}dialog{padding:28px 24px}}
@media(prefers-reduced-motion:reduce){.tool .art-space,.tool h2,.wish-button{transition:none;transform:none}}
@media(max-width:758px) and (min-width:599px){.hero-visual{width:253px;margin-bottom:14px}.tool .art-space::before{width:126px;height:126px}.tool .art-space::after{--orbit-radius:63px}}
@media(max-width:598px){.hero-visual{width:min(280px,85%);margin-bottom:13px}.tool .art-space::before{width:124px;height:124px}.tool .art-space::after{--orbit-radius:62px}}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.tool .art-space::after,.hero-spark{animation:none}.tool .art-space::after{transform:rotate(-35deg) translateX(var(--orbit-radius));opacity:.5}}
