#farmGameRoot{width:100%;min-width:0;max-width:1540px;margin:0 auto;padding:6px 4px 28px;font:400 14px/1.5 "Pretendard Variable",sans-serif;color:var(--ink)}
#farmGameRoot *{box-sizing:border-box}#farmGameRoot h2,#farmGameRoot h3,#farmGameRoot h4,#farmGameRoot p{margin:0}#farmGameRoot h3{font-size:15px;line-height:1.5}#farmGameRoot h4{font-size:13px}
#farmGameRoot button,#farmGameRoot input,#farmGameRoot select{font-family:inherit!important;text-shadow:none!important;box-shadow:none}
#farmGameRoot button{touch-action:manipulation}#farmGameRoot button:focus-visible,#farmGameRoot input:focus-visible,#farmGameRoot select:focus-visible{outline:3px solid #89afff;outline-offset:3px}
.fv-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:19px}.fv-eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--muted)}#farmGameRoot .fv-header h2{font-size:30px;font-weight:750;letter-spacing:-.04em;margin:3px 0}.fv-header p{font-size:12px;color:var(--muted)}.fv-header-tools{display:flex;align-items:center;gap:8px}.fv-wallet{display:flex;align-items:center;gap:7px;padding:9px 12px;white-space:nowrap;background:#fff8e4;border:1px solid #f1e3b6;border-radius:11px;color:#82621e;font-size:12px}.fv-wallet strong{font-size:17px;color:#59441f}.fv-wallet.is-negative{background:#fff2f0;color:#b65c50;border-color:#efccc5}.fv-wallet.is-negative strong{color:#b65c50}
#farmGameRoot .fv-button{display:inline-flex;justify-content:center;align-items:center;gap:5px;min-height:42px;padding:9px 13px;border:1px solid var(--line);border-radius:9px!important;background:var(--paper);font-size:12px;font-weight:650;color:var(--ink);cursor:pointer;line-height:1.4;white-space:normal}#farmGameRoot .fv-button:hover:not(:disabled){background:var(--green-50);border-color:#a5bce9}#farmGameRoot .fv-button.fv-primary{background:#3168ee;border-color:#3168ee;color:#fff}#farmGameRoot .fv-button.fv-primary:hover:not(:disabled){background:#2458d2}#farmGameRoot .fv-button:disabled{opacity:.42;cursor:default}#farmGameRoot .fv-text{background:transparent;border-color:transparent;color:#5276b7;padding:6px 8px;min-height:34px}
.fv-tabs{display:flex;align-items:center;gap:6px;padding:5px;background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-bottom:14px;width:max-content;max-width:100%}#farmGameRoot .fv-tabs .fv-button{border-color:transparent;background:transparent;min-width:74px;min-height:39px}#farmGameRoot .fv-tabs .fv-button[aria-current="page"]{background:#3168ee;color:#fff}
.fv-status{min-height:0;font-size:12px;color:#5776a5}.fv-status:not(:empty){padding:9px 12px;border:1px solid var(--line);border-radius:9px;margin-bottom:12px;background:var(--green-50)}.fv-status.fv-status-quiet{position:absolute;width:1px;height:1px;min-height:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;padding:0;border:0;margin:-1px}.fv-recovery{padding:12px;border:1px solid #eac77b;border-radius:11px;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;background:#fff9e9;color:#88631d;font-size:12px}
.fv-main-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;align-items:start}.fv-main-column,.fv-sidebar{min-width:0}.fv-main-column{display:flex;flex-direction:column}.fv-sidebar{display:flex;flex-direction:column;gap:13px}.fv-side-card{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:17px;min-width:0}.fv-section-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.fv-section-heading>span{font-size:10px;color:var(--muted)}
.fv-scene{position:relative;width:100%;aspect-ratio:1;max-width:724px;height:auto;max-height:none;margin-inline:auto;isolation:isolate;border-radius:13px;overflow:hidden;background-image:url('./assets/farm-v3/worlds-v1.png');background-size:300% 100%;background-repeat:no-repeat;background-color:#83a864;image-rendering:pixelated}.fv-scene-farm{background-position:0 50%}.fv-scene-fish{background-position:50% 50%}.fv-scene-plaza{background-position:100% 50%}.fv-plots{position:absolute;left:27%;right:27%;top:36%;bottom:25%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:2% 3%;z-index:3}
#farmGameRoot .fv-plot,.fv-scene-passive .fv-plot{--fv-plot-center:52.1%;position:relative;display:block;place-self:center;width:100%;height:100%;min-width:0;padding:0;background:none;border:0!important;outline:0;border-radius:11px;cursor:pointer;box-shadow:none!important}
.fv-soil{position:absolute;inset:4% 0 0;background-image:url('./assets/garden-v3/soil-atlas.png');background-size:300% 100%;background-position:0 50%;image-rendering:pixelated;filter:drop-shadow(0 3px 1px #4d54283d)}
/* Share the painted soil centre with names, states and progress bars.
   Plant artwork keeps its additional 0.9% optical correction. */
.fv-planted{position:absolute;top:12%;bottom:26%;left:calc(var(--fv-plot-center) - 27% + 0.9%);width:54%;pointer-events:none}.fv-planted>svg{width:100%;height:100%;overflow:visible}
.fv-plot-label{position:absolute;bottom:1%;left:var(--fv-plot-center);transform:translateX(-50%);padding:3px 8px;border-radius:6px;background:#fff9e9e8;color:#6d5331;white-space:nowrap;font:600 clamp(8px,1vw,11px)/1.3 "Pretendard Variable",sans-serif;pointer-events:none}
.fv-plot.is-selected::after,#farmGameRoot .fv-plot:focus-visible::after{content:"";position:absolute;top:7%;bottom:0;left:calc(var(--fv-plot-center) - 52%);width:104%;box-sizing:border-box;border:3px solid #6b9fff;border-radius:13px;box-shadow:0 0 0 2px #ffffffe6;pointer-events:none}
#farmGameRoot .fv-plot:focus-visible{outline:0}#farmGameRoot .fv-plot:focus-visible::after{border-color:#5289ee}
.fv-plot.is-ripe .fv-plot-label{background:#e9f4d4;color:#467130}.fv-plot-progress{position:absolute;bottom:23%;left:calc(var(--fv-plot-center) - 30%);width:60%;height:4px;overflow:hidden;background:#ffffffb3;border-radius:4px;pointer-events:none}.fv-plot-progress i{display:block;height:100%;background:#77b570}
.fv-avatar{display:block;width:64px;height:80px;image-rendering:pixelated;pointer-events:none}.fv-farmer{position:absolute;left:15%;bottom:19%;z-index:5}.fv-farmer .fv-avatar{width:clamp(36px,8vw,79px);height:auto}.fv-fisher{position:absolute;left:24%;top:41%;width:14%;z-index:4}.fv-fisher .fv-avatar{width:100%;height:auto}.fv-catch-ready{position:absolute;right:12%;top:39%;padding:10px;border-radius:12px;background:#fffbeeea;color:#4b633b;box-shadow:0 3px 12px #23432d26;font-size:12px}
.fv-under-scene{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 2px 12px;color:var(--muted);font-size:10px}.fv-under-scene>div{display:flex;gap:6px}.fv-action-panel{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.fv-action-icon{width:62px;height:62px;flex-shrink:0}.fv-action-icon>svg{width:100%;height:100%}.fv-action-copy{flex:1;min-width:0}.fv-action-copy>div:first-child{display:flex;align-items:center;gap:8px}.fv-action-copy strong{font-size:17px}.fv-action-copy p{font-size:11px;color:var(--muted);margin:4px 0 8px!important}.fv-tag{font-size:10px;background:#eaf2ff;color:#4674bd;padding:3px 6px;border-radius:6px}.fv-progress{height:7px;background:var(--line);border-radius:5px;overflow:hidden}.fv-progress span{display:block;height:100%;border-radius:5px;background:#6196f1;transition:width .25s}.fv-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-start}.fv-action-panel .fv-actions{max-width:170px}.fv-debt-note,.fv-help{color:var(--muted);font-size:11px;line-height:1.75;margin-top:10px!important}.fv-debt-note{color:#b16d52;background:#fff4ee;padding:10px;border-radius:9px}
.fv-icon{display:block;width:100%;height:100%;background-image:url('./assets/farm-v3/collectibles-v1.png');background-size:400% 400%;background-position:var(--icon-x) var(--icon-y);background-repeat:no-repeat;image-rendering:pixelated}.fv-icon>svg{display:block;width:100%;height:100%}.fv-mini-codex{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.fv-mini-codex>div{display:grid;align-content:start;justify-items:center;gap:4px;border:1px solid var(--line);background:var(--green-50);border-radius:8px;padding:5px 2px;min-width:0}.fv-mini-codex>div>span{display:block;width:100%;max-width:80px;height:auto;aspect-ratio:1}.fv-mini-codex>div>span>svg{display:block;width:100%;height:100%}.fv-mini-codex small{max-width:100%;font-size:10px;line-height:1.5;text-align:center;color:var(--muted);white-space:normal;overflow-wrap:anywhere}.is-undiscovered>svg,.is-undiscovered>span>.fv-icon,.fv-codex-art.is-undiscovered>.fv-icon{filter:grayscale(1);opacity:.37}.fv-next{display:flex;align-items:center;gap:10px;padding:9px 0}.fv-next+.fv-next{border-top:1px solid var(--line)}.fv-next-art{width:44px;height:44px;display:grid;place-items:center;font-size:27px;color:#a7b5cf}.fv-next-art>svg{width:100%;height:100%}.fv-next>div{min-width:0;flex:1}.fv-next strong{font-size:12px}.fv-next small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.fv-side-avatar{display:flex;align-items:center;gap:12px}.fv-side-avatar strong{font-size:12px}.fv-side-avatar small{display:block;color:var(--muted);font-size:10px;margin-top:5px}
.fv-chooser{border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:16px}.fv-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;max-height:315px;overflow:auto;padding:3px}.fv-choice{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;min-height:120px;gap:5px;padding:9px 5px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);cursor:pointer}.fv-choice:hover:not(:disabled){border-color:#749ce0;background:var(--green-50)}.fv-choice-art{width:55px;height:55px}.fv-choice-art>svg{width:100%;height:100%}.fv-choice strong{font-size:11px}.fv-choice small{font-size:9px;color:var(--muted)}.fv-choice.is-locked{opacity:.42}.fv-choice.is-locked .fv-choice-art{filter:grayscale(1)}
.fv-wardrobe-layout{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:start;gap:18px}.fv-dressing-preview{position:sticky;top:12px}.fv-large-avatar{height:250px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(#eaf2fb,#eaf3e5);margin:13px 0}.fv-large-avatar .fv-avatar{width:170px;height:auto}.fv-dressing-preview p{font-size:11px;color:var(--muted);line-height:1.8;margin:13px 0!important}.fv-wardrobe-controls{display:flex;flex-direction:column;gap:14px}.fv-wardrobe-controls h3{margin-bottom:10px!important}.fv-segments{display:flex;gap:5px;flex-wrap:wrap}#farmGameRoot [aria-pressed="true"].fv-button{border-color:#739def;background:#edf3ff;color:#376bc3}.fv-wardrobe-controls fieldset,.fv-sidebar fieldset{border:0;margin:12px 0;padding:0;min-width:0}.fv-wardrobe-controls legend,.fv-sidebar legend{font-size:11px;color:var(--muted);margin-bottom:7px}.fv-swatches{display:flex;flex-wrap:wrap;gap:9px}.fv-swatches button{width:37px;height:37px;min-height:37px;border:3px solid var(--paper);outline:1px solid var(--line);border-radius:50%;background:var(--swatch);cursor:pointer}.fv-swatches button[aria-pressed="true"]{outline:3px solid #6c94e7}.fv-wardrobe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:8px}.fv-wardrobe-item{display:flex;align-items:center;flex-direction:column;min-width:0;padding:9px 5px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);cursor:pointer}.fv-wardrobe-item .fv-avatar{width:62px;height:77px}.fv-wardrobe-item .fv-icon{width:65px;height:65px;margin:6px 0}.fv-wardrobe-item strong{font-size:11px;margin-top:6px}.fv-wardrobe-item small{font-size:9px;color:var(--muted);margin-top:3px}.fv-wardrobe-item.is-active{border-color:#6b94e5;background:#edf3ff}.fv-wardrobe-item.is-locked{opacity:.4}
.fv-plaza-person{position:absolute;transform:translate(-50%,-95%);display:flex;align-items:center;flex-direction:column;z-index:4;width:15%;max-width:94px}.fv-plaza-person .fv-avatar{width:100%;height:auto}.fv-plaza-person>span{max-width:105px;font-size:9px;line-height:1.4;padding:2px 5px;border-radius:5px;background:#ffffffe0;color:#3d5d43;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fv-plaza-person.is-me>span{background:#e5f0ff;color:#3869b5}.fv-seat{position:absolute;bottom:14%;left:26%;width:50%;height:35%;object-fit:contain;image-rendering:pixelated;z-index:-1}.fv-plaza-empty{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);text-align:center}.fv-plaza-empty .fv-avatar{margin:0 auto;width:82px;height:auto}.fv-plaza-empty p{padding:7px 11px;background:#ffffffe6;color:#5a6b4f;font-size:11px;border-radius:9px;min-width:180px}.fv-plaza-avatar{display:grid;place-items:center;min-height:165px;background:var(--green-50);border-radius:11px;margin:12px 0}.fv-plaza-avatar .fv-avatar{width:108px;height:auto}.fv-field{display:flex;flex-direction:column;gap:6px;font-size:11px;margin:12px 0}.fv-field input,.fv-field select{min-width:0;width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:9px 10px;font-size:12px}.fv-public-toggle{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.6;margin:14px 0}.fv-public-toggle input{margin-top:3px}.fv-radio-row{display:flex;gap:18px;font-size:12px}.fv-radio-row label{display:flex;gap:6px;align-items:center}
.fv-codex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,125px),1fr));gap:12px}.fv-codex-card{display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center;border:1px solid var(--line);border-radius:12px;padding:14px 8px;gap:7px}.fv-codex-art{display:block;flex:none;width:80px;max-width:100%;height:auto;aspect-ratio:1}.fv-codex-art>svg{display:block;width:100%;height:100%}.fv-codex-card h4,.fv-codex-card strong,.fv-codex-card small{max-width:100%;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.fv-codex-card strong{font-size:12px;color:var(--muted)}.fv-codex-card small{font-size:11px;color:var(--muted)}.fv-codex-card.is-collected{background:var(--green-50)}.fv-codex-card.is-collected strong{color:#5c8b4c}.fv-codex-card.is-locked{opacity:.48}.fv-empty{text-align:center;padding:60px 24px;background:var(--paper);border:1px solid var(--line);border-radius:14px}.fv-empty-sprout{display:block;font-size:38px;margin-bottom:12px}.fv-empty p{font-size:12px;color:var(--muted);margin:10px auto 20px!important;max-width:420px}
.farm-v3-ready .nav-farm-money{display:none!important}.fv-focus-background{display:block!important;background:#709766}.fv-focus-background>.fv-scene{position:absolute;left:50%;top:50%;width:max(100cqw,100cqh);height:auto;max-width:none;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:0;max-height:none}.fv-focus-background .fv-plot-label{display:none}.fv-focus-background .fv-farmer .fv-avatar{width:12cqw;max-width:130px}
:root[data-theme="dark"] .fv-wallet{background:#3c3424;border-color:#5b4a2b;color:#e8cc8c}:root[data-theme="dark"] .fv-wallet strong{color:#f4d793}:root[data-theme="dark"] .fv-large-avatar{background:linear-gradient(#293749,#2b3b30)}:root[data-theme="dark"] .fv-tag{background:#293d61;color:#a9c9ff}:root[data-theme="dark"] #farmGameRoot [aria-pressed="true"].fv-button,:root[data-theme="dark"] .fv-wardrobe-item.is-active{background:#283d5f;color:#bfd4ff}:root[data-theme="dark"] .fv-recovery{background:#393322;color:#dfc489;border-color:#756038}:root[data-theme="dark"] .fv-debt-note{background:#42302b;color:#e9b29b}
@media(min-width:1500px){.fv-main-layout{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:1100px){.fv-main-layout{grid-template-columns:minmax(0,1fr) 230px;gap:12px}.fv-side-card{padding:13px}.fv-action-panel{flex-wrap:wrap}.fv-action-panel .fv-actions{max-width:none;width:100%;justify-content:flex-end}.fv-wardrobe-layout{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:850px){.fv-main-layout{grid-template-columns:minmax(0,1fr)}.fv-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.fv-sidebar>.fv-side-card:last-of-type{grid-column:1/-1}.fv-scene{max-height:none}.fv-wardrobe-layout{grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:600px){#farmGameRoot{padding:0 0 20px}.fv-header{align-items:flex-start;gap:6px;margin-bottom:12px}#farmGameRoot .fv-header h2{font-size:25px}.fv-eyebrow{font-size:8px}.fv-header p{font-size:10px}.fv-header-tools{flex-direction:column;align-items:flex-end;gap:2px}.fv-wallet{padding:6px 10px;font-size:10px}.fv-wallet strong{font-size:15px}#farmGameRoot .fv-header .fv-text{font-size:10px;padding:3px 4px;min-height:25px}.fv-tabs{width:100%;padding:4px;gap:2px}#farmGameRoot .fv-tabs .fv-button{min-width:0;flex:1;padding:8px 3px;font-size:11px;min-height:39px}.fv-main-layout{gap:12px}.fv-scene{border-radius:10px}.fv-sidebar{grid-template-columns:minmax(0,1fr)}.fv-sidebar>.fv-side-card:last-of-type{grid-column:auto}.fv-side-card{padding:14px}.fv-mini-codex{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fv-mini-codex>div{padding:8px 4px;gap:6px}.fv-mini-codex small{font-size:11px}.fv-action-panel{padding:12px;gap:10px}.fv-action-icon{width:47px;height:47px}.fv-action-copy strong{font-size:15px}.fv-action-copy p{font-size:10px}.fv-action-panel .fv-actions{justify-content:stretch}.fv-action-panel .fv-actions .fv-button{flex:1;min-height:44px}.fv-under-scene{font-size:9px;align-items:flex-start}.fv-under-scene .fv-button{font-size:10px!important;padding:5px 8px!important;min-height:32px!important}.fv-chooser{padding:12px}.fv-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:300px}.fv-wardrobe-layout{grid-template-columns:minmax(0,1fr)}.fv-dressing-preview{position:static}.fv-large-avatar{height:190px;margin:10px 0}.fv-large-avatar .fv-avatar{width:140px}.fv-dressing-preview p{margin:10px 0!important}.fv-wardrobe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fv-wardrobe-item strong{font-size:10px}.fv-wardrobe-item small{font-size:8px}.fv-wardrobe-item .fv-avatar{width:54px;height:67px}.fv-wardrobe-item .fv-icon{width:55px;height:55px}.fv-codex-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,120px),1fr));gap:10px}.fv-codex-card{padding:12px 8px}.fv-codex-card small{font-size:11px}.fv-codex-card h4{font-size:13px!important}.fv-codex-card strong{font-size:12px}.fv-plaza-person>span{font-size:7px;max-width:70px}.fv-plaza-person{width:15%}.fv-recovery{flex-direction:column;align-items:flex-start}.fv-plaza-avatar{min-height:140px}.fv-field input,.fv-field select{font-size:16px}.fv-swatches button{width:38px;height:38px}.fv-farmer .fv-avatar{width:13vw}.fv-plot-label{font-size:8px;padding:2px 4px}}
.fv-piece-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px}.fv-piece-grid .fv-button{min-height:44px!important;font-size:10px!important}.fv-piece-grid [aria-pressed="true"]{outline:2px solid #739def;outline-offset:-2px}
@media(prefers-reduced-motion:reduce){.fv-progress span{transition:none}}
#farmGameRoot,#farmGameRoot h2,#farmGameRoot h3,#farmGameRoot h4,#farmGameRoot p,#farmGameRoot strong,#farmGameRoot small,#farmGameRoot span,#farmGameRoot label,#farmGameRoot legend{font-family:"Pretendard Variable",sans-serif!important}
.fv-farmer{left:18%;bottom:24%}
@media(max-width:600px){.fv-header>div:first-child{min-width:0}.fv-header-tools{padding-right:40px}.fv-header p{max-width:190px}.fv-swatches button{width:44px;height:44px}.fv-tabs .fv-button{min-height:44px!important}.fv-segments .fv-button{min-height:44px!important}}
.fv-character-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.fv-character-card{display:flex;align-items:center;flex-direction:column;min-width:0;min-height:195px;border:1px solid var(--line);border-radius:13px;padding:8px 10px 14px;background:var(--paper);color:var(--ink);cursor:pointer}.fv-character-card .fv-avatar{width:90px;height:auto;margin:-5px auto 4px}.fv-character-card strong{font-size:13px;line-height:1.5}.fv-character-card small{display:block;font-size:10px;line-height:1.7;color:var(--muted);margin-top:5px;min-height:17px}.fv-character-card.is-active{border:2px solid #6c94e7;padding:7px 9px 13px;background:var(--green-50)}.fv-character-card.is-locked{opacity:.65;cursor:default}.fv-character-progress{display:block;width:85%;height:4px;border-radius:8px;background:var(--line);margin-top:9px;overflow:hidden}.fv-character-progress i{display:block;height:100%;background:#83bca3;border-radius:8px}.fv-character-save{margin-top:16px}.fv-character-save .fv-primary{flex:1}.fv-side-avatar .fv-avatar{width:62px;height:auto}.fv-next-art .fv-avatar{width:38px;height:auto}.fv-dressing-preview h4{font-size:17px;margin:12px 0 0}.fv-character-card:focus-visible{outline:3px solid #729be7;outline-offset:2px}@media(max-width:600px){.fv-character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fv-character-card{min-height:178px;padding:7px}.fv-character-card.is-active{padding:6px}.fv-character-card strong{font-size:12px}.fv-character-card small{font-size:9px}.fv-character-card .fv-avatar{width:80px}}
.fv-position-map[data-fv-position-enabled="true"]{cursor:crosshair;touch-action:manipulation}.fv-position-map:focus-visible{outline:3px solid #84b0ff;outline-offset:4px}.fv-position-ring{position:absolute;left:18%;right:18%;bottom:18px;height:13%;min-height:5px;border:2px solid #78b6ff;border-radius:50%;background:#c5e2ff66;z-index:-1}.fv-plaza-person.is-preview>span{background:#eef6ff;color:#376294;border:1px dashed #74a6e9}.fv-position-status{font-size:12px;line-height:1.7;color:var(--muted);margin:15px 0!important}.fv-position-save{display:block!important;width:100%;margin-top:14px}.fv-position-map .fv-plaza-person{pointer-events:none}
.fv-speech{position:absolute;left:50%;bottom:82%;transform:translate(calc(-50% + var(--speech-shift-x,0px)),var(--speech-shift-y,0px));width:max-content;max-width:170px;padding:9px 12px;border:2px solid #77705a;border-radius:13px;background:#fffdf3;color:#4a453b;box-shadow:0 3px 0 #3b3a3226;font-size:12px;line-height:1.5;font-weight:600;white-space:normal;overflow-wrap:anywhere;text-align:center;image-rendering:auto;z-index:2}.fv-speech[hidden]{display:none}.fv-speech::after{content:"";position:absolute;left:clamp(9px,calc(50% - var(--speech-shift-x,0px)),calc(100% - 14px));bottom:-7px;width:10px;height:10px;transform:rotate(45deg);border-right:2px solid #77705a;border-bottom:2px solid #77705a;background:#fffdf3}.fv-plaza-person.is-me .fv-speech{border-color:#6d91bd;background:#f6faff}.fv-plaza-person.is-me .fv-speech::after{border-color:#6d91bd;background:#f6faff}.fv-speech-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:-5px}.fv-speech-tools small{color:var(--muted);font-size:10px}.fv-speech-tools .fv-button{min-height:30px;font-size:10px;padding:4px 8px}
@media(max-width:600px){.fv-speech{max-width:130px;padding:6px 8px;border-radius:10px;font-size:10px;line-height:1.4}}
.fv-scene-controls{position:absolute;left:50%;bottom:2%;transform:translateX(-50%);width:92%;max-width:460px;z-index:10;border:1px solid #c9b98d;border-radius:13px;background:#fffdf3f2;color:#4d513c;box-shadow:0 4px 15px #34462c30;backdrop-filter:blur(4px);padding:10px 12px;image-rendering:auto}.fv-scene-control-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;line-height:1.4;margin-bottom:7px}.fv-scene-control-heading strong{font-size:14px}.fv-scene-control-heading>span{color:#65715b;font-size:11px}.fv-scene-control-actions{display:flex;gap:6px}.fv-scene-control-actions .fv-button{flex:1;min-width:0;white-space:nowrap!important}.fv-scene-controls .fv-progress{height:4px;margin-bottom:8px;background:#e2e7d6}.fv-scene-controls .fv-button:not(.fv-primary){background:#fffdf3;border-color:#d8cba9;color:#695b3c}
.fv-codex-art>.garden-crop-art,.fv-mini-codex>div>span>.garden-crop-art{transform:scale(.82);transform-origin:center}
/* Keep the mascot on the pier and the bobber beyond its right edge. */
.fv-fisher.is-fishing{--fv-fishing-contact-x:76.5%;--fv-fishing-contact-y:93%;left:34%;top:36%;width:28%}.fv-fisher.is-fishing .fv-avatar{position:relative;z-index:2;width:100%;height:auto;transform-origin:var(--fv-fishing-contact-x) var(--fv-fishing-contact-y)}.fv-fisher.is-fishing:not(.is-ready) .fv-avatar{animation:fvFishingBreathe 2.4s ease-in-out infinite}.fv-fishing-status{position:absolute;left:34%;top:calc(var(--fv-fishing-art-top,25%) - 6px);transform:translate(-50%,-100%);border:1px solid #e1d6a6;border-radius:9px;background:#fffbe8e8;color:#55674b;font-size:12px;padding:5px 9px;z-index:5;white-space:nowrap}.fv-fishing-ripple{position:absolute;z-index:1;left:calc(var(--fv-fishing-contact-x) - 4%);top:var(--fv-fishing-contact-y);width:21%;height:9%;transform:translateY(-50%);transform-origin:0 50%;border:2px solid #e4fbffb3;border-radius:50%;animation:fvFishingRipple 2s ease-out infinite;pointer-events:none}.fv-fisher.is-ready .fv-fishing-ripple{border-color:#fff4b9;animation-duration:1s}
.fv-fisher.is-fishing:has([data-fv-character="berry-slime"]){--fv-fishing-contact-x:71%;--fv-fishing-contact-y:93.75%}.fv-fisher.is-fishing:has([data-fv-character="jelly-cat"]){--fv-fishing-contact-x:78.7%;--fv-fishing-contact-y:93.75%}
@keyframes fvFishingBreathe{50%{transform:rotate(-.6deg)}}@keyframes fvFishingRipple{0%{opacity:.9;transform:translateY(-50%) scale(.7)}100%{opacity:0;transform:translateY(-50%) scale(1.5)}}
@media(max-width:600px){.fv-scene-controls{padding:4px;border-radius:9px}.fv-scene-control-heading{font-size:9px;line-height:12px;margin-bottom:3px;gap:4px}.fv-scene-control-heading strong{font-size:10px}.fv-scene-control-heading>span{font-size:9px}.fv-scene-control-actions{gap:3px}#farmGameRoot .fv-scene-control-actions .fv-button{min-height:44px;padding:4px 3px;font-size:10px;line-height:1.2}.fv-scene-controls .fv-progress{height:3px;margin-bottom:3px}.fv-fishing-status{font-size:9px;padding:3px 6px}}
.fv-position-map .fv-plaza-person>.fv-avatar{--fv-plaza-hop:clamp(3px,.45vw,6px);animation:fvPlazaHop .9s linear infinite}.fv-position-map .fv-plaza-person:nth-child(3n+2)>.fv-avatar{animation-delay:-.3s}.fv-position-map .fv-plaza-person:nth-child(3n)>.fv-avatar{animation-delay:-.6s}
@keyframes fvPlazaHop{0%,84%,100%{transform:translateY(0)}0%{animation-timing-function:cubic-bezier(.2,.65,.35,1)}42%{transform:translateY(calc(-1 * var(--fv-plaza-hop)));animation-timing-function:cubic-bezier(.65,0,.8,.35)}}
@media(prefers-reduced-motion:reduce){.fv-fisher.is-fishing .fv-avatar,.fv-fishing-ripple,.fv-position-map .fv-plaza-person>.fv-avatar{animation:none}}

@media(max-width:360px){.fv-mini-codex{grid-template-columns:repeat(3,minmax(0,1fr))}}
