@charset "UTF-8";
:root{color-scheme:light;--paper:#f4f3ea;--ink:#244b40;--muted:#738470;--sage:#e5e9dc;--forest:#183f35;--gold:#ebc477;--light:#fff2bb;--coral:#eba991;--line:#d7dece;font-family:"Aptos","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);-webkit-tap-highlight-color:transparent}button,a,input,textarea{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;border:0}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #bf8b39;outline-offset:4px}button:not(:disabled):active{transform:translateY(1px)}svg{width:24px;height:24px;flex-shrink:0}button{min-height:44px}abbr{text-decoration:none}
.app-shell{width:100%;max-width:464px;margin:auto;padding:max(24px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));position:relative}
.masthead{display:flex;justify-content:space-between;align-items:center;padding-bottom:21px;border-bottom:1px solid var(--line);margin-bottom:18px}.brand{display:flex;align-items:center;text-decoration:none;gap:11px}.brand>svg{width:31px;height:31px}.brand strong{display:block;font-size:42px;font-weight:650;line-height:.94;letter-spacing:-2px}.brand small{display:block;font-size:8px;font-weight:650;letter-spacing:2.5px;margin-top:8px;color:var(--muted)}.header-actions{display:flex;gap:8px}.icon-button{border-radius:16px;background:var(--sage);width:44px;height:44px;display:grid;place-items:center}.icon-button svg{width:21px;height:21px}
.mode-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--sage);padding:4px;border-radius:18px;gap:5px}.mode-tabs button{background:transparent;border-radius:14px;font-size:14px;font-weight:600;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px}.mode-tabs button.selected{background:var(--paper);box-shadow:0 2px 2px #29423112;color:var(--ink)}.mode-tabs svg{width:17px;height:17px}.live-dot{width:6px;height:6px;background:#81a57b;border-radius:50%;box-shadow:0 0 0 3px #81a57b15}
.intro{margin:25px 0 24px;position:relative}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--muted);font-weight:650}.intro h1{font-size:clamp(24px,6.7vw,31px);font-weight:620;line-height:1.18;letter-spacing:-1.1px;margin:9px 0 8px}.intro p{font-size:14px;line-height:1.55;color:var(--muted);margin:0}.garden-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px;font-size:10px}.garden-meta>span:first-child{display:flex;align-items:center;gap:9px;font-weight:650;letter-spacing:.6px}.garden-meta i{width:3px;height:3px;background:#9aac91;border-radius:50%}.turn-count{white-space:nowrap;font-size:12px;padding:7px 11px;background:var(--sage);border-radius:20px;letter-spacing:0}.turn-count b{font-variant-numeric:tabular-nums;margin-right:3px}
.garden-board{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:21px;border-radius:28px;background:var(--forest);aspect-ratio:1;box-shadow:0 6px 0 #d8dece,inset 0 1px 0 #356052;margin-bottom:20px}.garden-board:before{content:"";position:absolute;left:12px;top:12px;width:2px;height:2px;background:#728770;border-radius:50%;box-shadow:calc(100% + 1px) 0 #728770}
.tile{position:relative;aspect-ratio:1;min-width:0;--tile:#2d5144;--channel:#7d9a81;--core:#9cac92;background:var(--tile);border-radius:16px;box-shadow:0 4px 0 #103329,inset 0 0 0 1px #52745c;transition:background-color .3s ease,box-shadow .3s ease}.tile.lit{--tile:#446951;--channel:var(--gold);--core:var(--light)}.tile.sun{--tile:#60764b}.tile.plant{background:none;box-shadow:none}.tile-button,.fixed-tile{display:block;position:relative;width:100%;height:100%;padding:0;border-radius:inherit;background:none;z-index:2;min-height:0;overflow:hidden}.tile-button:not(:disabled):hover{background:#ffffff08}.tile-button:focus-visible{outline:3px solid var(--light);outline-offset:2px}.tile-button:disabled{opacity:1}.tile-art{width:100%;height:100%;display:block;overflow:hidden;pointer-events:none}
.channels{transform-origin:50px 50px;transition:transform .22s cubic-bezier(.2,.7,.2,1)}.channel-groove,.channel-fill,.channel-core{fill:none;stroke-linecap:round;stroke-linejoin:round;transition:stroke .35s ease}.channel-groove{stroke:#193c31;stroke-width:19}.channel-fill{stroke:var(--channel);stroke-width:11}.channel-core{stroke:var(--core);stroke-width:3}.connection{position:absolute;background:var(--channel);z-index:1;border:3px solid #123329;box-sizing:content-box}.connection.direction-0{width:6px;height:10px;left:calc(50% - 6px);top:-10px}.connection.direction-1{width:10px;height:6px;top:calc(50% - 6px);right:-10px}.connection.direction-2{width:6px;height:10px;left:calc(50% - 6px);bottom:-10px}.connection.direction-3{width:10px;height:6px;top:calc(50% - 6px);left:-10px}
.sun-disc,.flower-disc{fill:var(--tile)}.sun-halo{fill:#fff2bb0a;transform-origin:50px 50px;animation:sun-breathe 3s ease-in-out infinite}.sun-center{fill:var(--light)}.sun-rays{stroke:var(--light);stroke-width:2;stroke-linecap:round;transform-origin:50px 50px;animation:daylight 100s linear infinite}.tile-label{fill:#c4d2ad;font-size:8px;letter-spacing:1px;text-anchor:middle;font-weight:500}g.flower{transform-origin:50px 50px;transform:scale(.4);transition:transform .8s cubic-bezier(.2,1.4,.4,1)}g.flower.open{transform:scale(1)}.petal{fill:var(--coral)}.flower-center{fill:var(--gold)}.flower-shine{fill:var(--light)}.stem{stroke:#52765a;stroke-width:2;fill:none}.leaf{fill:#79986b}.leaf-dark{fill:#628662}.vein{stroke:#4b7454;stroke-width:1;fill:none}.soil{stroke:#36594a;fill:none}.speck{fill:#87966d}.sprout{transform-origin:50px 85px;animation:sway 5s ease-in-out infinite}.tile:nth-child(3n) .sprout{animation-delay:-2s}.hinted{outline:2px solid var(--light);outline-offset:3px;box-shadow:0 0 0 6px #fff2bb15}.hint-badge{position:absolute;right:-6px;top:-7px;width:22px;height:22px;border-radius:50%;background:var(--gold);display:grid;place-items:center;font-size:18px;line-height:1;color:var(--forest);z-index:4;pointer-events:none}
.garden-status{display:flex;align-items:center;gap:9px;background:var(--sage);padding:11px 12px;border-radius:18px;min-height:62px}.status-flower{width:33px;height:33px;flex-shrink:0}.garden-status .flower-disc,.victory-flower .flower-disc,.how-illustration .flower-disc{fill:none}.garden-status .tile-label,.victory-flower .tile-label,.how-illustration .tile-label{display:none}.garden-status .flower{transform:scale(.8)}.garden-status h2{font-size:15px;font-weight:620;margin:0 0 4px}.garden-status p{font-size:11px;color:var(--muted);margin:0;line-height:1.4}.garden-status>svg{margin-left:auto;width:19px}
.tools{display:grid;grid-template-columns:1fr 1fr 1.24fr;gap:9px;margin-top:15px}.tools button{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:16px;background:transparent;font-size:13px;font-weight:600;min-height:49px}.tools svg{width:18px;height:18px}.tools button:disabled{opacity:.42}.tools .hint-button{background:var(--ink);color:var(--paper);border-color:var(--ink)}.hint-button svg{color:var(--gold)}
.share-garden{margin-top:17px;display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 5px;background:none;font-size:14px;font-weight:600;min-height:46px}.share-garden>span{display:flex;align-items:center;gap:10px}.share-garden svg{width:19px;height:19px}.share-garden>svg{color:#829377}.daily-details{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:13px;margin-top:5px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;white-space:nowrap}.daily-details b{font-weight:500;font-variant-numeric:tabular-nums}.daily-details abbr{font-size:8px;letter-spacing:.5px}.tiny-sun{color:#a98444;margin-right:3px}.page-footer{margin:26px 0 0;text-align:center;font-size:10px;letter-spacing:.7px;color:#8d9a81;line-height:1.8}.page-footer span{display:block;font-size:9px;letter-spacing:.2px;opacity:.75}
.practice-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:-7px 0 17px}.practice-tabs button{background:var(--sage);padding:0 10px;border-radius:12px;font-size:11px;display:flex;align-items:center;justify-content:center;gap:7px}.practice-tabs button.active{background:#d9e2cc;box-shadow:inset 0 0 0 1px #b5c9a4}.practice-tabs svg{width:12px;height:12px}.archive-note{display:flex;align-items:center;justify-content:space-between;padding:7px 9px;margin-top:12px;border-radius:12px;background:#ecdfc5;font-size:11px;gap:8px}.archive-note button{background:none;font-size:11px;text-decoration:underline;min-height:32px}
.garden-dialog{border:0;background:var(--paper);color:var(--ink);border-radius:28px;padding:37px 25px 22px;width:calc(100% - 32px);max-width:404px;text-align:center;box-shadow:0 25px 100px #081c3340;max-height:calc(100dvh - 32px);overflow:auto}.garden-dialog::backdrop{background:#082e24ba;backdrop-filter:blur(3px)}.garden-dialog h2{font-size:27px;line-height:1.2;letter-spacing:-.8px;font-weight:620;margin:21px 0 10px}.garden-dialog p{font-size:13px;color:var(--muted);line-height:1.65;margin:0 0 22px}.dialog-close{position:absolute;right:9px;top:7px;background:none;font-size:23px;line-height:1;width:44px;color:#879981}.primary{background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;gap:10px;border-radius:16px;min-height:53px;font-size:15px;font-weight:600}.wide{width:100%}.primary svg{width:18px;height:18px}.text-button{background:none;color:var(--muted);font-size:13px;display:block;width:100%;margin-top:7px}.garden-dialog .dialog-note{font-size:11px;margin:9px 0 4px;line-height:1.8}.how-illustration{background:var(--sage);display:flex;align-items:center;justify-content:space-around;gap:12px;border-radius:18px;padding:10px 17px;height:79px;margin:21px 0}.how-illustration>svg{width:31px;height:31px}.how-illustration>span{width:24px;height:2px;background:#b7caaa}.how-illustration b{font-size:37px;font-weight:400;background:var(--forest);color:var(--gold);width:52px;height:52px;border-radius:12px;line-height:48px}.how-illustration>div{width:52px;height:52px}.instructions{list-style:none;padding:0;margin:21px 0;text-align:left}.instructions li{display:flex;align-items:center;gap:13px;margin:17px 0;font-size:13px}.instructions li>span{color:#849a79;font-size:11px;font-weight:600}.victory-flower{width:110px;height:110px;margin:20px auto 0;border-radius:50%;background:var(--sage);position:relative}.victory-flower svg{padding:10px}.victory-flower>span{position:absolute;left:-13px;top:20px;color:var(--gold);font-size:25px}.victory-flower>span:last-child{left:auto;right:-11px;top:67px;font-size:20px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);background:var(--sage);border-radius:18px;padding:19px 0;margin:22px 0}.result-stats>div+div{border-left:1px solid #cdd8c3}.result-stats strong{display:block;font-size:28px;font-weight:550;font-variant-numeric:tabular-nums}.result-stats span{display:block;font-size:8px;letter-spacing:1px;margin-top:6px;color:var(--muted)}.dialog-illustration{display:grid;place-items:center;border-radius:50%;width:95px;height:95px;margin:27px auto;background:var(--sage)}.dialog-illustration svg{width:43px;height:43px}.share-text{resize:none;width:100%;border:1px solid var(--line);background:var(--sage);color:var(--ink);border-radius:14px;padding:14px;font:13px/1.7 system-ui;overflow-wrap:anywhere;margin:0 0 18px}
.toast{position:fixed;z-index:10;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translate(-50%,12px);width:max-content;max-width:calc(100% - 40px);background:var(--ink);color:var(--paper);box-shadow:0 5px 25px #0002;border-radius:13px;padding:13px 18px;font-size:12px;line-height:1.5;text-align:center;opacity:0;pointer-events:none;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.loading-garden{min-height:420px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted)}.loading-garden svg{width:45px;height:45px;color:var(--gold);animation:daylight 20s linear infinite}.loading-garden p{font-size:14px}.boot-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px}.boot-screen strong{font-size:40px;letter-spacing:-2px}.boot-screen p{font-size:14px;color:var(--muted);margin:0}.loading-progress{width:140px;height:4px;accent-color:var(--ink)}#blazor-error-ui{display:none;position:fixed;bottom:0;background:#f5ddb6;color:#49391c;padding:18px;z-index:99;width:100%;font-size:14px}
@keyframes sun-breathe{50%{transform:scale(1.13)}}@keyframes daylight{to{transform:rotate(360deg)}}@keyframes sway{50%{transform:rotate(3deg)}}@media(min-width:700px){body{background:radial-gradient(ellipse at 10% 35%,#e8ecdf 0,transparent 45%),radial-gradient(ellipse at 90% 75%,#e8ecdf 0,transparent 40%),var(--paper)}.app-shell{padding-top:40px;padding-bottom:40px}.intro{margin-top:29px}.garden-board{padding:24px}}@media(max-width:359px){.app-shell{padding-left:16px;padding-right:16px}.garden-board{padding:16px;gap:8px;border-radius:23px}.tile{border-radius:12px}.intro h1{font-size:25px}.brand strong{font-size:37px}.header-actions{gap:5px}.tools button{font-size:12px;gap:4px}.daily-details{font-size:9px}.garden-meta>span:first-child{font-size:9px;gap:7px}.garden-dialog{padding-left:21px;padding-right:21px}.instructions li{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}