
:root{
  --bg:#f5f2e8;
  --card:#fffdf7;
  --ink:#2e3a2f;
  --muted:#788176;
  --line:#d8decf;
  --green:#6db85b;
  --green2:#4f9342;
  --soil:#9a6b43;
  --soil2:#805736;
  --gold:#d9a92f;
  --danger:#bd5e58;
  --shadow:0 10px 30px rgba(60,80,50,.10);
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI","Yu Gothic",sans-serif;
  background:
    radial-gradient(circle at top left, rgba(145,199,112,.22), transparent 34%),
    var(--bg);
  color:var(--ink);
}
button,select{font:inherit}
button{cursor:pointer}
.app{
  width:min(980px,100%);
  margin:0 auto;
  padding:20px 14px 50px;
}
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:6px 4px 14px;
}
.eyebrow{
  color:var(--green2);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
}
h1{font-size:30px;margin:3px 0 0}
h2{margin:0 0 4px}
.ghost,.secondary,.primary{
  border:0;
  border-radius:14px;
  padding:11px 15px;
  font-weight:800;
}
.ghost{background:#ffffffb8;color:var(--ink);border:1px solid var(--line)}
.primary{background:var(--green2);color:white;box-shadow:var(--shadow)}
.secondary{background:#eef3e8;color:var(--green2);border:1px solid #dbe6d4}
.status-card,.toolbar,.seed-picker-wrap,.section-title{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
}
.status-card{padding:16px}
.status-row{
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr;
  gap:12px;
}
.label{font-size:12px;color:var(--muted);font-weight:700;margin-bottom:5px}
.big{font-size:18px;font-weight:900}
select{
  width:100%;
  border:1px solid var(--line);
  background:white;
  color:var(--ink);
  padding:9px 11px;
  border-radius:11px;
  font-weight:800;
}
.energy-wrap{margin-top:14px}
.energy-head{display:flex;justify-content:space-between;font-size:12px;font-weight:800;color:var(--muted);margin-bottom:6px}
.energy-track{height:13px;background:#e8ecdf;border-radius:999px;overflow:hidden}
.energy-bar{height:100%;width:100%;background:linear-gradient(90deg,#8fd06f,#4f9342);transition:.25s}
.tabs{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:7px;
  margin:14px 0;
}
.tab{
  padding:11px 7px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#ffffffaa;
  color:var(--muted);
  font-weight:900;
  font-size:13px;
}
.tab.active{background:var(--ink);color:white;border-color:var(--ink)}
.panel{display:none}
.panel.active{display:block}
.toolbar{padding:14px;margin-bottom:10px}
.tool-title{font-size:12px;font-weight:900;color:var(--muted);margin-bottom:8px}
.tool-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.tool{
  border:1px solid var(--line);
  background:white;
  padding:10px 4px;
  border-radius:12px;
  font-weight:800;
  color:var(--ink);
  font-size:13px;
}
.tool.active{border-color:var(--green2);background:#eef8e9;color:var(--green2)}
.seed-picker-wrap{
  display:grid;
  grid-template-columns:90px 1fr;
  align-items:center;
  padding:12px 14px;
  margin-bottom:10px;
}
.seed-picker-wrap .label{margin:0}
.farm-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:8px;
  background:#c6d9a7;
  border:1px solid #b1c491;
  padding:10px;
  border-radius:20px;
  box-shadow:var(--shadow);
}
.plot{
  position:relative;
  aspect-ratio:1/1;
  border:0;
  border-radius:14px;
  background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 6px,rgba(0,0,0,.03) 6px 12px),
    linear-gradient(180deg,var(--soil),var(--soil2));
  color:white;
  overflow:hidden;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.07);
}
.plot.empty{opacity:.88}
.plot.watered::after{
  content:"";
  position:absolute;inset:0;
  background:rgba(70,125,180,.18);
  pointer-events:none;
}
.crop-icon{font-size:clamp(20px,5vw,34px);display:block;line-height:1.05}
.crop-name{font-size:10px;font-weight:900;display:block;margin-top:4px}
.growth{
  position:absolute;left:7px;right:7px;bottom:6px;height:5px;
  border-radius:999px;background:rgba(255,255,255,.22);overflow:hidden
}
.growth > span{display:block;height:100%;background:#d7ff9f}
.plot.ready{outline:3px solid #ffe08b;outline-offset:-3px}
.farm-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}
.section-title{padding:15px;margin-bottom:10px}
.section-title p{margin:0;color:var(--muted);font-size:13px}
.cards{display:grid;gap:9px}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:16px;
  padding:13px 14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.card-main{display:flex;gap:12px;align-items:center}
.card-icon{font-size:28px;width:38px;text-align:center}
.card-name{font-weight:900}
.card-sub{font-size:12px;color:var(--muted);margin-top:2px}
.card-right{text-align:right}
.qty{font-weight:900;font-size:17px}
.card button{
  border:0;border-radius:10px;padding:8px 10px;background:var(--green2);color:white;font-weight:800
}
.card button.sell{background:var(--gold);color:#3a321c}
.card button:disabled{opacity:.4;cursor:not-allowed}
.log-list{display:grid;gap:8px}
.log-item{
  background:var(--card);border:1px solid var(--line);border-radius:14px;padding:11px 13px
}
.log-meta{font-size:11px;color:var(--muted);font-weight:800;margin-bottom:3px}
.log-text{font-size:13px;font-weight:700}
.toast{
  position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);
  background:#233026;color:white;padding:10px 14px;border-radius:12px;
  opacity:0;pointer-events:none;transition:.25s;z-index:10;font-weight:800;font-size:13px;
}
.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:640px){
  .app{padding:14px 10px 35px}
  h1{font-size:25px}
  .status-row{grid-template-columns:1.2fr .9fr .9fr}
  .big{font-size:16px}
  .tabs{gap:5px}
  .tab{font-size:12px;padding:10px 3px}
  .tool-buttons{grid-template-columns:1fr 1fr}
  .farm-grid{gap:6px;padding:8px}
  .plot{border-radius:11px}
  .crop-name{font-size:8px}
}

.version{display:inline-block;margin-left:5px;background:#e8f5de;color:#3f7f36;padding:2px 6px;border-radius:999px;font-size:10px;letter-spacing:0}
.farm-whisper{margin-top:12px;padding:10px 12px;border-radius:12px;background:#f4f7ed;border:1px dashed #cdd8c2;font-size:12px;font-weight:800;color:#60705f}
.quality-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.quality-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:900;color:#6a7467}
.rare-card{background:linear-gradient(135deg,#fff9dc,#fffdf7);border-color:#ead893}
.gag-tag{display:inline-block;margin-top:5px;padding:3px 7px;border-radius:999px;background:#f3e9ff;color:#6f4d8c;font-size:10px;font-weight:900}
.collection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.collection-item{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;min-height:112px}
.collection-item.locked{filter:grayscale(1);opacity:.55}
.collection-icon{font-size:30px;margin-bottom:7px}
.collection-name{font-weight:900}
.collection-desc{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.45}
.modal{position:fixed;inset:0;background:rgba(24,35,25,.48);display:none;align-items:center;justify-content:center;padding:22px;z-index:30}
.modal.show{display:flex}
.modal-card{width:min(420px,100%);background:var(--card);border:1px solid var(--line);border-radius:24px;padding:22px;text-align:center;box-shadow:0 24px 70px rgba(20,30,20,.25)}
.event-icon{font-size:48px;margin-bottom:7px}
.event-title{font-weight:1000;font-size:21px;margin-bottom:8px}
.event-text{font-size:14px;line-height:1.65;color:#566055;white-space:pre-line}
.modal-close{width:100%;margin-top:16px}
.mutation{animation:pop .35s ease}
@keyframes pop{0%{transform:scale(.7)}70%{transform:scale(1.08)}100%{transform:scale(1)}}
@media(max-width:640px){
  .tabs{overflow-x:auto;grid-template-columns:repeat(6,minmax(62px,1fr))}
  .tab{font-size:11px}
  .collection-grid{grid-template-columns:1fr 1fr}
}
\n\n/* v0.3 house */\n.house-resource-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}\n.house-resource-bar>div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:11px;text-align:center;box-shadow:var(--shadow)}\n.house-resource-bar span{display:block;font-size:11px;color:var(--muted);font-weight:800;margin-bottom:3px}\n.house-resource-bar strong{font-size:18px}\n.house-stage-card{display:grid;grid-template-columns:1fr 1.25fr;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:14px;box-shadow:var(--shadow)}\n.house-visual{min-height:220px;border-radius:17px;display:flex;align-items:flex-end;justify-content:center;padding:20px;position:relative;overflow:hidden;background:linear-gradient(#bfe0ff 0 58%,#a9cf83 58% 100%)}\n.house-visual::before{content:"";position:absolute;width:58px;height:58px;border-radius:50%;background:#ffe38d;top:18px;right:20px;box-shadow:0 0 0 8px rgba(255,227,141,.18)}\n.house-building{position:relative;z-index:2;text-align:center;font-size:76px;filter:drop-shadow(0 8px 8px rgba(45,65,42,.18))}\n.house-caption{display:block;font-size:11px;font-weight:900;background:#ffffffd9;color:var(--ink);padding:5px 9px;border-radius:999px;margin-top:-8px}\n.house-info{padding:8px 4px}\n.house-info p{color:var(--muted);font-size:13px;line-height:1.6}\n.benefit-list{display:grid;gap:6px;margin-top:10px}\n.benefit{padding:8px 10px;border-radius:10px;background:#f3f7ed;border:1px solid #dce7d3;font-size:12px;font-weight:800}\n.house-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:10px}\n.upgrade-requirement{background:var(--card);border:1px dashed var(--line);border-radius:14px;padding:11px 13px;margin-top:9px;font-size:12px;font-weight:800;color:var(--muted)}\n.req-ok{color:var(--green2)}\n.req-ng{color:var(--danger)}\n.inside-card{margin-top:10px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow)}\n.inside-head{display:flex;justify-content:space-between;align-items:center;gap:10px}\n.house-interior{margin-top:12px;min-height:175px;border-radius:16px;padding:14px;border:1px solid #d9c7aa;background:linear-gradient(180deg,#fff2d5 0 68%,#b9885b 68% 100%);display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:end}\n.locked-interior{display:flex;align-items:center;justify-content:center;background:#f0eee8;border-style:dashed;color:var(--muted)}\n.interior-message{text-align:center;font-size:13px;font-weight:800}\n.furniture{background:#ffffffc9;border:1px solid #eadcc6;border-radius:14px;min-height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8px;font-size:28px}\n.furniture small{font-size:10px;font-weight:900;color:var(--muted);margin-top:4px}\n@media(max-width:640px){\n  .house-stage-card{grid-template-columns:1fr}\n  .house-visual{min-height:180px}\n  .house-actions{grid-template-columns:1fr}\n  .house-resource-bar{grid-template-columns:repeat(3,1fr)}\n  .house-resource-bar strong{font-size:15px}\n}\n
/* v0.4 progression, animals, requests */
.tabs{grid-template-columns:repeat(8,1fr)}
.status-mini-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.mini-badge{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border-radius:999px;background:#f0f5ea;border:1px solid #d9e4d1;color:#52614f;font-size:11px;font-weight:900}
.goal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.goal-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center}
.tree-card{background:linear-gradient(145deg,#f8fff2,#fffdf7)}
.rank-card{background:linear-gradient(145deg,#fffaf0,#fffdf7)}
.goal-icon{width:58px;height:58px;display:flex;align-items:center;justify-content:center;font-size:34px;border-radius:16px;background:#ffffffb8;border:1px solid var(--line);flex:0 0 auto}
.goal-main{min-width:0;flex:1}
.goal-title{font-size:16px;font-weight:1000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.goal-sub{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.4;min-height:31px}
.goal-track{height:7px;border-radius:999px;background:#e8ecdf;overflow:hidden;margin-top:8px}
.goal-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,#9bd37f,#4f9342);transition:.25s}
.rank-card .goal-track span{background:linear-gradient(90deg,#f2ce6b,#d69b2f)}
.goal-foot{font-size:10px;color:var(--muted);font-weight:900;margin-top:4px;text-align:right}

.animal-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:10px}
.animal-summary>div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:11px 13px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);font-weight:900}
.animal-summary>div span{font-size:12px;color:var(--muted)}
.animal-summary>div strong{font-size:20px}
.animal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.animal-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:13px;box-shadow:var(--shadow);display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:start}
.animal-face{width:58px;height:58px;border-radius:16px;background:#f4f6ec;display:flex;align-items:center;justify-content:center;font-size:34px;border:1px solid #e1e7d7}
.animal-name{font-weight:1000;font-size:17px}
.animal-meta{font-size:11px;color:var(--muted);font-weight:800;margin-top:2px}
.animal-line{font-size:11px;color:#697068;line-height:1.45;margin-top:6px}
.animal-hearts{font-size:13px;letter-spacing:1px;color:#c95f64;margin-top:6px}
.animal-state{font-size:11px;font-weight:900;margin-top:6px;color:#52614f}
.animal-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px}
.animal-actions button{border:0;border-radius:10px;padding:8px 9px;background:var(--green2);color:#fff;font-weight:900}
.animal-actions button.sell{background:var(--gold);color:#3a321c}
.animal-actions button:disabled{opacity:.4}
.animal-shop-title{margin-top:12px}
.capacity-note{background:#f4f7ed;border:1px dashed #cbd8c0;border-radius:12px;padding:9px 11px;font-size:11px;font-weight:900;color:var(--muted)}
.empty-state{grid-column:1/-1;background:var(--card);border:1px dashed var(--line);border-radius:18px;padding:24px;text-align:center;color:var(--muted);font-weight:900;line-height:1.6}
.request-card{position:relative}
.request-done{opacity:.62;background:#f2f5ee}
.special-shop-row{border-color:#dccf9e;background:#fffbed}

@media(max-width:640px){
  .tabs{grid-template-columns:repeat(9,minmax(58px,1fr))}
  .goal-grid{grid-template-columns:1fr}
  .animal-summary{grid-template-columns:1fr 1fr}
  .animal-summary>div{grid-column:1/-1}
  .animal-grid{grid-template-columns:1fr}
}


/* v0.5 private two-player sync */
.sync-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:14px;
  margin-bottom:12px;
}
.sync-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.sync-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-weight:900;
  font-size:13px;
  background:#f0eee7;
  color:var(--muted);
}
.sync-status.online{
  background:#e7f6e2;
  color:var(--green2);
}
.sync-status.syncing{
  background:#fff4cf;
  color:#8a6d14;
}
.sync-detail{
  margin-top:7px;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.sync-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  justify-content:flex-end;
}
.share-codes{
  margin-top:12px;
  padding:11px;
  border-radius:14px;
  background:#f4f7ef;
  border:1px dashed #c9d6bf;
}
.share-code-row{
  display:flex;
  justify-content:space-between;
  gap:15px;
  padding:5px 0;
  font-size:13px;
}
.share-code-row strong{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.08em;
}
.hidden{display:none !important}
.online-modal-card{max-width:430px}
.online-help{
  color:var(--muted);
  font-size:13px;
  line-height:1.65;
  text-align:left;
}
.online-field{
  display:block;
  text-align:left;
  font-size:12px;
  font-weight:800;
  color:var(--muted);
  margin:10px 0;
}
.online-field input{
  width:100%;
  margin-top:5px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px 13px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.online-cancel{margin-top:8px;width:100%}
.player-locked{
  opacity:.78;
}
@media(max-width:640px){
  .sync-main{display:block}
  .sync-actions{margin-top:10px;justify-content:stretch}
  .sync-actions button{flex:1}
}


/* v0.6 exploration, items, weather, festivals */
.festival-card{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;
  background:linear-gradient(135deg,#fff8db,#fffdf7);border:1px solid #ead89a;border-radius:18px;padding:14px;margin-bottom:10px;box-shadow:var(--shadow)
}
.festival-icon{font-size:34px}.festival-name{font-size:17px;font-weight:950}.festival-text{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.5}
.explore-head{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.explore-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.explore-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:13px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;box-shadow:var(--shadow)}
.explore-card.locked{opacity:.58}.explore-icon{font-size:31px}.explore-card button{border:0;border-radius:10px;padding:9px 11px;background:var(--green2);color:white;font-weight:900}.explore-card button:disabled{opacity:.5}
.item-card{align-items:flex-start}.item-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;min-width:105px}.item-actions button{border:0;border-radius:10px;padding:8px 10px;background:var(--green2);color:#fff;font-weight:900}.item-actions button.sell{background:var(--gold);color:#3a321c}
.rarity{display:inline-block;margin-left:4px;padding:2px 6px;border-radius:999px;background:#f0f3e9;color:var(--muted);font-size:9px;vertical-align:middle}
@media(max-width:640px){.festival-card{grid-template-columns:auto 1fr}.festival-card button{grid-column:1/-1;width:100%}.explore-grid{grid-template-columns:1fr}.item-card{display:block}.item-actions{margin-top:9px;justify-content:flex-start}}


/* v0.7 house life + bulk harvest */
.farm-actions-3{grid-template-columns:repeat(3,1fr)}
.harvest-all-btn{background:#fff7df;border-color:#ead7a3;color:#7a5b16}
.home-message-card{margin-top:10px;background:linear-gradient(135deg,#fffaf0,#fffdf7);border:1px solid #eadbc2;border-radius:15px;padding:11px 13px;display:flex;gap:10px;align-items:flex-start;box-shadow:var(--shadow)}
.home-message-card span{font-size:11px;color:var(--muted);font-weight:900;white-space:nowrap}
.home-message-card strong{font-size:12px;line-height:1.55}
.house-visual{padding:0;background:none;min-height:300px;align-items:stretch}
.house-scene{position:relative;width:100%;min-height:300px;overflow:hidden;border-radius:17px;background:linear-gradient(#9fd5ff 0 61%,#9bcf75 61% 100%);border:1px solid rgba(80,110,70,.15)}
.house-scene::after{content:"";position:absolute;left:-8%;right:-8%;bottom:-38px;height:95px;background:#77b85f;border-radius:50% 50% 0 0/40% 40% 0 0;opacity:.9}
.scene-weather{position:absolute;right:18px;top:14px;font-size:36px;z-index:2;filter:drop-shadow(0 4px 4px rgba(0,0,0,.08))}
.scene-cloud{position:absolute;font-size:25px;opacity:.6;z-index:1}.cloud-a{top:38px;left:12%}.cloud-b{top:76px;right:28%;font-size:19px;opacity:.45}
.house-model{position:absolute;z-index:5;left:50%;bottom:46px;transform:translateX(-50%);width:72%;max-width:330px;min-width:210px}
.house-body{height:118px;background:linear-gradient(90deg,#f7e0ba,#f4d4a3);border:4px solid #704b32;border-top:0;border-radius:3px 3px 8px 8px;position:relative;box-shadow:0 13px 18px rgba(48,63,39,.22)}
.roof{height:70px;background:#8b4f3d;clip-path:polygon(50% 0,100% 75%,92% 100%,8% 100%,0 75%);position:relative;margin:0 -18px -14px;z-index:4;filter:drop-shadow(0 5px 2px rgba(60,40,30,.16))}
.roof-shine{position:absolute;left:23%;top:25%;width:42%;height:5px;background:rgba(255,255,255,.16);transform:rotate(-18deg);border-radius:99px}
.chimney{position:absolute;width:22px;height:40px;background:#765041;right:23%;top:18px;border:3px solid #56372c;clip-path:polygon(0 0,100% 0,91% 100%,9% 100%)}
.window-row{position:absolute;left:12px;right:12px;top:24px;display:flex;justify-content:space-around;gap:8px}
.window{width:35px;height:34px;background:#aee3ff;border:4px solid #6a4c3c;border-radius:4px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.45);position:relative}.window::before,.window::after{content:"";position:absolute;background:#725243}.window::before{width:3px;top:0;bottom:0;left:50%;transform:translateX(-50%)}.window::after{height:3px;left:0;right:0;top:50%;transform:translateY(-50%)}
.door-zone{position:absolute;left:50%;bottom:0;transform:translateX(-50%);display:flex;align-items:center}.door{width:44px;height:66px;background:#704736;border:4px solid #57382c;border-bottom:0;border-radius:5px 5px 0 0;display:flex;justify-content:flex-end;align-items:center;padding-right:5px;color:#e4c66b;font-size:10px}.porch-light{position:absolute;left:51px;top:-11px;font-size:13px}
.upper-floor{position:absolute;left:16%;right:16%;height:72px;background:#f8dfb9;border:4px solid #704b32;border-bottom:0;top:-39px;z-index:1;display:flex;justify-content:space-around;align-items:center;padding:12px 20px 5px}.upper-window{font-size:28px;color:#5597b5;line-height:1}
.porch{position:absolute;left:27%;right:27%;bottom:-15px;height:18px;background:#ae825d;border:3px solid #704b32;display:flex;justify-content:space-around;z-index:8}.porch span{width:4px;height:17px;background:#75533e;margin-top:12px}
.side-wing{position:absolute;width:68px;height:78px;right:-56px;bottom:0;background:#edd0a2;border:4px solid #704b32;border-left:0;border-radius:0 7px 7px 0;padding:17px 12px}
.house-banner{position:absolute;left:50%;transform:translateX(-50%);bottom:-30px;background:#fff6dc;border:2px solid #8e6a43;border-radius:999px;padding:4px 13px;font-size:11px;font-weight:1000;white-space:nowrap}
.yard-details{position:absolute;left:10%;right:10%;bottom:25px;z-index:7;display:flex;justify-content:space-between;align-items:end;font-size:25px}.yard-details span:nth-child(2){font-size:30px}.yard-details span:nth-child(4){font-size:30px}
.house-scene-label{position:absolute;left:12px;bottom:12px;z-index:9;background:rgba(255,255,255,.9);border:1px solid rgba(100,110,90,.18);border-radius:12px;padding:7px 10px;box-shadow:0 4px 12px rgba(40,50,30,.08)}.house-scene-label b{display:block;font-size:13px}.house-scene-label small{font-size:10px;color:var(--muted);font-weight:900}
.house-lv-1 .house-model{width:56%}.house-lv-1 .window-row .window:nth-child(n+3){display:none}.house-lv-2 .house-model{width:64%}.house-lv-2 .window-row .window:nth-child(n+4){display:none}.house-lv-4 .house-model,.house-lv-5 .house-model{width:78%}.house-lv-5 .roof{background:#70474a}.house-lv-5 .house-body{background:linear-gradient(90deg,#f7ead3,#e9d0aa)}
.house-empty{display:flex;align-items:center;justify-content:center}.empty-lot{position:relative;z-index:3;background:rgba(255,255,255,.84);border:2px dashed #738d63;border-radius:20px;padding:22px 28px;text-align:center;max-width:270px}.empty-lot strong{display:block;font-size:17px;margin:5px 0}.empty-lot small{display:block;color:var(--muted);font-size:11px;line-height:1.5}.empty-grass{font-size:30px}
.interactive-interior{display:block;min-height:330px;padding:14px;background:linear-gradient(180deg,#f9ebce 0 66%,#bd8b60 66% 100%)}
.interior-floor-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:8px 10px;background:rgba(255,255,255,.72);border:1px solid #e2d0b2;border-radius:12px}.interior-floor-title span{font-weight:1000}.interior-floor-title small{font-size:10px;color:var(--muted);font-weight:900}
.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.room-card{border:2px solid #e4d0b0;background:rgba(255,253,245,.92);border-radius:14px;padding:10px 6px;min-height:94px;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center}.room-card.selected{border-color:#77aa63;background:#f2faeb;box-shadow:0 0 0 3px rgba(119,170,99,.12)}.room-icon{font-size:27px}.room-card b{font-size:12px;margin-top:3px}.room-card small{font-size:9px;color:var(--muted);margin-top:3px;line-height:1.3}
.room-detail{margin-top:10px;background:rgba(255,255,255,.92);border:1px solid #dfc9a8;border-radius:14px;padding:11px 12px;display:flex;justify-content:space-between;gap:12px;align-items:center}.room-detail div{min-width:0}.room-detail b{font-size:13px}.room-detail p{margin:4px 0 0;font-size:11px;color:var(--muted);line-height:1.5}.room-detail button{flex:0 0 auto;min-width:112px;border:0;border-radius:11px;padding:9px 10px;font-weight:900}.room-detail button:disabled{opacity:.45}
@media(max-width:640px){.farm-actions-3{grid-template-columns:1fr 1fr}.farm-actions-3 .primary{grid-column:1/-1}.house-visual,.house-scene{min-height:260px}.house-model{width:76%;bottom:42px}.house-lv-1 .house-model{width:62%}.room-grid{grid-template-columns:repeat(2,1fr)}.room-detail{align-items:stretch;flex-direction:column}.room-detail button{width:100%}.side-wing{right:-42px;width:58px}}

/* v0.8 crops, animals, fishing, clearer item uses */
.tabs{grid-template-columns:repeat(10,minmax(62px,1fr));overflow-x:auto}
.item-purpose{margin-top:5px;padding:6px 8px;border-radius:9px;background:#eef7e8;border:1px solid #d6e8cc;color:#3f6f39;font-size:11px;font-weight:900;line-height:1.45}
.fishing-summary{display:grid;grid-template-columns:1fr 1fr auto auto auto;gap:8px;margin-bottom:10px;align-items:center}
.fishing-summary>div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:11px 13px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);font-weight:900}
.fishing-summary>div span{font-size:12px;color:var(--muted)}
.fishing-summary>div strong{font-size:18px}
.fishing-summary button{border:0;border-radius:12px;padding:10px 11px;font-weight:900}
.fishing-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:13px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;box-shadow:var(--shadow)}
.fishing-card.locked{opacity:.58}
.fishing-card button{border:0;border-radius:10px;padding:9px 11px;background:var(--green2);color:white;font-weight:900}
.fishing-card button:disabled{opacity:.5}
.fishing-tournament{margin-bottom:10px}
@media(max-width:760px){
  .tabs{grid-template-columns:repeat(10,minmax(58px,1fr))}
  .fishing-summary{grid-template-columns:1fr 1fr}
  .fishing-summary .mini-badge{grid-column:1/-1}
  .fishing-summary button{width:100%}
}


/* v0.9 滋賀＆ゴッチ */
.shiga-tab{background:linear-gradient(180deg,#eefaff,#e8f7e8)}
.shiga-title{background:linear-gradient(135deg,#f7fff9,#eefaff)}
.shiga-hero-card{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:center;background:linear-gradient(135deg,#eaf9ff,#f5fff0);border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow)}
.biwako-visual{height:130px;border-radius:18px;position:relative;overflow:hidden;background:linear-gradient(#bfe7ff 0 45%,#68b9e8 46% 76%,#96cd72 77%);display:flex;align-items:center;justify-content:center}
.lake-sun{position:absolute;right:16px;top:12px;font-size:24px}.lake-mountain{position:absolute;left:18px;top:30px;font-size:50px;opacity:.75}.lake-water{position:absolute;left:8px;right:8px;bottom:30px;text-align:center;color:white;letter-spacing:4px;font-weight:900}.lake-fish{position:absolute;bottom:18px;right:44px;font-size:28px;transform:rotate(-8deg)}
.shiga-hero-copy h3{font-size:22px;margin:2px 0 5px}.shiga-hero-copy p{margin:0 0 10px;color:var(--muted);font-size:13px}
.gocchi-card{margin-top:12px;background:linear-gradient(135deg,#efffe9,#fff8e9);border:1px solid #cddfbd;border-radius:22px;padding:16px;display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center;box-shadow:var(--shadow)}
.gocchi-avatar{height:170px;position:relative;display:flex;align-items:flex-start;justify-content:center;filter:drop-shadow(0 7px 8px rgba(45,65,35,.15))}
.gocchi-head{position:absolute;top:29px;width:62px;height:64px;border-radius:45% 45% 52% 52%;background:#e8c5a3;border:2px solid #3c4435;z-index:3}
.gocchi-hair{position:absolute;top:17px;width:70px;height:35px;border-radius:55% 60% 30% 30%;background:#3caa54;border:2px solid #2c6f38;z-index:4;transform:rotate(-4deg)}
.gocchi-hair:after{content:"";position:absolute;left:7px;bottom:-9px;width:54px;height:18px;background:#3caa54;clip-path:polygon(0 0,14% 100%,28% 10%,43% 100%,57% 8%,73% 100%,88% 8%,100% 100%,100% 0)}
.gocchi-eye{position:absolute;top:28px;width:5px;height:5px;border-radius:50%;background:#2f342d}.gocchi-eye.left{left:16px}.gocchi-eye.right{right:16px}.gocchi-chin{position:absolute;left:23px;bottom:-12px;width:20px;height:22px;background:#e8c5a3;border:2px solid #3c4435;border-top:0;transform:skewX(-10deg);z-index:-1}
.gocchi-body{position:absolute;top:87px;width:112px;height:58px;border-radius:50% 50% 18% 18%;background:linear-gradient(#b9e6a8,#75b765);border:2px solid #3c4435;z-index:2}.gocchi-body:before{content:"💪";position:absolute;left:35px;top:8px;font-size:34px}.gocchi-arm{position:absolute;top:4px;width:34px;height:49px;background:#e2b98f;border:2px solid #3c4435;border-radius:50%}.gocchi-arm.left{left:-25px;transform:rotate(24deg)}.gocchi-arm.right{right:-25px;transform:rotate(-24deg)}
.gocchi-legs{position:absolute;top:143px;display:flex;gap:17px}.gocchi-legs span{width:10px;height:28px;background:#465345;border-radius:5px}
.gocchi-main h2{margin:2px 0 4px;font-size:25px}.gocchi-main p{margin:0;color:#596552;font-weight:800}.gocchi-stats{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.gocchi-stats span{font-size:12px;background:#ffffffb8;border:1px solid #d4dfca;border-radius:999px;padding:6px 9px;font-weight:900}.gocchi-actions{display:flex;gap:8px;flex-wrap:wrap}
.shiga-collect-tag{display:inline-block;border-radius:999px;padding:3px 7px;font-size:10px;background:#eef8ff;color:#377097;font-weight:900;margin-left:5px}
@media(max-width:640px){.shiga-hero-card{grid-template-columns:1fr}.biwako-visual{height:105px}.gocchi-card{grid-template-columns:100px 1fr;gap:10px}.gocchi-avatar{transform:scale(.82);transform-origin:center}.gocchi-actions{display:grid;grid-template-columns:1fr}.gocchi-main h2{font-size:21px}}


/* v1.0 図鑑沼＆珍品アップデート */
.collection-summary-card{display:flex;gap:16px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow)}
.collection-big-number{min-width:92px;text-align:center;padding:12px;border-radius:16px;background:#f0f6e9}.collection-big-number strong{display:block;font-size:32px;line-height:1;color:var(--green2)}.collection-big-number span{display:block;margin-top:6px;font-size:11px;font-weight:900;color:var(--muted)}
.collection-progress-main{flex:1;min-width:0}.big-track{height:14px}.collection-breakdown{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.collection-breakdown .mini-badge{font-size:10px}
.collection-rewards{display:grid;gap:8px}.collection-reward{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 12px}.collection-reward.claimed{opacity:.68;background:#f1f3ed}.reward-pct{font-size:18px;font-weight:1000;color:var(--green2);text-align:center}.reward-copy{display:grid;gap:3px}.reward-copy strong{font-size:13px}.reward-copy span{font-size:11px;color:var(--muted);line-height:1.5}.collection-reward button{border:0;border-radius:10px;padding:8px 10px;background:var(--green2);color:#fff;font-weight:900}.collection-reward button:disabled{opacity:.35}
.collection-filter-row{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:10px;margin:12px 0;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 12px}.collection-filter-row label{font-size:12px;color:var(--muted);font-weight:900}
.tanuki-comment{margin:10px 0;padding:11px 13px;border-radius:14px;background:#fff7df;border:1px dashed #cba85e;font-size:12px;font-weight:800;line-height:1.55}
#insectsPanel .fishing-summary{margin-bottom:10px}.collection-item.locked .collection-desc{font-style:normal}.collection-item.locked{filter:none;opacity:.58}.collection-item.locked .collection-icon{filter:grayscale(1)}
.farm-actions-3{grid-template-columns:repeat(4,1fr)}
@media(max-width:640px){.collection-summary-card{align-items:stretch}.collection-big-number{min-width:78px}.collection-big-number strong{font-size:27px}.collection-reward{grid-template-columns:48px 1fr}.collection-reward button{grid-column:1/-1}.farm-actions-3{grid-template-columns:1fr 1fr}}

/* v1.1 money, compact nav, house themes, green-haired shopkeeper */
.quick-nav{
  display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:14px 0 8px;
  position:sticky;top:6px;z-index:30;padding:7px;background:rgba(245,242,232,.94);
  backdrop-filter:blur(10px);border:1px solid rgba(216,222,207,.9);border-radius:16px;box-shadow:0 8px 24px rgba(60,80,50,.10)
}
.quick-tab{border:1px solid var(--line);background:#fffdf8;color:var(--muted);border-radius:12px;padding:7px 4px 6px;font-weight:900;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}
.quick-tab>span{font-size:20px;line-height:1}.quick-tab small{font-size:10px;white-space:nowrap}.quick-tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.menu-sheet{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px;margin-bottom:12px;box-shadow:var(--shadow)}
.menu-sheet.hidden{display:none}.menu-sheet button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 6px;display:flex;flex-direction:column;gap:4px;align-items:center;font-weight:900;color:var(--ink);font-size:19px}.menu-sheet button span{font-size:11px}

.shopkeeper-card{display:flex;gap:12px;align-items:center;background:linear-gradient(135deg,#eef8e8,#fffdf7);border:1px solid #cfe0c7;border-radius:18px;padding:12px 13px;margin-bottom:10px;box-shadow:var(--shadow)}
.green-shopkeeper{width:62px;height:62px;flex:0 0 62px;border-radius:18px;background:#f4ddb9;border:3px solid #476d3b;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 -8px 0 rgba(90,65,45,.08)}
.shop-hair{position:absolute;left:-6px;right:-6px;top:-10px;height:34px;background:#4f9b49;border-radius:55% 55% 45% 45%;transform:rotate(-4deg)}
.shop-hair::after{content:"";position:absolute;left:8px;right:10px;bottom:-10px;height:16px;background:#4f9b49;clip-path:polygon(0 0,18% 55%,35% 5%,52% 65%,72% 10%,100% 45%,100% 0)}
.shop-face{font-weight:1000;font-size:15px;margin-top:15px;color:#4b382e}.shopkeeper-copy{min-width:0}.shopkeeper-name{font-size:12px;font-weight:1000;color:#47723d;margin-bottom:5px}.shopkeeper-line{font-size:13px;font-weight:800;line-height:1.55}

.casino-head-card{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.casino-head-card>div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:11px;text-align:center;box-shadow:var(--shadow)}.casino-head-card strong{display:block;font-size:15px}.casino-message{background:#fff7df;border:1px solid #e8d39c;border-radius:14px;padding:11px 13px;font-size:12px;font-weight:900;line-height:1.5;margin-bottom:10px}.casino-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.casino-game{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:14px;box-shadow:var(--shadow);text-align:center}.casino-game h3{margin:4px 0 6px;font-size:15px}.casino-game p{font-size:11px;line-height:1.55;color:var(--muted);min-height:52px}.casino-icon{font-size:34px}.casino-game>button,.tanuki-choices button{border:0;border-radius:11px;padding:9px 11px;font-weight:900;background:var(--green2);color:white}.casino-game button:disabled{opacity:.4}.free-game{background:linear-gradient(135deg,#fffaf0,#fff3c9)}.tanuki-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tanuki-choices button{background:#8b6d42}

.house-theme-card{margin-top:10px}.compact-title{box-shadow:none;margin-bottom:8px}.house-theme-list{display:grid;gap:8px}.house-theme-option{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 11px}.house-theme-option.active{border-color:#6fa260;background:#f1faed;box-shadow:0 0 0 3px rgba(111,162,96,.10)}.house-theme-option.locked{opacity:.65}.theme-icon{font-size:27px;text-align:center}.theme-copy b{display:block;font-size:12px}.theme-copy small{display:block;font-size:10px;color:var(--muted);line-height:1.4;margin-top:2px}.house-theme-option button{border:0;border-radius:10px;padding:8px 9px;background:var(--green2);color:#fff;font-size:10px;font-weight:900;min-width:76px}.house-theme-option button:disabled{background:#e2e5dc;color:#858b80}.locked-theme-card .house-theme-list{filter:saturate(.7)}

.house-theme-lake .roof{background:#497b93}.house-theme-lake .house-body,.house-theme-lake .upper-floor{background:linear-gradient(90deg,#f2fbff,#d9edf6)}.house-theme-lake .door{background:#416879}.house-theme-lake .house-banner{border-color:#4f8197;background:#eaf8ff}
.house-theme-shigaraki .roof{background:#654d3c}.house-theme-shigaraki .house-body,.house-theme-shigaraki .upper-floor{background:linear-gradient(90deg,#dcb98e,#c99b69)}.house-theme-shigaraki .door{background:#4e392b}.house-theme-shigaraki .house-banner{background:#efe0c5;border-color:#6c4e38}
.house-theme-redroof .roof{background:#a83e34}.house-theme-redroof .house-body,.house-theme-redroof .upper-floor{background:linear-gradient(90deg,#fff7ed,#f1eadf)}.house-theme-redroof .door{background:#5d4037}.house-theme-redroof .window{background:#bceaff}
.house-theme-gocchi .roof{background:#3d8d43}.house-theme-gocchi .house-body,.house-theme-gocchi .upper-floor{background:linear-gradient(90deg,#eee5c9,#d9cca9)}.house-theme-gocchi .door{background:#315d35}.house-theme-gocchi .house-banner{background:#dff3dc;border-color:#3d8d43;font-weight:1000}.house-theme-gocchi .house-banner::after{content:" 💪"}

@media(max-width:640px){
  .quick-nav{gap:4px;padding:5px}.quick-tab{padding:6px 2px 5px}.quick-tab>span{font-size:18px}.quick-tab small{font-size:9px}
  .menu-sheet{grid-template-columns:repeat(3,1fr)}.casino-grid{grid-template-columns:1fr}.casino-head-card{grid-template-columns:1fr 1fr}.casino-head-card>div:last-child{grid-column:1/-1}.house-theme-option{grid-template-columns:34px 1fr}.house-theme-option button{grid-column:1/-1;width:100%}
}

/* v1.1.1 compact share UI */
.sync-compact{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  margin:-4px 0 8px;
  position:relative;
  z-index:6;
}
.sync-mini-btn{
  appearance:none;
  border:1px solid var(--line);
  background:rgba(255,253,247,.94);
  color:var(--ink);
  border-radius:999px;
  min-height:34px;
  padding:6px 10px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  font-weight:900;
  box-shadow:0 4px 14px rgba(60,80,50,.08);
  max-width:150px;
}
.sync-mini-btn:active{transform:translateY(1px)}
.sync-mini-dot{width:8px;height:8px;border-radius:50%;background:#a8aea5;flex:0 0 auto}
.sync-mini-dot.online{background:#56a846;box-shadow:0 0 0 3px rgba(86,168,70,.12)}
.sync-mini-dot.syncing{background:#d7a622;box-shadow:0 0 0 3px rgba(215,166,34,.12)}
.sync-mini-dot.error{background:#bf5c55;box-shadow:0 0 0 3px rgba(191,92,85,.12)}
.sync-mini-chevron{font-size:13px;color:var(--muted);margin-left:1px}
.sync-compact .sync-card{
  width:100%;
  margin:8px 0 4px;
  box-shadow:0 12px 28px rgba(60,80,50,.13);
}
.sync-panel-close{
  width:100%;
  margin-top:10px;
  border:0;
  background:transparent;
  color:var(--muted);
  font-weight:900;
  font-size:12px;
  padding:8px;
}
@media(max-width:640px){
  .sync-compact{margin-top:-8px;margin-bottom:5px}
  .sync-mini-btn{min-height:30px;padding:5px 9px;font-size:10px;max-width:132px}
  .sync-compact .sync-card{margin-top:6px}
}


/* v1.2 長期プレイ & スポーツ館 */
.year-badge{font-weight:900}
.sports-title{background:linear-gradient(135deg,#fffdf7,#f3f7ff)}
.sports-hall-card{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:var(--shadow);margin-bottom:10px}
.sports-hall-icon{width:70px;height:70px;border-radius:18px;background:#eef3e8;display:grid;place-items:center;font-size:38px;flex:none}
.sports-hall-main{flex:1;min-width:0}.sports-hall-main h3{margin:0 0 4px}.sports-hall-main p{margin:0 0 9px;color:var(--muted);font-size:13px}
.sports-day-banner{background:#fff7dc;border:1px solid #ead8a2;border-radius:14px;padding:11px 13px;font-weight:800;margin-bottom:10px}
.sports-team-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sports-team-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:var(--shadow)}
.sports-team-card.hawks-card{border-top:5px solid #e5b900}.sports-team-card.lakes-card{border-top:5px solid #4a78c2}
.sports-team-head{display:flex;gap:10px;align-items:center}.sports-team-head h3{margin:2px 0 0}.sports-ball{font-size:34px}
.sports-team-card p{font-size:13px;color:var(--muted);line-height:1.55}
.sports-record{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.sports-record span{background:#f5f4ee;border-radius:10px;padding:7px;text-align:center;font-size:11px}.sports-record b{display:block;font-size:14px;margin-top:2px}
.sports-team-card button{width:100%}.sports-message{margin-top:10px;background:#243126;color:white;border-radius:14px;padding:12px 14px;font-weight:800;line-height:1.5}
.history-list{display:grid;gap:8px}.history-item{display:grid;grid-template-columns:52px 1fr;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:11px 12px}.history-year{font-weight:900;text-align:center;background:#eef3e8;border-radius:10px;padding:8px 4px;font-size:12px}.history-main b{display:block}.history-main small{display:block;color:var(--muted);margin-top:3px;line-height:1.45}.history-icon{font-size:18px;margin-right:5px}
.sports-locked-note{opacity:.7}.sports-new{box-shadow:inset 0 0 0 2px #ead274}
@media(max-width:640px){.sports-team-grid{grid-template-columns:1fr}.sports-hall-card{align-items:flex-start}.sports-hall-icon{width:58px;height:58px;font-size:31px}.sports-record{grid-template-columns:repeat(3,1fr)}}
