.rom{--ink:#233b30;--green:#365f48;--paper:#f7f7ef;--line:#d6ddce;--sand:#e6dfce;color:var(--ink);font-family:inherit;isolation:isolate}.rom *{box-sizing:border-box}.rom .rom-shell{background:var(--paper);border:1px solid var(--line);margin:30px auto;max-width:1180px;overflow:hidden}.rom header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 35px;border-bottom:1px solid var(--line)}.rom .rom-brand{font-size:14px;letter-spacing:.15em;text-decoration:none;color:var(--ink);font-weight:700}.rom .rom-brand span{display:block;font-size:10px;letter-spacing:.24em;margin-top:3px}.rom nav{display:flex;flex-wrap:wrap;gap:6px}.rom button,.rom .rom-button{border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:14px;padding:12px 19px;cursor:pointer;border-radius:3px;display:inline-block;text-decoration:none;line-height:1.4;transition:background .2s,transform .2s;min-height:44px;margin:4px}.rom button:hover,.rom .rom-button:hover{background:#e6eddf;transform:translateY(-1px)}.rom button:disabled{opacity:.5;cursor:wait}.rom :focus-visible{outline:3px solid #b6823e;outline-offset:4px}.rom .rom-primary{background:var(--green);color:#fff;border-color:var(--green)}.rom .rom-primary:hover{background:#244b36}.rom nav button{border:0;font-size:12px}.rom .rom-home{display:grid;grid-template-columns:1fr 1fr;min-height:540px;align-items:center}.rom .rom-intro{padding:60px 54px}.rom .rom-kicker{font-size:11px;letter-spacing:.19em;font-weight:700;text-transform:uppercase;margin:0 0 20px}.rom h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(28px,4vw,46px);letter-spacing:-.025em;line-height:1.16;margin:12px 0 25px;color:var(--ink)}.rom p{font-size:16px;line-height:1.7;margin:14px 0 22px}.rom .rom-small{font-size:12px;opacity:.78}.rom .rom-garden{position:relative;min-height:400px;text-align:center;background:#eef1e4;padding:30px 20px;overflow:hidden}.rom #rom-plant{height:320px;width:100%;max-width:460px;margin:auto;position:relative}.rom #rom-plant img{width:210px;margin:50px}.rom .rom-halo{position:absolute;inset:10%;border:1px solid #d1dbbf;border-radius:50%;animation:romHalo 8s ease-in-out infinite alternate}.rom .rom-garden p{font-size:12px}.rom .rom-growth{font-family:Georgia,serif;font-size:20px!important}.rom footer{padding:22px 35px;border-top:1px solid var(--line);font-size:11px;line-height:1.6}.rom footer span{float:right}.rom .rom-panel{max-width:730px;margin:auto;padding:45px 35px 60px;animation:romEnter .45s ease-out}.rom .rom-wide{max-width:1000px}.rom .rom-steps{display:flex;list-style:none!important;gap:0;padding:22px 35px!important;margin:0!important;border-bottom:1px solid var(--line);justify-content:space-between}.rom .rom-steps li{display:flex;align-items:center;gap:6px;font-size:11px;opacity:.45}.rom .rom-steps span{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}.rom .rom-steps li.active{opacity:1;font-weight:700}.rom .rom-steps li.done{opacity:.85}.rom .active span,.rom .done span{background:var(--green);color:white}.rom .rom-scale{display:flex;gap:12px;margin-top:35px}.rom .rom-scale button{flex:1;padding:20px 0;font-family:Georgia,serif;font-size:25px}.rom .rom-ends{display:flex;justify-content:space-between;font-size:12px;padding:6px 5px 35px}.rom .selected{background:var(--green)!important;color:white!important;border-color:var(--green)!important}.rom .rom-action{font-family:Georgia,serif;font-size:25px;line-height:1.6;border-left:3px solid #99af76;padding:20px 25px;margin:30px 0;background:#edf0e3}.rom label{display:block;font-size:14px;margin:20px 0}.rom input:not([type=checkbox]),.rom textarea{display:block;width:100%;border:1px solid var(--line);background:#fffef8;padding:12px;color:var(--ink);font:inherit;margin-top:8px;border-radius:2px}.rom .rom-chips{display:flex;flex-wrap:wrap;margin:25px -4px}.rom .rom-phrases{display:flex;flex-wrap:wrap;gap:10px;margin:35px 0}.rom .rom-phrases button{max-width:280px;padding:20px;font-family:Georgia,serif;font-size:19px;flex-grow:1}.rom .rom-check{display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line);padding:15px 0}.rom .rom-check input{margin-top:5px;width:18px;height:18px}.rom .rom-breath{height:300px;display:grid;place-items:center;position:relative;margin:20px}.rom .rom-orb{width:165px;height:165px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#dce6ce;box-shadow:0 0 0 28px #e9eedd;position:relative}.rom .rom-orb strong{font-family:Georgia,serif;font-size:20px;font-weight:400}.rom .rom-orb span{font-size:30px;letter-spacing:.08em;margin-top:8px}.rom .rom-ring{width:260px;height:260px;position:absolute;border:1px solid #a8bc8d;border-radius:50%}.rom .running .rom-orb{animation:romBreathe 10s ease-in-out infinite}.rom .running .rom-ring{animation:romRing 10s ease-in-out infinite}.rom .rom-notice{background:#eee4ce;padding:15px 30px;font-size:14px}.rom [hidden]{display:none!important}.rom .rom-success{text-align:center}.rom .rom-cloud{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:15px;padding:35px;background:#edf0e3;margin:20px 0;color:#476847;font-family:Georgia,serif}.rom .rom-chart svg{width:100%;max-height:220px;margin:20px 0}.rom .rom-chart svg text{font:11px sans-serif;fill:#52624f}.rom .rom-legend{display:flex;flex-wrap:wrap;gap:15px;list-style:none;padding:0!important;font-size:11px}.rom .rom-legend li:before{content:'';display:inline-block;width:12px;height:3px;background:var(--line);margin-right:5px}.rom .rom-days details{border-top:1px solid var(--line);padding:18px 0}.rom summary{cursor:pointer;font-size:14px}.rom dl{display:grid;grid-template-columns:1fr auto;font-size:13px;gap:8px;margin:25px 0}.rom dt,.rom dd{margin:0}.rom blockquote{padding:15px 20px;border-left:2px solid #98af7a;font-size:15px}.rom .rom-social{display:flex;flex-wrap:wrap}.rom .rom-breath-controls{text-align:center}.rom #rom-finish{border-top:1px solid var(--line);margin-top:35px;text-align:center}
@keyframes romEnter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes romBreathe{0%,100%{transform:scale(.9)}40%{transform:scale(1.2)}}@keyframes romRing{0%,100%{opacity:.4;transform:scale(.9)}40%{opacity:1;transform:scale(1.1)}}@keyframes romHalo{to{transform:rotate(8deg) scale(1.1)}}
@media(max-width:700px){.rom header{padding:20px;align-items:flex-start;flex-direction:column}.rom .rom-home{grid-template-columns:1fr}.rom .rom-intro{padding:40px 25px}.rom .rom-panel{padding:35px 22px}.rom .rom-steps{padding:16px 10px!important;gap:6px;flex-wrap:wrap}.rom .rom-steps li{font-size:10px}.rom .rom-steps span{width:18px;height:18px}.rom .rom-scale{gap:3px}.rom .rom-scale button{margin:2px}.rom footer{padding:20px}.rom footer span{float:none;display:block}.rom .rom-phrases button{max-width:none;width:100%}.rom .rom-breath{margin:0}.rom nav button{padding:8px;margin:0}.rom .rom-action{font-size:21px}}
@media(prefers-reduced-motion:reduce){.rom *{animation:none!important;transition:none!important}}

.rom .rom-credit{display:block;font-size:9px;opacity:.7;margin-top:8px}.rom .rom-breath-message{text-align:center;font-family:Georgia,serif;color:#657c50;font-size:18px}
/* Selection updates preserve DOM; Phaser owns the moving word overlay. */
.rom .rom-panel{animation:none}.rom button:hover,.rom .rom-button:hover{transform:none}.rom button:disabled{cursor:default}.rom .rom-word-area{position:relative;min-width:0}.rom #rom-word-fx{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}.rom #rom-word-fx canvas{display:block;max-width:100%}.rom .rom-phrase-box{background:#edf0e3;border:1px solid var(--line);padding:18px;margin:24px 0;min-height:125px}.rom .rom-phrase-box p{margin:0 0 14px;display:flex;justify-content:space-between;gap:12px}.rom .rom-sentence{display:flex;flex-wrap:wrap;gap:10px;min-height:36px;align-items:center;font:22px Georgia,serif}.rom .rom-sentence span{overflow-wrap:anywhere}.rom .rom-table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--line)}.rom .rom-datatable{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.rom .rom-datatable caption{text-align:left;padding:14px;font-weight:bold}.rom .rom-datatable th,.rom .rom-datatable td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top;min-width:120px;max-width:300px;overflow-wrap:anywhere}.rom .rom-datatable th{background:#edf0e3}.rom .rom-datatable th button{margin:0;padding:5px;border:0}.rom .rom-table-pager{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:15px 0}.rom .rom-shell,.rom .rom-home>*{min-width:0}.rom #rom-plant{max-width:100%;overflow:hidden}.rom #rom-plant canvas{max-width:100%;height:auto!important}.rom .rom-chips button{overflow-wrap:anywhere;max-width:100%}
@media(max-width:380px){.rom .rom-panel{padding:24px 14px}.rom .rom-intro{padding:30px 18px}.rom .rom-chips button{padding:9px 12px}.rom .rom-ring{width:230px;height:230px}.rom .rom-orb{width:145px;height:145px}.rom .rom-breath{height:270px}.rom .rom-scale button{padding:16px 0}.rom h2{overflow-wrap:anywhere}.rom .rom-table-pager button{padding:9px 12px}}
.rom .rom-breath-fx{position:absolute;inset:0;pointer-events:none;overflow:hidden}.rom .rom-breath-fx canvas{max-width:100%}.rom .rom-phaser-breath .rom-ring{display:none}.rom .rom-phaser-breath .rom-orb{background:transparent;box-shadow:none}.rom .rom-phaser-breath .rom-orb,.rom .rom-phaser-breath .rom-ring{animation:none!important}

.rom .rom-panel{animation:romEnter .25s ease-out}.rom .rom-word-flight{position:absolute;z-index:3;pointer-events:none;transform:translate(-50%,-50%);font:22px Georgia,serif;color:#365f48;white-space:nowrap;will-change:left,top;animation:none;background:transparent}.rom .rom-word-area{isolation:isolate}

/* A square stage keeps Phaser circles round at every widget width. */
.rom .rom-breath{width:100%;max-width:320px;height:auto;aspect-ratio:1/1;min-height:0;margin:20px auto;display:grid;place-items:center;position:relative;overflow:hidden}.rom .rom-breath-fx{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:1/1}.rom .rom-breath-fx canvas{display:block;width:100%!important;height:100%!important;max-width:100%;aspect-ratio:1/1;object-fit:contain}.rom .rom-orb{width:52%;height:auto;aspect-ratio:1/1;box-sizing:border-box}.rom .rom-ring{width:75%;height:auto;aspect-ratio:1/1}.rom .rom-orb strong{font-size:clamp(16px,4vw,20px);text-align:center}.rom .rom-orb span{font-size:clamp(24px,6vw,30px)}.rom .rom-breath-controls{display:flex;flex-wrap:wrap;justify-content:center}.rom .rom-phaser-breath .rom-orb{width:52%;height:auto;aspect-ratio:1/1}.rom .rom-phaser-breath .rom-breath-fx{max-width:none}
.rom .rom-halo{display:none}.rom #rom-plant{max-width:520px;height:auto;aspect-ratio:420/340;background:transparent}.rom #rom-plant canvas{width:100%!important;height:100%!important;display:block}.rom .rom-recognition{display:flex;align-items:center;gap:18px;padding:20px 0;text-align:left;max-width:470px;margin:20px auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.rom .rom-recognition img{width:58px;height:70px;flex-shrink:0}.rom .rom-recognition strong{font:22px Georgia,serif}.rom .rom-recognition p{font-size:13px;margin:6px 0}.rom .rom-completion{padding:22px 0;margin:20px auto}.rom .rom-plant-grid{display:grid;grid-template-columns:repeat(var(--columns),1fr);align-items:end;height:100%;gap:8px;padding:25px}.rom #rom-plant .rom-plant-grid img{width:100%;margin:0;max-height:110px}.rom .rom-success .rom-chips{justify-content:center}.rom .rom-success #rom-need{text-align:left;font-size:19px}
.rom .rom-garden-page{max-width:1100px;padding:36px}.rom .rom-playground{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,1fr);gap:30px;align-items:center}.rom .rom-playground #rom-plant{max-width:100%;aspect-ratio:4/3;border:1px solid #8ba56d;image-rendering:pixelated}.rom #rom-plant canvas{image-rendering:pixelated}.rom .rom-care-board{padding:22px;background:#edf1e4;text-align:left;border-left:3px solid #8ba56d}.rom .rom-care-board h3,.rom .rom-inventory h3{font:25px Georgia,serif;margin:0 0 15px}.rom .rom-needs{display:grid;gap:10px}.rom .rom-needs>div{display:grid;grid-template-columns:34px 1fr;gap:8px 12px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.rom .rom-needs img{width:32px;height:32px;grid-row:span 2}.rom .rom-needs strong{font-size:11px;font-weight:500}.rom .rom-needs .fulfilled{opacity:.55}.rom .rom-resources{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.rom .rom-inventory{border-top:1px solid var(--line);padding-top:25px;margin-top:25px}.rom .rom-resource{text-align:center;padding:10px 5px;border:1px solid var(--line);background:#f9faf4}.rom .rom-resource.needed{border-color:#557452;background:#e9efdf}.rom .rom-resource>button:first-child{display:grid;grid-template-columns:1fr auto;align-items:center;width:100%;padding:8px;margin:0;border:0}.rom .rom-resource img{width:38px;height:38px;grid-column:span 2;margin:0 auto 10px}.rom .rom-resource span{font-size:12px}.rom .rom-resource strong{font-size:17px}.rom .rom-resource button[aria-pressed=true]{outline:2px solid var(--green)}.rom .rom-resource>button:last-child{font-size:11px;padding:8px;min-height:36px;margin:5px 0}.rom .rom-brand{font:20px Georgia,serif;letter-spacing:0;font-weight:400}.rom .rom-pixel-fallback{display:flex;flex-wrap:wrap;gap:10px;align-items:end;justify-content:center;height:100%;padding:30px;background:#a8c77e}.rom .rom-pixel-fallback span{width:16px;height:var(--sh);background-position:calc(var(--sx)*-16px) calc(var(--sy)*-16px);image-rendering:pixelated;zoom:3}@media(max-width:700px){.rom .rom-garden-page{padding:22px 16px}.rom .rom-playground{grid-template-columns:1fr;gap:15px}.rom .rom-resources{grid-template-columns:repeat(3,minmax(0,1fr))}.rom .rom-care-board{padding:18px}.rom .rom-recognition{gap:12px}}@media(prefers-reduced-motion:reduce){.rom .rom-panel{animation:none}}
.rom .rom-earned-strip{display:flex;flex-wrap:wrap;gap:10px;padding:15px 30px;background:#eef2e7;border-bottom:1px solid var(--line)}.rom .rom-earned-strip span{display:flex;align-items:center;gap:6px;font-size:11px;opacity:.55}.rom .rom-earned-strip .earned{opacity:1}.rom .rom-earned-strip img{width:22px;height:22px}.rom .rom-earned-strip strong{padding:2px 6px;border:1px solid var(--line)}
.rom .rom-playground #rom-plant{aspect-ratio:9/5;border:0;max-width:720px;background:transparent}.rom .rom-playground{grid-template-columns:minmax(0,2fr) minmax(230px,1fr)}.rom .rom-pixel-fallback{background:#f0f3e8}.rom .rom-pixel-fallback span{zoom:2}@media(max-width:700px){.rom .rom-playground{grid-template-columns:1fr}}
@media(max-width:480px){.rom .rom-resources{grid-template-columns:repeat(2,minmax(0,1fr))}.rom .rom-resource>button:last-child{min-height:44px;font-size:13px;padding:10px}.rom .rom-care-board button{min-height:44px;max-width:100%;white-space:normal}.rom .rom-garden-page{padding:20px 12px}.rom .rom-care-board{padding:16px}.rom header{padding:16px 12px;gap:10px;flex-wrap:wrap}.rom nav{width:100%;justify-content:space-between;gap:0}.rom nav button{min-height:44px;padding:8px;margin:0}.rom .rom-playground #rom-plant{width:100%;max-width:100%}}
.rom .rom-playground{align-items:start}.rom .rom-playground #rom-plant{max-width:704px;aspect-ratio:11/8}.rom .rom-garden-page .rom-care-board{margin:0}
