/*
Theme Name: Orange FC
Theme URI: https://example.invalid/
Author: Orange FC
Description: Orange FC専用の非公開WordPressテーマ
Version: 0.9.200
Text Domain: orange-fc
*/

/* ===== v0.9.108: first-login main-job prompt ===== */
.orange-job-onboarding{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:20px;background:rgba(48,39,31,.62);backdrop-filter:blur(7px)}
.orange-job-onboarding-card{position:relative;width:min(100%,480px);box-sizing:border-box;padding:38px 38px 30px;border:1px solid #ead7b8;border-radius:28px;background:#fffaf0;box-shadow:0 24px 80px rgba(54,39,25,.3);text-align:center;color:#544536}
.orange-job-onboarding-fruit{display:grid;place-items:center;width:68px;height:68px;margin:-72px auto 19px;border:5px solid #fffaf0;border-radius:50%;background:#f4a245;font-size:35px;box-shadow:0 7px 18px rgba(136,83,31,.2)}
.orange-job-onboarding-kicker{margin:0 0 7px!important;color:#dc7b28;font-size:12px;font-weight:700;letter-spacing:.18em}
.orange-job-onboarding-card h2{margin:0 0 12px;font-size:clamp(23px,5vw,31px);line-height:1.4}
.orange-job-onboarding-card>p:not(.orange-job-onboarding-kicker):not(.orange-job-onboarding-error){margin:0 auto 25px;max-width:390px;color:#796a5c;font-size:14px;line-height:1.8}
.orange-job-onboarding-card form{display:grid;gap:15px;text-align:left}
.orange-job-onboarding-card label{display:grid;gap:7px;font-weight:700}
.orange-job-onboarding-card select{width:100%;box-sizing:border-box;padding:13px 42px 13px 14px;border:1px solid #d9c3a5;border-radius:13px;background:#fff;color:#514438;font:inherit}
.orange-job-onboarding-card button{width:100%;padding:14px 20px;border:0;border-radius:999px;background:linear-gradient(135deg,#ee902e,#df7222);box-shadow:0 7px 16px rgba(213,111,32,.22);color:#fff;font:700 15px/1.2 "Zen Maru Gothic",sans-serif;cursor:pointer}
.orange-job-onboarding-card button:hover{filter:brightness(1.04);transform:translateY(-1px)}
.orange-job-onboarding-error{margin:0 0 15px!important;padding:9px 12px;border-radius:10px;background:#fff0ed;color:#a33d2c;font-size:13px}
.orange-job-onboarding-preview-label{display:inline-flex;margin:0 auto 13px;padding:6px 12px;border-radius:999px;background:#544536;color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em}
.orange-job-onboarding-preview-note{margin:-8px 0 16px!important;padding:9px 12px;border:1px solid #ead7b8;border-radius:11px;background:#fff;color:#795f43!important;font-size:12px!important;line-height:1.6!important}
.orange-job-onboarding-logout{display:inline-block;margin-top:18px;color:#857362;font-size:12px;text-decoration:none}
body:has(.orange-job-onboarding){overflow:hidden}
@media(max-width:520px){.orange-job-onboarding{padding:16px}.orange-job-onboarding-card{padding:34px 22px 25px;border-radius:23px}.orange-job-onboarding-fruit{margin-top:-67px}}



:root {
  --paper: #f8f1df;
  --paper-light: #fffaf0;
  --ink: #4e4337;
  --muted: #7d6f60;
  --wood: #805b38;
  --wood-dark: #59412d;
  --orange: #e98632;
  --orange-pale: #f7d5a8;
  --green: #778c55;
  --blue: #9bbec1;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Zen Maru Gothic", sans-serif; font-size: 16px; font-weight: 500; }
a { color: inherit; text-decoration: none; }

.site-header {
  position: relative;
  z-index: 20;
  height: 74px;
  padding: 0 clamp(18px, 4vw, 64px);
  display: flex;
  align-items: center;
  gap: 34px;
  background: rgba(255,250,240,.96);
  border-bottom: 1px solid rgba(108,82,53,.12);
}
.brand { display: flex; align-items: center; gap: 10px; font-size: 27px; letter-spacing: .05em; }
.brand-crest { width: 40px; height: 40px; border-radius: 50%; filter: drop-shadow(0 3px 5px rgba(90,64,39,.2)); }
nav { display: flex; gap: 27px; margin-left: auto; color: #6d5e4e; font-size: 15px; }
.desktop-primary-nav a { position: relative; padding: 8px 0; }
.desktop-primary-nav a::after { content: ""; position: absolute; left: 0; bottom: 2px; width: 0; height: 2px; background: var(--orange); transition: width .2s; }
.desktop-primary-nav a:hover::after { width: 100%; }
.member-button {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #d8c5aa;
  border-radius: 999px;
  padding: 10px 16px;
  background: #f6ead7;
  color: #8a6d4e;
  font: inherit;
  font-size: 14px;
}
.key-mark { color: var(--orange); }

.house-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #fbf1e1 0%, #fdf2e4 48%, #fcf2e4 100%);
  border-bottom: 8px solid #fff8e9;
}
.house-stage {
  position: relative;
  z-index: 2;
  width: min(100%, 1140px);
  aspect-ratio: 3 / 2;
  margin: 0 auto;
}
.house-stage::before,.house-stage::after { content: ""; position: absolute; z-index: 3; top: 0; bottom: 0; width: 18px; pointer-events: none; }
.house-stage::before { left: 0; background: linear-gradient(90deg, rgba(252,242,226,.96), rgba(252,242,226,0)); }
.house-stage::after { right: 0; background: linear-gradient(270deg, rgba(252,242,226,.96), rgba(252,242,226,0)); }
.house-art { display: block; width: 100%; height: 100%; object-fit: fill; }
.title-sign {
  position: absolute;
  z-index: 12;
  top: 5%;
  left: 4.5%;
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 15px 24px 15px 15px;
  border: 2px solid rgba(103,72,43,.2);
  border-radius: 18px;
  background: rgba(255,250,238,.92);
  box-shadow: 0 9px 24px rgba(77,57,36,.14);
  transform: rotate(-1.2deg);
}
.title-sign::before,.title-sign::after { content: ""; position: absolute; top: -24px; width: 2px; height: 25px; background: #8d7356; }
.title-sign::before { left: 28%; }
.title-sign::after { right: 28%; }
.title-sign img { width: 54px; height: 54px; border-radius: 13px; }
.title-sign h1 { margin: 0; font-size: clamp(37px, 4vw, 58px); line-height: .9; font-weight: 500; letter-spacing: .04em; }
.title-sign p { margin: 9px 0 0; color: #a7632c; font-size: 14px; letter-spacing: .1em; }

.house-hotspot {
  position: absolute;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 13px 8px 8px;
  border: 2px solid #fff9ed;
  border-radius: 999px;
  background: rgba(96,69,43,.91);
  color: #fff;
  box-shadow: 0 5px 15px rgba(64,45,29,.18);
  font-size: 15px;
  transform: translate(-50%, -50%);
  transition: transform .2s, background .2s;
}
.house-hotspot span { display: grid; place-items: center; width: 31px; height: 31px; flex: 0 0 31px; border-radius: 50%; background: var(--orange); font-size: 12px; font-weight: 500; }
.house-hotspot strong { font-weight: 700; white-space: nowrap; }
.house-hotspot:hover { transform: translate(-50%, calc(-50% - 4px)); background: var(--wood-dark); }
.house-hotspot::after { content: ""; position: absolute; left: 25px; top: 100%; width: 2px; height: 28px; background: rgba(96,69,43,.75); }
.hotspot-about { left: 27.7%; top: 48.5%; }
.hotspot-activity { left: 72.2%; top: 48.5%; }
.hotspot-album { left: 27.8%; top: 76.5%; }
.hotspot-join { left: 71.9%; top: 76.5%; }
.hotspot-public-members { left: 50%; top: 45.5%; }
.hotspot-public-members::after { left: 50%; transform: translateX(-50%); }
.hotspot-members { left: 50%; top: 80%; padding: 11px 18px; }
.hotspot-members::after { left: 50%; transform: translateX(-50%); }

.garden-side { display: none; }

@media (min-width: 1500px) {
  .garden-side { position: absolute; z-index: 3; top: 0; bottom: 0; display: block; width: calc((100% - 1140px) / 2); min-width: 180px; overflow: hidden; pointer-events: none; }
  .garden-side-left { left: 0; }
  .garden-side-right { right: 0; }
  .garden-side img { position: absolute; bottom: -1%; width: min(100%, 430px); height: 68%; object-fit: contain; opacity: .9; pointer-events: none; }
  .garden-side-left img { left: 0; object-position: left bottom; }
  .garden-side-right img { right: 0; object-position: right bottom; }
  .side-house-hotspot { position: absolute; z-index: 2; top: 58%; display: flex; align-items: center; gap: 9px; padding: 9px 14px 9px 9px; border: 2px solid #fff9ed; border-radius: 999px; background: rgba(96,69,43,.93); color: #fff; font-size: 15px; box-shadow: 0 7px 18px rgba(64,45,29,.2); pointer-events: auto; transition: transform .2s,background .2s; }
  .garden-side-left .side-house-hotspot { right: 10%; }
  .garden-side-right .side-house-hotspot { left: 10%; }
  .side-house-hotspot span { display: grid; place-items: center; width: 31px; height: 31px; flex: 0 0 31px; border-radius: 50%; background: var(--orange); font-size: 12px; font-weight: 500; }
  .side-house-hotspot strong { font-size: 15px; font-weight: 700; white-space: nowrap; }
  .side-house-hotspot:hover { transform: translateY(-4px); background: var(--wood-dark); }
}

.house-guide {
  position: relative;
  padding: 105px clamp(22px, 6vw, 92px) 120px;
  background-color: var(--paper);
  background-image: radial-gradient(rgba(121,92,59,.075) .8px, transparent .8px);
  background-size: 11px 11px;
}
.guide-heading { margin: 0 auto 52px; text-align: center; }
.guide-heading p { margin: 0 0 8px; color: var(--orange); font-size: 15px; font-weight: 400; letter-spacing: .22em; }
.guide-heading h2 { margin: 0; font-size: clamp(34px, 5vw, 52px); font-weight: 500; letter-spacing: .07em; }
.room-grid { max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.room-card {
  min-height: 150px;
  display: grid;
  grid-template-columns: 54px 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 27px 28px;
  border: 1px solid rgba(103,78,48,.16);
  border-radius: 6px 24px 24px 6px;
  background: rgba(255,252,244,.92);
  box-shadow: 5px 7px 0 rgba(120,91,56,.09);
  transition: transform .2s, box-shadow .2s;
}
.room-card:hover { transform: translateY(-4px); box-shadow: 7px 11px 0 rgba(120,91,56,.11); }
.room-number { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid currentColor; border-radius: 50%; color: var(--orange); font-size: 16px; font-weight: 400; }
.room-card h3 { margin: 0 0 9px; font-size: 21px; font-weight: 700; }
.room-card p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.8; }
.room-arrow { color: var(--orange); font-size: 24px; }
.room-activity { background: #f6f1df; }
.room-album { background: #f1f5e9; }
.room-join { background: #f9ece0; }
.room-garden { background: #eef3e6; }
.room-house { background: #f8eddd; }

.notice-board {
  position: relative;
  max-width: 760px;
  margin: 0 auto 120px;
  padding: 55px 35px;
  border: 14px solid #9a7047;
  border-radius: 5px;
  background-color: #d9b98b;
  background-image: radial-gradient(rgba(104,75,43,.13) 1px, transparent 1px);
  background-size: 7px 7px;
  text-align: center;
  box-shadow: 0 15px 30px rgba(78,57,35,.13), inset 0 0 0 2px rgba(255,255,255,.25);
}
.notice-board::before { content: ""; position: absolute; inset: 24px; background: #fffaf0; transform: rotate(-.5deg); box-shadow: 0 3px 8px rgba(74,53,31,.12); }
.notice-board>* { position: relative; z-index: 1; }
.board-pin { position: absolute; z-index: 2; top: 32px; width: 13px; height: 13px; border-radius: 50%; background: var(--orange); box-shadow: 1px 2px 3px rgba(72,48,27,.3); }
.pin-left { left: 48px; }
.pin-right { right: 48px; background: var(--green); }
.board-label { margin: 0 0 8px; color: var(--orange); font-size: 14px; font-weight: 400; letter-spacing: .22em; }
.notice-board h2 { margin: 0 0 16px; font-size: 30px; font-weight: 700; }
.notice-board>p:last-child { margin: 0; color: var(--muted); }

footer { padding: 38px 24px; background: var(--wood-dark); color: #f7ead8; text-align: center; font-size: 14px; }
.footer-brand { display: flex; justify-content: center; align-items: center; gap: 9px; margin-bottom: 12px; font-size: 20px; }
.footer-brand img { width: 31px; height: 31px; border-radius: 50%; }
footer p { margin: 4px 0; }
.ffxiv-rights { margin: 14px 0 10px; font-size: 12px; line-height: 1.6; opacity: .82; }
.font-credit { font-size: 12px; opacity: .7; }
.font-credit a { text-decoration: underline; }

.subpage-shell { min-height: 100vh; background: var(--paper-light); }
.subpage-hero {
  padding: 58px clamp(20px, 7vw, 110px) 70px;
  background: linear-gradient(145deg, #fffaf0 0%, #f8e8cf 100%);
  border-bottom: 1px solid rgba(112,82,49,.13);
}
.back-home { display: inline-block; margin-bottom: 42px; color: #8a6d4e; font-size: 15px; }
.subpage-kicker { margin: 0 0 10px; color: var(--orange); font-size: 15px; font-weight: 400; letter-spacing: .22em; }
.subpage-hero h1 { margin: 0; font-size: clamp(38px, 6vw, 64px); font-weight: 700; letter-spacing: .07em; }
.subpage-hero>p:last-child { margin: 18px 0 0; color: var(--muted); font-size: 17px; }
.about-layout { width: min(100% - 36px, 980px); margin: 0 auto; padding: 85px 0 110px; }
.about-section { margin-bottom: 90px; }
.section-heading { display: flex; align-items: center; gap: 15px; margin-bottom: 30px; }
.section-heading>span { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid var(--orange); border-radius: 50%; color: var(--orange); font-size: 17px; font-weight: 400; }
.section-heading h2 { margin: 0; font-size: clamp(28px, 4vw, 40px); font-weight: 700; letter-spacing: .06em; }
.overview-card { padding: clamp(24px, 5vw, 55px); border: 1px solid rgba(108,79,47,.15); border-radius: 28px 8px 28px 8px; background: #fffdf7; box-shadow: 8px 10px 0 rgba(122,91,54,.08); }
.fc-facts { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 0 45px; border: 1px solid #ead9bf; border-radius: 14px; overflow: hidden; }
.fc-facts div { padding: 18px 20px; border-right: 1px solid #ead9bf; }
.fc-facts div:nth-child(4n) { border-right: 0; }
.fc-facts div:nth-child(-n+4) { border-bottom: 1px solid #ead9bf; }
.fc-facts dt { margin-bottom: 8px; color: var(--muted); font-size: 13px; }
.fc-facts dd { margin: 0; color: var(--wood-dark); font-size: 22px; }
.about-copy { color: #625447; font-size: 17px; line-height: 2; }
.about-copy p { margin: 0 0 22px; }
.about-copy strong { color: #b4672e; font-weight: 700; background: linear-gradient(transparent 62%, #fae2bc 62%); }
.small-note { padding-left: 1em; color: var(--muted); font-size: 14px; }
.recommend-card { margin-bottom: 24px; padding: clamp(25px, 4vw, 42px); border: 1px solid rgba(109,83,52,.14); border-radius: 7px 26px 26px 7px; background: #fffdf8; box-shadow: 5px 7px 0 rgba(120,91,56,.07); color: #625447; font-size: 17px; line-height: 2; }
.recommend-card h3 { margin: 0 0 20px; color: var(--wood-dark); font-size: clamp(19px, 3vw, 25px); font-weight: 700; }
.recommend-card h3 span { color: var(--orange); font-size: .7em; }
.recommend-card p { margin: 0 0 17px; }
.difficulty-note { margin-top: 28px; padding: 25px 28px 10px; border-left: 4px solid var(--orange); background: #f8f0e2; }
.difficulty-note h4 { margin: 0 0 14px; color: #a75f2a; font-size: 18px; font-weight: 500; }
.activity-time-card { display: grid; grid-template-columns: auto repeat(2,minmax(0,1fr)); align-items: center; gap: 18px; margin-bottom: 24px; padding: 25px 30px; border-radius: 18px; background: #f6e5cb; }
.activity-time-card>p { margin: 0; color: var(--muted); font-size: 15px; }
.activity-time-slot { display: flex; align-items: baseline; gap: 13px; padding-left: 20px; border-left: 1px solid rgba(166,95,45,.2); }
.activity-time-slot span { min-width: 34px; color: #795f49; font-size: 15px; font-weight: 700; }
.activity-time-slot strong { color: #a65f2d; font-size: clamp(22px,3vw,32px); font-weight: 700; white-space: nowrap; }
.activity-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.activity-card { padding: 27px 24px; border: 1px solid rgba(109,83,52,.14); border-radius: 7px 22px 22px 7px; background: #fffdf8; color: #625447; font-size: 16px; line-height: 1.9; }
.activity-card h3 { margin: 0 0 13px; color: var(--wood-dark); font-size: 21px; font-weight: 700; }
.activity-card p { margin: 0 0 12px; }
.activity-icon { color: var(--orange); font-size: 23px; }
.info-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.info-panel { padding: 32px; border: 1px solid rgba(109,83,52,.14); border-radius: 22px 7px 22px 7px; background: #fffdf8; }
.panel-label { margin: 0 0 10px; color: var(--orange); font-size: 15px; font-weight: 400; letter-spacing: .2em; }
.info-panel h3,.contact-card h3 { margin: 0 0 16px; font-size: 21px; font-weight: 700; }
.info-panel ul { margin: 0; padding-left: 1.3em; color: #625447; font-size: 16px; line-height: 2.1; }
.info-panel>p:not(.panel-label) { margin: 7px 0; color: #625447; font-size: 16px; }
.company-support-grid { display: grid; gap: 14px; }
.company-support-card { display: grid; grid-template-columns: 46px 1fr; gap: 16px; align-items: start; padding: 20px 22px; border: 1px solid rgba(217,126,50,.2); border-radius: 16px 6px 16px 6px; background: linear-gradient(135deg,#fffdf8 0%,#fff6e9 100%); }
.company-support-card>span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #e98736; border-radius: 50%; color: #dc7025; font-size: 14px; font-weight: 400; }
.company-support-card h3 { margin: 0 0 7px; color: #493d33; font-size: 18px; font-weight: 700; }
.company-support-card p { margin: 0; color: #625447; font-size: 16px; line-height: 1.85; }
.house-panel { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 1.6fr); align-items: center; gap: 32px; background: #f4f1df; }
.house-panel-copy { padding: 8px 0; }
.house-panel-copy>p:not(.panel-label) { margin: 7px 0; color: #625447; font-size: 16px; }
.house-panel-copy .garden-info-note { margin-top: 18px; padding: 14px 16px; border-left: 3px solid var(--orange); border-radius: 4px 10px 10px 4px; background: rgba(255,253,248,.76); font-size: 15px; line-height: 1.8; }
.fc-house-photo { margin: 0; overflow: hidden; border: 6px solid #fffaf0; border-radius: 18px 7px 18px 7px; box-shadow: 5px 7px 0 rgba(102,76,47,.09); }
.fc-house-photo img { display: block; width: 100%; aspect-ratio: 16 / 7; object-fit: cover; object-position: center 52%; filter: sepia(.07) saturate(1.06) brightness(1.02) contrast(.98); }
.style-list { display: grid; gap: 12px; }
.style-list p { position: relative; margin: 0; padding: 18px 22px 18px 45px; border: 1px solid rgba(109,83,52,.13); border-radius: 13px; background: #fffdf8; color: #625447; font-size: 16px; line-height: 1.8; }
.style-list p::before { content: "○"; position: absolute; left: 19px; color: var(--orange); }
.closing-message { margin: 30px 0 0; padding: 22px; border-radius: 14px; background: #f6e5cb; color: #865a35; text-align: center; font-size: 15px; }
.join-hero { background: linear-gradient(145deg, #fffaf0 0%, #f8dfc8 100%); }
.join-layout { width: min(100% - 36px, 880px); margin: 0 auto; padding: 75px 0 110px; }
.recruitment-status { margin-bottom: 80px; padding: 35px; border: 1px solid #e7c9a4; border-radius: 24px 7px 24px 7px; background: #fff9ed; text-align: center; box-shadow: 7px 9px 0 rgba(120,91,56,.07); }
.recruitment-status span { display: block; margin-bottom: 10px; color: var(--muted); font-size: 14px; letter-spacing: .13em; }
.recruitment-status strong { display: block; color: #a45d2a; font-size: clamp(22px, 4vw, 32px); font-weight: 700; }
.recruitment-status p { margin: 13px 0 0; color: var(--muted); font-size: 15px; }
.join-section { margin-bottom: 75px; }
.trial-card,.contact-card { padding: clamp(25px, 4vw, 40px); border: 1px solid rgba(109,83,52,.14); border-radius: 7px 24px 24px 7px; background: #fffdf8; color: #625447; font-size: 17px; line-height: 2; }
.trial-card>p { margin: 0 0 15px; }
.trial-card strong { color: #a45d2a; font-size: 1.25em; font-weight: 700; }
.trial-card ul { margin: 0; padding-left: 1.4em; }
.vc-rules-card { display: grid; grid-template-columns: minmax(210px,.8fr) minmax(0,1.4fr); gap: 32px; margin-top: 18px; padding: clamp(25px,4vw,38px); border: 1px solid rgba(217,126,50,.22); border-radius: 20px 7px 20px 7px; background: #fff7e9; color: #625447; }
.vc-rules-heading h3 { margin: 0 0 10px; color: #493d33; font-size: 21px; }
.vc-rules-heading>p:last-child { margin: 0; font-size: 15px; line-height: 1.8; }
.vc-rules-card ul { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.vc-rules-card li { position: relative; padding: 13px 16px 13px 40px; border-radius: 11px; background: #fffdf8; font-size: 15px; line-height: 1.75; }
.vc-rules-card li::before { content: "○"; position: absolute; top: 13px; left: 16px; color: var(--orange); }
.contact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.contact-card { min-width: 0; }
.contact-card-discord { background: #fff7e9; }
.contact-card .contact-id { margin: 5px 0 12px; color: #a85e2a; font-size: clamp(23px,3vw,30px); font-weight: 700; letter-spacing: .02em; }
.contact-card>p:last-child { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.8; }

.activity-page-hero { background: linear-gradient(145deg,#fffaf0 0%,#f5edda 58%,#eef3e5 100%); }
.activity-page-layout { width: min(100% - 36px, 1020px); margin: 0 auto; padding: 72px 0 110px; }
.activity-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 34px; padding-bottom: 19px; border-bottom: 1px solid rgba(109,83,52,.14); }
.activity-toolbar>p { margin: 0; color: var(--muted); font-size: 15px; }
.category-tabs { display: flex; flex-wrap: wrap; gap: 9px; }
.category-tabs button { min-width: 88px; padding: 9px 16px; border: 1px solid #decdb4; border-radius: 999px; background: #fffaf0; color: #7b6957; font-family: inherit; font-size: 14px; font-weight: 500; }
.category-tabs button.is-active { border-color: #dd7c2d; background: #e98632; color: #fff; }
.category-tabs button { cursor: pointer; transition: color .2s,background .2s,border-color .2s; }
.category-tabs button:hover { border-color: #dd7c2d; color: #a65f2d; }
.category-tabs button.is-active:hover { color: #fff; }
.activity-empty { min-height: 340px; display: grid; grid-template-columns: minmax(220px,.75fr) minmax(0,1.25fr); align-items: center; gap: clamp(35px,6vw,70px); padding: clamp(36px,6vw,66px); border: 1px solid rgba(109,83,52,.14); border-radius: 8px 30px 30px 8px; background: #fffdf8; box-shadow: 7px 9px 0 rgba(120,91,56,.08); }
.empty-photo-stack { position: relative; width: min(100%,270px); aspect-ratio: 4/3; margin: 0 auto; }
.empty-photo-stack span { position: absolute; inset: 8% 7%; border: 8px solid #fffaf0; border-bottom-width: 27px; background: #f4e7cf; box-shadow: 0 8px 20px rgba(94,67,40,.13); }
.empty-photo-stack span:nth-child(1) { transform: rotate(-8deg) translate(-12px,5px); background: #edf2e2; }
.empty-photo-stack span:nth-child(2) { transform: rotate(7deg) translate(13px,2px); background: #f8e1cd; }
.empty-photo-stack span:nth-child(3) { background: linear-gradient(145deg,#f9d6ad,#fff1d7); }
.empty-photo-stack span:nth-child(3)::after { content: "＋"; position: absolute; inset: 0; display: grid; place-items: center; color: #d47a31; font-size: 42px; font-weight: 400; }
.activity-empty h2 { margin: 0 0 17px; color: var(--wood-dark); font-size: clamp(25px,4vw,36px); font-weight: 700; }
.activity-empty>div:last-child>p:last-child { margin: 0; color: #625447; font-size: 16px; line-height: 1.9; }
.member-page-hero { background: linear-gradient(145deg,#fffaf0 0%,#f8ead7 62%,#eef3e5 100%); }
.member-coming-soon { width: min(100% - 36px,760px); margin: 80px auto 110px; padding: clamp(38px,7vw,70px); border: 1px solid rgba(109,83,52,.14); border-radius: 8px 30px 30px 8px; background: #fffdf8; box-shadow: 7px 9px 0 rgba(120,91,56,.08); text-align: center; }
.member-coming-soon img { width: 70px; height: 70px; object-fit: contain; }
.member-coming-soon .panel-label { margin-top: 18px; }
.member-coming-soon h2 { margin: 8px 0 15px; color: var(--wood-dark); font-size: clamp(27px,4vw,38px); }
.member-coming-soon>p:last-child { margin: 0; color: #625447; font-size: 17px; line-height: 1.9; }
.discord-login-button,.discord-logout-button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; margin-top: 28px; padding: 13px 22px; border-radius: 999px; background: #77799a; color: #fffdf8 !important; font-size: 15px; font-weight: 700; box-shadow: 0 7px 16px rgba(92,85,112,.16); }
.discord-login-button:hover { background: #666985; color: #ffffff !important; }
.discord-login-button:focus-visible { outline: 3px solid rgba(231,148,74,.38); outline-offset: 3px; }
.discord-login-error { margin: 22px auto 0 !important; padding: 12px 16px; border-radius: 10px; background: #fff0e7; color: #9c4d30 !important; font-size: 14px !important; }
.discord-permission-note { width: min(100%,560px); margin: 25px auto 0; padding: 17px 20px; border: 1px solid #e5d5bd; border-radius: 7px 17px 17px 7px; background: #fff8ec; color: #625447; text-align: left; }
.discord-permission-note strong { display: block; margin-bottom: 7px; color: #885328; font-size: 15px; }
.discord-permission-note p { margin: 0; font-size: 14px; line-height: 1.8; }
.member-signed-in .discord-user-avatar { width: 82px; height: 82px; border: 5px solid #fff; border-radius: 50%; object-fit: cover; box-shadow: 0 6px 18px rgba(74,55,38,.16); }
.discord-logout-button { margin-top: 25px; border: 1px solid #d9c8b0; background: #f7ecdb; color: #775f49; box-shadow: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.activity-list { display: grid; gap: 28px; }
.activity-entry-card { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); overflow: hidden; border: 1px solid rgba(109,83,52,.14); border-radius: 8px 28px 28px 8px; background: #fffdf8; color: inherit; text-decoration: none; box-shadow: 7px 9px 0 rgba(120,91,56,.08); transition: transform .2s ease, box-shadow .2s ease; }
.activity-entry-card:hover { transform: translateY(-3px); box-shadow: 9px 13px 0 rgba(120,91,56,.1); }
.activity-entry-photo { min-height: 310px; overflow: hidden; background: #f3e5cf; }
.activity-entry-photo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.activity-entry-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px,5vw,54px); }
.activity-entry-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 11px; color: #876b54; font-size: 14px; letter-spacing: .04em; }
.activity-entry-meta span { padding: 5px 11px; border-radius: 999px; background: #f7e4ca; color: #a65f2d; font-size: 13px; }
.activity-entry-copy h2 { margin: 18px 0 13px; color: var(--wood-dark); font-size: clamp(27px,4vw,39px); }
.activity-entry-copy p { margin: 0; color: #625447; font-size: 16px; line-height: 1.9; }
.activity-entry-link { margin-top: 25px; color: #a65f2d; font-size: 15px; font-weight: 700; }
.activity-entry-link b { margin-left: 8px; font-size: 19px; }
.activity-no-results { min-height: 260px; display: grid; place-content: center; gap: 12px; padding: 38px; border: 1px solid rgba(109,83,52,.14); border-radius: 18px; background: #fffdf8; color: #786653; text-align: center; box-shadow: 7px 9px 0 rgba(120,91,56,.08); }
.activity-entry-card[hidden] { display: none !important; }
.activity-no-results[hidden] { display: none !important; }
.activity-no-results span { color: var(--orange); font-size: 28px; }
.activity-no-results p { margin: 0; font-size: 16px; }

.activity-detail-shell { background: #fffaf1; }
.activity-article { width: min(100% - 36px, 1040px); margin: 0 auto; padding: 58px 0 110px; }
.activity-article>.back-home { margin-bottom: 46px; }
.activity-article-header { margin-bottom: 34px; text-align: center; }
.activity-article-header .activity-entry-meta { justify-content: center; margin-bottom: 20px; }
.activity-article-header .subpage-kicker { margin-bottom: 9px; }
.activity-article-header h1 { margin: 0; color: var(--wood-dark); font-size: clamp(38px,7vw,64px); line-height: 1.25; }
.activity-main-photo { overflow: hidden; margin: 0; border: 10px solid #fffdf8; border-radius: 7px 28px 28px 7px; background: #f3e5cf; box-shadow: 8px 11px 0 rgba(120,91,56,.1); }
.activity-main-photo img { width: 100%; height: auto; display: block; }
.activity-story { width: min(100%,850px); margin: 58px auto 0; }
.activity-lead { margin-bottom: 75px; color: #55483c; font-size: 18px; line-height: 2; }
.activity-lead p { margin: 0 0 22px; }
.activity-lead strong { color: #a65f2d; }
.activity-article-section { margin-bottom: 74px; }
.activity-article-section>h2,.event-result>h2 { margin: 6px 0 20px; color: var(--wood-dark); font-size: clamp(27px,4vw,38px); }
.activity-article-section>p:last-of-type { color: #625447; font-size: 17px; line-height: 1.9; }
.event-team-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 30px; }
.event-team-card { position: relative; padding: 30px 27px; border: 1px solid #e6d7c1; border-radius: 7px 22px 22px 7px; background: #fffdf8; }
.event-team-card.is-winner { border-color: #e2b278; background: #fff6e6; box-shadow: inset 0 0 0 2px rgba(232,134,48,.09); }
.event-team-card h3 { margin: 0 0 19px; color: var(--wood-dark); font-size: 22px; }
.event-team-card ul { display: flex; flex-wrap: wrap; gap: 9px; margin: 0; padding: 0; list-style: none; }
.event-team-card li { padding: 7px 13px; border-radius: 999px; background: #f4eadb; color: #655546; font-size: 15px; }
.winner-ribbon { position: absolute; top: -13px; right: 20px; padding: 6px 13px; border-radius: 999px; background: #e98632; color: #fff; font-size: 11px; letter-spacing: .12em; box-shadow: 0 4px 9px rgba(126,75,32,.18); }
.event-result { padding: clamp(30px,5vw,48px); border-radius: 7px 30px 30px 7px; background: #f5ead6; text-align: center; }
.event-scoreboard { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 28px 0 25px; }
.event-scoreboard>div { padding: 22px 16px; border-radius: 18px 6px 18px 6px; background: #fffdf8; }
.event-scoreboard>div.is-winner { background: #fff3dc; box-shadow: inset 0 0 0 2px #e7a15e; }
.event-scoreboard span { display: block; color: #67584a; font-size: 16px; }
.event-scoreboard strong { display: block; margin-top: 5px; color: #a65f2d; font-size: 48px; line-height: 1.2; }
.event-scoreboard small { margin-left: 4px; font-size: 16px; }
.event-winner { margin: 0; color: #874d25; font-size: clamp(19px,3vw,25px); font-weight: 700; }
.event-winner span { color: var(--orange); }
.event-thanks { margin: 58px 0 0; color: var(--wood-dark); font-size: clamp(20px,3vw,27px); font-weight: 700; text-align: center; }
.event-album { margin-top: 72px; padding-top: 62px; border-top: 1px solid rgba(109,83,52,.15); }
.event-album-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.event-album-heading h2 { margin: 6px 0 0; color: var(--wood-dark); font-size: clamp(28px,4vw,40px); }
.event-album-intro { margin: 17px 0 32px; color: #625447; font-size: 16px; line-height: 1.9; }
.album-upload-note { margin: -22px 0 28px; color: #8a7662; font-size: 13px; }
.album-post-button { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; padding: 11px 17px; border: 1px solid #d79a61; border-radius: 999px; background: #fff7e9; color: #9b5727; font-size: 14px; font-weight: 700; box-shadow: 0 4px 10px rgba(112,73,38,.08); }
.album-post-button span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--orange); color: #fff; font-size: 16px; line-height: 1; }
.event-photo-grid > .event-album-empty { grid-column: 1 / -1; width: 100%; }
.event-album-empty { min-height: 280px; display: grid; grid-template-columns: minmax(220px,.75fr) minmax(0,1.25fr); align-items: center; gap: clamp(30px,6vw,62px); padding: clamp(30px,5vw,50px); border: 1px dashed #dbc8ab; border-radius: 18px 18px 18px 18px; background: rgba(255,253,248,.72); }
.empty-album-stack { position: relative; width: min(100%,240px); aspect-ratio: 1/1; margin: 0 auto; }
.empty-album-paper { position: absolute; inset: 8%; display: block; border: 8px solid #fff; background: #f5ead7; box-shadow: 0 7px 17px rgba(85,61,39,.13); }
.empty-album-paper.paper-back { transform: rotate(-7deg) translate(-8px,7px); }
.empty-album-paper.paper-middle { transform: rotate(6deg) translate(9px,3px); background: #f2eee3; }
.empty-album-paper.paper-front { display: block; background: linear-gradient(145deg,#f8e7cd,#fff5e5); }
.empty-camera-mark { position: absolute; right: 10px; bottom: 10px; width: 54px; height: 40px; border: 3px solid #76583e; border-radius: 8px; background: #fffaf0; }
.empty-camera-mark::before { content: ""; position: absolute; top: -10px; right: 7px; width: 17px; height: 9px; border: 3px solid #76583e; border-bottom: 0; border-radius: 5px 5px 0 0; background: #fffaf0; }
.empty-camera-mark i { position: absolute; top: 50%; left: 50%; width: 31px; height: 31px; border: 3px solid #76583e; border-radius: 50%; background: #f1c28e; transform: translate(-50%,-50%); }
.event-album-empty h3 { margin: 0 0 11px; color: var(--wood-dark); font-size: 21px; }
.event-album-empty>div:last-child p { margin: 0; color: #756453; font-size: 15px; line-height: 1.8; }
.album-upload-form { display: flex; align-items: center; gap: 9px; }
.album-post-button input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.album-submit-button { padding: 12px 17px; border: 0; border-radius: 999px; background: #e98632; color: #fff; font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.album-submit-button:disabled { opacity: .55; cursor: not-allowed; }
.album-upload-error { margin: 0 0 22px; padding: 12px 16px; border-radius: 10px; background: #fff0e7; color: #9c4d30; font-size: 14px; }
.selected-photo-panel { margin: 0 0 25px; padding: 18px; border: 1px solid #e2d1b7; border-radius: 7px 18px 18px 7px; background: #fffaf0; }
.selected-photo-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 13px; color: #655546; font-size: 14px; }
.selected-photo-heading span { color: #a65f2d; }
.selected-photo-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.selected-photo-item { position: relative; min-width: 0; padding: 7px 7px 9px; border-radius: 5px 12px 12px 5px; background: #fff; box-shadow: 0 3px 9px rgba(84,60,38,.1); }
.selected-photo-item img { width: 100%; aspect-ratio: 1/1; display: block; border-radius: 3px 8px 8px 3px; object-fit: cover; background: #eee5d8; }
.selected-photo-item p { overflow: hidden; margin: 7px 2px 0; color: #776654; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.selected-photo-item button { position: absolute; top: 3px; right: 3px; width: 25px; height: 25px; border: 2px solid #fff; border-radius: 50%; background: rgba(74,54,38,.84); color: #fff; font-size: 17px; line-height: 1; cursor: pointer; }
.album-loading { min-height: 220px; display: grid; place-items: center; border: 1px dashed #dbc8ab; border-radius: 18px 18px 18px 18px; color: #786653; }
.event-photo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(22px,4vw,38px); padding: 15px 5px 25px; }
.event-photo-card { position: relative; aspect-ratio: 1/1; padding: 0; border: 0; background: transparent; cursor: pointer; }
.photo-paper,.photo-main { position: absolute; inset: 5%; display: block; border: 8px solid #fff; background: #fff; box-shadow: 0 7px 17px rgba(85,61,39,.14); }
.event-photo-card.has-stack .paper-one { transform: rotate(-6deg) translate(-4px,5px); }
.event-photo-card.has-stack .paper-two { transform: rotate(5deg) translate(5px,2px); }
.photo-main { overflow: hidden; z-index: 2; transition: transform .2s; }
.event-photo-card:hover .photo-main { transform: translateY(-4px); }
.photo-main>img { width: 100%; height: 100%; display: block; object-fit: cover; }
.photo-count { position: absolute; z-index: 4; top: 9%; left: 9%; padding: 5px 9px; border-radius: 999px; background: rgba(77,57,38,.82); color: #fff; font-size: 12px; }
.photo-author-camera { position: absolute; z-index: 5; right: 5%; bottom: 4%; width: 58px; height: 43px; border: 3px solid #76583e; border-radius: 9px; background: #fffaf0; box-shadow: 0 4px 9px rgba(62,44,28,.18); }
.photo-author-camera::before { content: ""; position: absolute; top: -10px; right: 7px; width: 19px; height: 9px; border: 3px solid #76583e; border-bottom: 0; border-radius: 5px 5px 0 0; background: #fffaf0; }
.photo-author-camera img { position: absolute; top: 50%; left: 50%; width: 33px; height: 33px; border: 3px solid #76583e; border-radius: 50%; object-fit: cover; transform: translate(-50%,-50%); }
.photo-viewer { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 20px; }
.photo-viewer-backdrop { position: absolute; inset: 0; border: 0; background: rgba(51,38,27,.82); }
.photo-viewer-panel { position: relative; z-index: 1; width: min(100%,900px); max-height: calc(100vh - 40px); overflow: auto; padding: 18px; border-radius: 8px 24px 24px 8px; background: #fffaf0; }
.photo-viewer-close { position: absolute; z-index: 2; top: 27px; right: 27px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(55,40,28,.8); color: #fff; font-size: 26px; cursor: pointer; }
.photo-viewer-image { width: 100%; max-height: 70vh; display: block; object-fit: contain; background: #2f2924; }
.photo-viewer-meta { display: flex; align-items: center; gap: 11px; padding: 15px 4px 4px; color: #655546; }
.photo-viewer-meta img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.photo-viewer-meta b { margin-left: auto; font-size: 14px; }
.photo-viewer-controls { display: flex; justify-content: space-between; gap: 15px; margin-top: 14px; }
.photo-viewer-controls button { padding: 10px 17px; border: 1px solid #ddc7aa; border-radius: 999px; background: #fffdf8; color: #785f49; font-family: inherit; cursor: pointer; }
.photo-delete-button { display: block; margin: 14px 0 0 auto; padding: 9px 14px; border: 1px solid #d7a697; border-radius: 999px; background: #fff4ef; color: #a24f38; font-family: inherit; font-size: 13px; cursor: pointer; }
.photo-delete-button:disabled { opacity: .6; cursor: wait; }
.album-page-hero { background: linear-gradient(145deg,#fffaf0 0%,#f4ead8 58%,#eef3e5 100%); }
.album-page-layout { width: min(100% - 36px,1120px); margin: 0 auto; padding: 65px 0 110px; }
.album-filter-area { margin-bottom: 42px; padding-bottom: 23px; border-bottom: 1px solid rgba(109,83,52,.14); }
.album-filter-bar { display: flex; flex-wrap: wrap; gap: 9px; }
.album-filter-bar button { padding: 9px 17px; border: 1px solid #decdb4; border-radius: 999px; background: #fffaf0; color: #7b6957; font-family: inherit; font-size: 14px; cursor: pointer; }
.album-filter-bar button.is-active { border-color: #dd7c2d; background: #e98632; color: #fff; }
.album-detail-search { display: grid; grid-template-columns: minmax(140px,.5fr) minmax(230px,1.2fr) minmax(175px,.7fr) auto; align-items: end; gap: 13px; margin-top: 20px; }
.album-detail-search label { display: grid; gap: 7px; }
.album-detail-search label>span { color: #7a6856; font-size: 12px; font-weight: 700; }
.album-detail-search select,.album-detail-search input { width: 100%; min-height: 44px; padding: 9px 13px; border: 1px solid #ddcdb6; border-radius: 8px; outline: none; background: #fffdf8; color: #5f5144; font-family: inherit; font-size: 14px; }
.album-detail-search select:focus,.album-detail-search input:focus { border-color: #dc873e; box-shadow: 0 0 0 3px rgba(220,135,62,.12); }
.album-filter-reset { min-height: 44px; padding: 9px 14px; border: 0; background: transparent; color: #a65f2d; font-family: inherit; font-size: 13px; cursor: pointer; }
.all-album-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 42px 28px; }
.all-album-item { min-width: 0; }
.all-album-item .event-photo-card { width: 100%; display: block; }
.all-album-caption { display: grid; gap: 5px; padding: 6px 7% 0; }
.all-album-caption a,.all-album-caption .album-caption-title { color: var(--wood-dark); font-size: 17px; font-weight: 700; }
.all-album-caption span { color: #806d5a; font-size: 13px; }

@media (max-width: 1100px) {
  nav { display: none; }
  .member-button { margin-left: auto; }
  .house-hero { background: linear-gradient(180deg, #fbf1e1 0%, #fdf2e4 48%, #fcf2e4 100%); }
  .title-sign { top: 18px; left: 18px; transform: none; padding: 10px 15px 10px 10px; }
  .title-sign::before,.title-sign::after { display: none; }
  .title-sign img { width: 42px; height: 42px; }
  .title-sign h1 { font-size: 36px; }
  .title-sign p { margin-top: 5px; font-size: 11px; }
  .house-hotspot { padding: 7px 11px 7px 7px; gap: 7px; font-size: clamp(12px, 1.9vw, 15px); }
  .house-hotspot::after { display: none; }
  .room-grid { grid-template-columns: 1fr; }
  .fc-facts { grid-template-columns: repeat(2, 1fr); }
  .fc-facts div:nth-child(odd) { border-right: 1px solid #ead9bf; }
  .fc-facts div:nth-child(even) { border-right: 0; }
  .fc-facts div:nth-child(-n+6) { border-bottom: 1px solid #ead9bf; }
  .activity-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .site-header { height: 64px; padding: 0 14px; }
  .brand { font-size: 22px; }
  .brand-crest { width: 34px; height: 34px; border-radius: 50%; }
  .member-button { padding: 8px 10px; font-size: 12px; }
  .title-sign h1 { font-size: 30px; }
  .house-hotspot { width: auto; min-width: 0; justify-content: center; gap: 4px; padding: 4px 7px 4px 4px; font-size: 10px; }
  .house-hotspot strong { display: block; }
  .house-hotspot span { width: 22px; height: 22px; flex-basis: 22px; font-size: 9px; }
  .house-guide { padding: 75px 16px 85px; }
  .room-card { grid-template-columns: 45px 1fr auto; gap: 13px; padding: 21px 18px; }
  .room-number { width: 40px; height: 40px; }
  .room-card h3 { font-size: 18px; }
  .room-card p { font-size: 14px; }
  .notice-board { margin: 0 15px 80px; padding: 47px 23px; border-width: 10px; }
  .subpage-hero { padding: 40px 20px 50px; }
  .back-home { margin-bottom: 30px; }
  .about-layout { width: min(100% - 28px, 980px); padding: 58px 0 80px; }
  .about-section { margin-bottom: 65px; }
  .overview-card { padding: 24px 18px; border-radius: 20px 6px 20px 6px; }
  .fc-facts div { padding: 15px 13px; }
  .fc-facts dd { font-size: 16px; }
  .about-copy,.recommend-card { font-size: 15px; }
  .recommend-card { padding: 25px 20px; }
  .difficulty-note { padding: 21px 18px 7px; }
  .activity-time-card { grid-template-columns: 1fr; gap: 13px; padding: 21px; }
  .activity-time-slot { padding: 12px 0 0; border-top: 1px solid rgba(166,95,45,.2); border-left: 0; }
  .info-pair { grid-template-columns: 1fr; }
  .house-panel { grid-template-columns: 1fr; gap: 22px; }
  .fc-house-photo img { aspect-ratio: 16 / 8; }
  .join-layout { width: min(100% - 28px, 880px); padding: 55px 0 80px; }
  .recruitment-status { margin-bottom: 60px; padding: 28px 18px; }
  .join-section { margin-bottom: 58px; }
  .vc-rules-card,.contact-grid { grid-template-columns: 1fr; }
  .activity-page-layout { width: min(100% - 28px,1020px); padding: 52px 0 80px; }
  .activity-toolbar { align-items: flex-start; flex-direction: column; gap: 13px; }
  .activity-empty { grid-template-columns: 1fr; padding: 30px 22px 38px; text-align: center; }
  .empty-photo-stack { width: min(75%,240px); }
  .activity-entry-card { grid-template-columns: 1fr; }
  .activity-entry-photo { min-height: 0; aspect-ratio: 16/9; }
  .activity-entry-copy { padding: 27px 22px 32px; }
  .activity-article { width: min(100% - 28px,1040px); padding: 42px 0 80px; }
  .activity-article>.back-home { margin-bottom: 34px; }
  .activity-main-photo { border-width: 6px; }
  .activity-story { margin-top: 42px; }
  .activity-lead { margin-bottom: 58px; font-size: 16px; }
  .event-team-grid,.event-scoreboard { grid-template-columns: 1fr; }
  .event-result { padding: 30px 19px; }
  .event-album { margin-top: 58px; padding-top: 48px; }
  .event-album-heading { align-items: flex-start; flex-direction: column; }
  .event-album-empty { grid-template-columns: 1fr; text-align: center; }
  .empty-album-stack { width: min(70%,220px); }
  .album-upload-form { width: 100%; align-items: stretch; flex-direction: column; }
  .album-post-button,.album-submit-button { justify-content: center; }
  .event-photo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
  .selected-photo-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .photo-author-camera { transform: scale(.84); transform-origin: right bottom; }
  .album-page-layout { width: min(100% - 28px,1120px); padding: 50px 0 80px; }
  .all-album-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 15px; }
  .album-detail-search { grid-template-columns: 1fr; }
  .album-filter-reset { justify-self: start; padding-left: 0; }
}


/* ===== FC GARDEN ===== */
.garden-page-hero{background:linear-gradient(110deg,#fff5e8 0%,#f3f4df 100%)}
.garden-layout{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:70px 0 110px}
.garden-intro-card{display:flex;justify-content:space-between;align-items:end;gap:32px;padding:32px 36px;border:1px solid #e9d7ba;border-radius:22px;background:#fffdf8;box-shadow:8px 9px 0 rgba(108,78,48,.07)}
.garden-intro-card h2{margin:4px 0 12px;font-size:clamp(26px,3vw,38px)}
.garden-intro-card p{margin:0;line-height:2}
.garden-member-note{flex:none;padding:10px 16px;border-radius:999px;background:#f8ead0;color:#8d5b2b;font-size:13px}
.garden-map-section,.garden-step-section{margin-top:72px}
.garden-section-heading{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.garden-section-heading>span{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ef8a36;border-radius:50%;color:#e97922}
.garden-section-heading .panel-label{margin:0 0 2px}
.garden-section-heading h2{margin:0;font-size:clamp(27px,3vw,38px)}
.garden-guide-figure{margin:0;padding:12px;border-radius:24px;background:#fff;border:1px solid #eadbc3;box-shadow:10px 12px 0 rgba(108,78,48,.07)}
.garden-guide-figure img{display:block;width:100%;height:auto;border-radius:15px}
.garden-item-grid{display:grid;gap:16px}
.garden-item-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.garden-item-card{display:flex;align-items:center;gap:20px;padding:22px 24px;border:1px solid #e8d8c1;border-radius:18px;background:#fffdf9;box-shadow:5px 6px 0 rgba(108,78,48,.05)}
.garden-item-card img{width:76px;height:76px;object-fit:cover;border-radius:13px;box-shadow:0 4px 12px rgba(77,52,31,.18)}
.garden-item-card h3{margin:0 0 6px;font-size:21px}
.garden-item-card p{margin:0;line-height:1.8}
.garden-item-card.harvest{background:#fffaf0}
.garden-step-section.warning{padding:30px;border:1px solid #efc9c3;border-radius:24px;background:#fff7f5}
.garden-step-section.warning .garden-section-heading{margin-bottom:12px}
.garden-warning-lead{margin:0 0 18px;line-height:1.8;color:#9a4f47}
.garden-item-card.keep{border-color:#ebd1cc}
.garden-replant-card{display:grid;grid-template-columns:1fr 230px;gap:28px;align-items:center;padding:28px 30px;border:1px solid #e8d8c1;border-radius:20px;background:#fffdf9}
.garden-replant-copy p{margin:0 0 10px;line-height:2}
.garden-soil-placeholder{display:flex;align-items:center;justify-content:center;gap:18px;min-height:140px;padding:16px;border:1px dashed #d7b885;border-radius:18px;background:#fbefd9;text-align:center;color:#8b5b2b}
.garden-soil-placeholder>img,.garden-soil-placeholder .garden-soil-edit-image img{width:92px;height:92px;object-fit:cover;border-radius:14px;box-shadow:0 4px 12px rgba(77,52,31,.16)}
.garden-soil-placeholder>div{display:grid;justify-items:center}
.garden-soil-placeholder span{display:grid;place-items:center;width:58px;height:58px;margin-bottom:8px;border-radius:50%;background:#d5aa62;color:white;font-size:22px;font-weight:700}
.garden-cross-card{padding:30px;border:1px solid #cbdcdb;border-radius:22px;background:#f6fbfa}
.garden-cross-items{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.garden-cross-items>div{display:grid;justify-items:center;gap:8px;min-width:120px}
.garden-cross-items img{width:82px;height:82px;object-fit:cover;border-radius:14px;box-shadow:0 4px 12px rgba(77,52,31,.16)}
.garden-cross-items b{font-size:28px;color:#6c614f}
.garden-cross-card>p{max-width:820px;margin:0 auto;line-height:2;text-align:center}
.garden-friendly-note{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:72px;padding:28px 34px;border:1px solid #c7d2aa;border-radius:20px;background:#f7faef;text-align:left}
.garden-friendly-note>span{font-size:40px}
.garden-friendly-note h2{margin:0 0 6px;font-size:24px;color:#59713b}
.garden-friendly-note p{margin:0}
.garden-login-gate{margin-top:72px}
.garden-info-note a{color:#b9672d;text-decoration:underline;text-underline-offset:3px}
.member-feature-grid{width:min(460px,100%);margin:24px auto 4px}
.member-feature-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid #ead8bc;border-radius:16px;background:#fffaf0;text-decoration:none;color:inherit;text-align:left}
.member-feature-card:hover{transform:translateY(-1px)}
.member-feature-card>span:last-child{margin-left:auto}
.member-feature-icon{font-size:26px}
.member-feature-card div{display:grid;gap:2px}
.member-feature-card small{color:#8a7664}

@media (max-width:760px){
  .garden-layout{width:min(100% - 24px,1180px);padding-top:44px}
  .garden-intro-card{display:block;padding:24px}
  .garden-member-note{display:inline-block;margin-top:16px}
  .garden-item-grid.two{grid-template-columns:1fr}
  .garden-replant-card{grid-template-columns:1fr}
  .garden-cross-items{gap:12px}
  .garden-cross-items>div{min-width:90px}
  .garden-cross-items img{width:68px;height:68px}
  .garden-step-section.warning{padding:22px}
  .garden-friendly-note{align-items:flex-start}
}

/* WordPress shell only. The original Orange CSS above stays authoritative. */
body.admin-bar .site-header{top:32px}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
.orange-block-root{width:100%;}
/* Gutenberg editor: custom Orange blocks deliberately opt out of Gutenberg's narrow content column. */
.editor-styles-wrapper{background:#fffaf0;color:#4e4337;font-family:"Zen Maru Gothic",sans-serif;}
.editor-styles-wrapper .wp-block[data-type^="orange-fc/"]{max-width:none!important;margin-left:0!important;margin-right:0!important;}
.editor-styles-wrapper .wp-block[data-type^="orange-fc/"]>.orange-block-root{width:100%;max-width:none;}
.editor-styles-wrapper .orange-block-root .subpage-hero{width:100%;max-width:none;}
.editor-styles-wrapper .orange-block-root .about-layout{width:min(100% - 36px,980px);margin:0 auto;padding:85px 0 110px;}
.editor-styles-wrapper .orange-block-root .join-layout{width:min(100% - 36px,760px);margin:0 auto;padding:70px 0 110px;}
.editor-styles-wrapper .orange-block-root .garden-layout{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:70px 0 110px;}
.editor-styles-wrapper [contenteditable="true"]:focus{outline:1px dashed rgba(236,124,43,.55);outline-offset:3px;}
.editor-styles-wrapper .rich-text{min-height:1em;}


/* ===== Visual editing controls v0.5.0 ===== */
.orange-block-root{background:var(--orange-page-bg,#fffaf0);color:var(--orange-text,#4e4337);}
.orange-block-root .subpage-hero{background:var(--orange-hero-bg,#fbefd9);color:var(--orange-text,#4e4337);}
.orange-block-root .subpage-kicker,
.orange-block-root .panel-label,
.orange-block-root .section-heading>span,
.orange-block-root .garden-section-heading>span{color:var(--orange-accent,#e98632);}
.orange-block-root .section-heading>span,
.orange-block-root .garden-section-heading>span{border-color:var(--orange-accent,#e98632);}
.orange-block-root .overview-card,
.orange-block-root .recommend-card,
.orange-block-root .info-panel,
.orange-block-root .trial-card,
.orange-block-root .contact-card,
.orange-block-root .garden-intro-card,
.orange-block-root .garden-item-card,
.orange-block-root .garden-replant-card{background:var(--orange-card-bg,#fffdf8);}
.orange-block-root a{color:inherit;}

/* Image replace UI only inside the editor. */
.editor-styles-wrapper .orange-editable-image{position:relative;}
.editor-styles-wrapper .orange-editable-image .orange-image-change-button{position:absolute;right:12px;bottom:12px;z-index:5;background:#fff!important;border:1px solid #d7bea0!important;color:#6b4c31!important;box-shadow:0 3px 12px rgba(50,35,20,.14);}
.editor-styles-wrapper .orange-editable-image:hover{outline:2px dashed rgba(233,134,50,.55);outline-offset:4px;}
.orange-media-preview{display:block;width:100%;max-height:135px;object-fit:cover;border-radius:8px;margin:8px 0 10px;border:1px solid #ddd;}
.orange-media-actions{display:flex;gap:8px;flex-wrap:wrap;}
.orange-color-control{margin-bottom:18px;}
.orange-color-control strong{display:block;margin-bottom:6px;font-size:12px;}


/* ===== v0.6 Activity posts / menu integration ===== */
.orange-submit-wrap{width:min(980px,calc(100% - 40px));margin:64px auto 100px}
.orange-submit-card{padding:32px;border:1px solid #eadbc3;border-radius:22px;background:#fffdf8;box-shadow:8px 9px 0 rgba(108,78,48,.07)}
.orange-submit-card label{display:grid;gap:8px;margin:0 0 20px;font-weight:700}
.orange-submit-card input[type="text"],.orange-submit-card input[type="date"],.orange-submit-card select,.orange-submit-card textarea{width:100%;padding:12px 14px;border:1px solid #dbc8aa;border-radius:12px;background:#fff;color:#4e4337;font:inherit}
.orange-submit-card textarea{min-height:260px;resize:vertical;font-weight:500}
.orange-submit-card input[type="file"]{padding:12px;border:1px dashed #d8b98a;border-radius:12px;background:#fffaf0}
.orange-submit-actions{display:flex;justify-content:flex-end;margin-top:24px}.orange-submit-actions button{border:0;border-radius:999px;background:#e98632;color:#fff;padding:12px 24px;font:700 15px/1 "Zen Maru Gothic",sans-serif;cursor:pointer}
.orange-form-message{padding:14px 16px;margin-bottom:20px;border-radius:12px;background:#f3f7e9;border:1px solid #cdd8ad}.orange-form-message.is-error{background:#fff2ef;border-color:#efc4bd}
.orange-login-note{padding:26px;text-align:center;border:1px solid #eadbc3;border-radius:18px;background:#fffdf8}
.activity-toolbar-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}.activity-sort{display:flex;align-items:center;gap:10px}.activity-sort select{padding:9px 34px 9px 12px;border:1px solid #dfcbaa;border-radius:999px;background:#fffaf0;color:#4e4337;font:inherit}
.activity-entry-card[hidden]{display:none!important}.activity-list{display:grid;gap:24px}.activity-empty-card{padding:70px 30px;text-align:center;border:1px solid #eadbc3;border-radius:22px;background:#fffdf8;box-shadow:7px 8px 0 rgba(108,78,48,.06)}
.activity-create-link{display:inline-flex;align-items:center;gap:7px;margin-top:18px;padding:10px 16px;border:1px solid #e3c89d;border-radius:999px;background:#fffaf0;color:#a65d27;font-weight:700}
.activity-article-content{font-size:16px;line-height:2}.activity-article-content > *{max-width:100%}.activity-article-content h2{margin-top:48px}.activity-main-photo img{width:100%;height:auto;display:block}
.sample-page-card{padding:28px;border:1px solid #eadbc3;border-radius:20px;background:#fffdf8;box-shadow:6px 7px 0 rgba(108,78,48,.06)}
.site-header nav .menu-item{display:contents}.site-header nav ul{display:flex;gap:28px;align-items:center;margin:0;padding:0;list-style:none}.site-header nav li{list-style:none}.site-header nav a{white-space:nowrap}
@media(max-width:1100px){.site-header nav ul{gap:14px}.orange-submit-wrap{width:min(100% - 24px,980px)}}

.category-tabs a{min-width:88px;padding:9px 16px;border:1px solid #decdb4;border-radius:999px;background:#fffaf0;color:#7b6957;font-size:14px;font-weight:500;text-align:center;transition:color .2s,background .2s,border-color .2s}.category-tabs a:hover{border-color:#dd7c2d;color:#a65f2d}.category-tabs a.is-active{border-color:#dd7c2d;background:#e98632;color:#fff}.category-tabs a.is-active:hover{color:#fff}

/* v0.8 editor previews */
.editor-styles-wrapper .wp-block[data-type="orange-fc/top-page"],
.editor-styles-wrapper .wp-block[data-type="orange-fc/activities-page"],
.editor-styles-wrapper .wp-block[data-type="orange-fc/album-page"],
.editor-styles-wrapper .wp-block[data-type="orange-fc/members-page"],
.editor-styles-wrapper .wp-block[data-type="orange-fc/activity-submit-page"]{max-width:none!important;width:100%!important;margin:0!important;}
.editor-styles-wrapper .orange-top-editor,
.editor-styles-wrapper .orange-function-editor{width:100%;max-width:none;}
.editor-styles-wrapper .orange-top-editor .house-hero{min-height:620px;}
.editor-styles-wrapper .orange-function-editor .subpage-hero{width:100%;max-width:none;}
.editor-styles-wrapper .orange-editor-function-demo{pointer-events:none;}
.editor-styles-wrapper .garden-item-edit-image{flex:0 0 auto;width:76px;height:76px;}
.editor-styles-wrapper .garden-item-edit-image img{width:76px;height:76px;object-fit:cover;border-radius:13px;}
.editor-styles-wrapper .garden-item-edit-image .orange-image-change-button{font-size:10px;padding:3px 6px;right:2px;bottom:2px;}

/* ===== v0.9 complete editable controls ===== */
.orange-all-text-note{padding:10px 12px;margin:8px 0 14px;border:1px solid #ead8bc;border-radius:10px;background:#fffaf0;font-size:12px;line-height:1.7;color:#765f4b}
.orange-text-control{margin:0 0 14px}.orange-text-control .components-base-control{margin-bottom:0}
.orange-editable-image{position:relative}.orange-editable-image .orange-image-change-button{position:absolute;right:10px;bottom:10px;z-index:5;box-shadow:0 2px 7px rgba(0,0,0,.12)}
.orange-top-editor .orange-editable-image img{display:block;width:100%;height:auto}
.orange-editor-image-wrap{position:relative}
.album-upload-status{margin:0 0 18px;padding:10px 14px;border-radius:12px;background:#f2f8ef;color:#4f6c42;font-size:14px;font-weight:700}

/* v0.9.9: activity detail keeps the uploader-based photo cards. */
.event-photo-grid .photo-author-camera {
  left: 5%;
  right: auto;
}
.event-uploader-item { min-width: 0; }
.event-uploader-item .event-photo-card { width: 100%; display: block; }


/* ===== v0.9.10: public member list + individual ROOM ===== */
.orange-members-page{min-height:70vh}
.member-list-layout,.member-room-layout{width:min(1080px,calc(100% - 40px));margin:0 auto;padding:64px 0 110px}
.member-account-strip,.member-login-strip{display:flex;align-items:center;gap:14px;margin-bottom:38px;padding:14px 18px;border:1px solid #ead8bc;border-radius:18px;background:#fffdf8;box-shadow:5px 6px 0 rgba(108,78,48,.05)}
.member-account-strip>img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.member-account-strip>div{display:grid;gap:2px;margin-right:auto}.member-account-strip small{color:#8a7664}.member-account-strip strong{font-size:16px}.member-account-strip>a{padding:9px 14px;border:1px solid #dec8a9;border-radius:999px;background:#fffaf0;font-weight:700;text-decoration:none}.member-account-strip>a.is-muted{background:#fff;color:#8a7664;font-weight:500}
.member-login-strip{justify-content:space-between;gap:24px}.member-login-strip>div{display:grid;gap:3px}.member-login-strip .panel-label{margin:0}.member-login-strip strong{font-size:18px}.member-login-strip span{color:#7d6f60;font-size:14px}
.member-section-heading{margin:0 0 24px}.member-section-heading .panel-label{margin:0 0 5px}.member-section-heading h2,.member-section-heading h3{margin:0;color:#4e4337}.member-section-heading.compact{margin-bottom:16px}
.member-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.member-resident-card{position:relative;display:block;overflow:hidden;border:1px solid #e6d6bd;border-radius:24px;background:#fffdf8;color:#4e4337;text-decoration:none;box-shadow:7px 8px 0 rgba(108,78,48,.055);transition:transform .18s ease,box-shadow .18s ease}.member-resident-card:hover{transform:translateY(-3px);box-shadow:9px 11px 0 rgba(108,78,48,.07)}
.member-card-image{aspect-ratio:4/3;background:#f4ecdf;display:grid;place-items:center;overflow:hidden}.member-card-image img{width:100%;height:100%;object-fit:cover;display:block}.member-card-image span{font-size:12px;letter-spacing:.12em;color:#a59078}.member-card-copy{padding:18px 20px 20px}.member-card-copy h3{margin:0 0 10px;font-size:21px}.member-card-job{display:flex;align-items:center;gap:8px;color:#756454;font-size:14px}.member-card-job img{width:28px;height:28px;border-radius:7px;object-fit:cover}.member-card-arrow{position:absolute;right:18px;bottom:17px;font-size:20px;color:#d97f33}
.member-list-back{display:inline-flex;margin-bottom:20px;color:#8c745f;text-decoration:none;font-weight:700}.member-room-hero{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:48px;align-items:center;padding:34px;border:1px solid #ead8bc;border-radius:28px;background:#fffdf8;box-shadow:9px 10px 0 rgba(108,78,48,.055)}
.member-room-portrait{aspect-ratio:4/5;border-radius:22px;overflow:hidden;background:#f4ecdf}.member-room-portrait img{width:100%;height:100%;display:block;object-fit:cover}.member-no-image{width:100%;height:100%;display:grid;place-items:center;color:#a59078;font-size:13px;letter-spacing:.15em}
.member-room-intro h1{margin:4px 0 12px;font-size:clamp(30px,4vw,52px);line-height:1.15;word-break:break-word}.member-character-name{margin:0 0 5px;font-weight:700;font-size:18px}.member-nickname{margin:0 0 16px;color:#806f60}.member-job-line{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border-radius:999px;background:#fff4df;border:1px solid #ead0aa}.member-job-line img{width:30px;height:30px;border-radius:8px;object-fit:cover}.member-one-liner{margin:20px 0 0;padding:16px 18px;border-left:3px solid #e98632;background:#fffaf0;border-radius:0 14px 14px 0;font-size:17px}.member-edit-button{display:inline-flex;margin-top:18px;padding:9px 15px;border:1px solid #e0c39a;border-radius:999px;background:#fffaf0;text-decoration:none;font-weight:700}
.member-trophy-section{margin-top:48px}.member-trophy-shelf{position:relative;min-height:150px;padding:28px 24px 38px;border:1px solid #ddc4a4;border-radius:22px;background:linear-gradient(#fffdf8 0 72%,#a97b50 72% 79%,#745236 79% 84%,#fff8eb 84%);display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.member-trophy-shelf>p{width:100%;align-self:center;text-align:center;color:#8c7863}.member-trophy{display:grid;place-items:center;width:58px;height:74px;border-radius:40% 40% 14px 14px;background:linear-gradient(#f0c56d,#c98a35);border:1px solid #b97d2e;text-decoration:none;color:#fff;font-size:24px;box-shadow:0 5px 0 #7d5636}
.member-private-area{position:relative;margin-top:52px;padding:30px;border:1px solid #d8dcc1;border-radius:26px;background:#fbfcf5}.member-private-badge{position:absolute;top:-13px;left:26px;padding:5px 12px;border-radius:999px;background:#71864e;color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em}.member-private-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.member-private-grid article{padding:20px;border:1px solid #e0dfcf;border-radius:18px;background:#fff}.member-private-grid h3{margin:3px 0 10px;font-size:17px}.member-private-grid p:last-child{margin-bottom:0;line-height:1.8}.member-private-section{margin-top:34px;padding-top:28px;border-top:1px dashed #d4d3bf}.member-sns-list{display:flex;gap:10px;flex-wrap:wrap}.member-sns-list a{display:inline-flex;align-items:center;gap:10px;padding:9px 13px;border:1px solid #dcd2c2;border-radius:999px;background:#fff;text-decoration:none}.member-sns-list b{font-size:12px}.member-mount-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.member-mount-item{display:flex;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid #e4ddce;border-radius:12px;background:#fff}.member-mount-item b{font-size:12px}.member-mount-item.is-owned b{color:#5e7a42}.member-mount-item.is-unowned b{color:#a26a56}.member-empty-inline{color:#918171}.member-memory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.member-memory-grid a{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:14px;background:#eee}.member-memory-grid img{width:100%;height:100%;display:block;object-fit:cover}.member-memory-grid span{position:absolute;left:7px;right:7px;bottom:7px;padding:5px 7px;border-radius:8px;background:rgba(64,52,39,.72);color:#fff;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-memory-more-wrap{display:flex;justify-content:center;margin-top:18px}.member-memory-more{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid #d9c8ae;border-radius:999px;background:#fffaf2;color:#7d624b;font:800 13px/1.4 "Zen Maru Gothic",sans-serif;cursor:pointer;transition:.15s}.member-memory-more:hover{border-color:#dfac75;background:#fff4e3;color:#a86635}.member-memory-more span{color:#d98235;font-size:12px}
.member-private-login{margin-top:48px;padding:36px;text-align:center;border:1px solid #e2d4bd;border-radius:24px;background:#fffdf8}.member-private-login h2{margin:5px 0 10px}.member-private-login p:not(.panel-label){max-width:650px;margin:0 auto 20px;color:#786858;line-height:1.8}
.member-profile-editor{margin:0 0 50px;padding:30px;border:1px solid #e2cfb3;border-radius:26px;background:#fffdf8;box-shadow:8px 9px 0 rgba(108,78,48,.055)}.member-privacy-note{margin:0 0 24px;padding:14px 16px;border-radius:13px;background:#fff5e6;border:1px solid #efd6b4;font-size:13px;line-height:1.8}.member-form-success,.member-form-error{padding:12px 15px;border-radius:12px;margin:0 0 20px}.member-form-success{background:#f0f6e9;border:1px solid #cfdbbe}.member-form-error{background:#fff0ed;border:1px solid #efc6bd}.member-profile-form{display:grid;gap:22px}.member-form-section{display:grid;gap:16px;padding:22px;border:1px solid #eadfce;border-radius:18px;background:#fff}.member-form-section.is-private{background:#fbfcf5;border-color:#dfe3ce}.member-form-section h3{margin:0}.member-profile-form label{display:grid;gap:7px;font-weight:700}.member-profile-form label>span b{color:#c26544;font-size:11px}.member-profile-form input[type=text],.member-profile-form input[type=url],.member-profile-form input:not([type]),.member-profile-form select,.member-profile-form textarea{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #d9cbb8;border-radius:10px;background:#fff;color:#4e4337;font:inherit}.member-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.member-form-image-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.member-file-field{padding:14px;border:1px dashed #d7c4a7;border-radius:14px}.member-file-field>img{width:100%;max-width:220px;aspect-ratio:4/3;object-fit:cover;border-radius:11px}.member-file-field>img.job-icon-preview{width:72px;height:72px;aspect-ratio:1/1}.member-file-field small{font-weight:500;color:#7d6f60}.member-repeat-group{display:grid;gap:10px}.member-repeat-heading{display:flex;align-items:center;justify-content:space-between;font-weight:700}.member-repeat-heading button,.member-repeat-row button{border:1px solid #d9c4a4;border-radius:999px;background:#fffaf0;padding:7px 11px;color:#6b5848;cursor:pointer}.member-repeat-row{display:grid;grid-template-columns:180px 1fr auto;gap:9px;align-items:center}.member-repeat-row.mount-row{grid-template-columns:1fr auto auto}.mount-owned-check{display:flex!important;grid-auto-flow:column;align-items:center;gap:7px!important;white-space:nowrap;font-weight:500!important}.member-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px}.member-form-actions a{padding:10px 16px;text-decoration:none}.member-form-actions button{border:0;border-radius:999px;background:#e98632;color:#fff;padding:12px 24px;font:700 15px/1 "Zen Maru Gothic",sans-serif;cursor:pointer}
@media(max-width:850px){.member-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-room-hero{grid-template-columns:1fr;gap:26px}.member-room-portrait{max-width:420px;width:100%;margin:auto}.member-private-grid{grid-template-columns:1fr}.member-memory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.member-account-strip,.member-login-strip{flex-wrap:wrap}.member-account-strip>div{margin-right:0;flex:1 1 180px}}
@media(max-width:560px){.member-list-layout,.member-room-layout{width:min(100% - 24px,1080px);padding-top:40px}.member-card-grid{grid-template-columns:1fr}.member-room-hero{padding:20px}.member-private-area,.member-profile-editor{padding:20px}.member-form-grid,.member-form-image-grid{grid-template-columns:1fr}.member-repeat-row,.member-repeat-row.mount-row{grid-template-columns:1fr}.member-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-login-strip .discord-login-button{width:100%;justify-content:center}}

/* ===== v0.9.11: public member list + private My Page + layered ROOM ===== */
.member-room-visual{position:relative;margin-top:8px;border:1px solid #ead8bc;border-radius:28px;background:#fffdf8;box-shadow:9px 10px 0 rgba(108,78,48,.055);overflow:hidden}
.member-room-title{position:absolute;z-index:8;top:26px;left:28px;max-width:calc(100% - 56px);pointer-events:none}
.member-room-title .panel-label{margin:0 0 6px;color:#d97f33;letter-spacing:.18em}
.member-room-title h1{margin:0;font-size:clamp(28px,4vw,52px);line-height:1.05;color:#4e4337;word-break:break-word;text-shadow:0 2px 0 rgba(255,255,255,.8)}
.member-room-scene{position:relative;min-height:560px;overflow:hidden;background:#f4eadb;isolation:isolate}
.room-layer{position:absolute;pointer-events:none}
.room-wall-left{z-index:1;inset:0 50% 24% 0;background:linear-gradient(135deg,#f5e4c7 0%,#efe0c4 70%,#e4cfab 100%);clip-path:polygon(0 0,100% 18%,100% 100%,0 82%);border-right:2px solid rgba(96,74,50,.28)}
.room-wall-right{z-index:1;inset:0 0 24% 50%;background:linear-gradient(225deg,#f8e8cb 0%,#f0dec0 70%,#e4cfab 100%);clip-path:polygon(0 18%,100% 0,100% 82%,0 100%);border-left:2px solid rgba(96,74,50,.28)}
.room-floor{z-index:2;left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,#d9d2bc 0%,#c8bea5 100%);clip-path:polygon(0 0,50% 28%,100% 0,100% 100%,0 100%)}
.room-floor:after{content:"";position:absolute;inset:25% 0 0;background:repeating-linear-gradient(90deg,transparent 0 13%,rgba(91,71,51,.08) 13.2% 13.5%)}
.room-decoration-layer{z-index:3;inset:0}
.room-profile-frame{position:absolute;z-index:10;right:34px;bottom:34px;width:150px;height:150px;border:0;padding:0;border-radius:50%;background:#fff;box-shadow:0 12px 28px rgba(86,65,42,.22),0 0 0 5px rgba(255,255,255,.86);cursor:pointer}
.room-profile-photo{display:block;width:100%;height:100%;padding:8px;border-radius:50%;background:#fff;overflow:hidden}
.room-profile-photo img,.room-profile-placeholder{width:100%;height:100%;display:grid;place-items:center;border-radius:50%;object-fit:cover;background:#eee3d4;color:#9a846d;font-size:12px;letter-spacing:.08em}
.room-speech-bubble{position:absolute;right:112px;bottom:115px;width:max-content;max-width:min(420px,65vw);padding:14px 18px;border:2px solid #d5c4ab;border-radius:22px;background:#fff;color:#4e4337;font:700 16px/1.6 "Zen Maru Gothic",sans-serif;text-align:left;box-shadow:0 8px 22px rgba(86,65,42,.16);opacity:0;transform:translateY(8px) scale(.98);visibility:hidden;transition:opacity .16s ease,transform .16s ease,visibility .16s ease;white-space:normal}
.room-speech-bubble:after{content:"";position:absolute;right:24px;bottom:-12px;width:20px;height:20px;background:#fff;border-right:2px solid #d5c4ab;border-bottom:2px solid #d5c4ab;transform:rotate(45deg)}
.room-profile-frame:hover .room-speech-bubble,.room-profile-frame:focus-visible .room-speech-bubble,.room-profile-frame.is-bubble-open .room-speech-bubble{opacity:1;transform:none;visibility:visible}
.member-room-owner-actions{display:flex;justify-content:flex-end;margin-top:18px}
.member-private-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.member-private-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.member-job-private-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.member-job-private-grid article{display:grid;gap:6px;padding:18px;border:1px solid #e0dfcf;border-radius:16px;background:#fff}
.member-job-private-grid article>span{color:#887666;font-size:12px;font-weight:700;letter-spacing:.05em}
.member-job-private-grid article>strong{font-size:18px}
.member-job-private-grid article small{color:#8a7d6e;line-height:1.6}
.member-job-private-grid article.is-preparing{background:#fffdf8}
.member-free-content{padding:18px;border:1px solid #e0dfcf;border-radius:16px;background:#fff;line-height:1.9;min-height:64px}
.member-preparing-panel,.member-preparing-row{border:1px dashed #d8cfbd;border-radius:16px;background:#fffdf8;color:#766858}
.member-preparing-panel{padding:20px}.member-preparing-panel strong{display:inline-block;margin-bottom:6px;color:#a36e3b}.member-preparing-panel p{margin:0;line-height:1.7}
.member-preparing-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 17px}.member-preparing-row>div{display:grid;gap:3px}.member-preparing-row span{font-size:13px;color:#8a7b6d}.member-preparing-row em{font-style:normal;font-weight:700;color:#a36e3b;white-space:nowrap}
.member-form-image-grid.is-single{grid-template-columns:minmax(0,420px)}
.member-field-note{font-weight:500;color:#8a7b6d;line-height:1.5}
.mypage-layout{padding-bottom:70px}.mypage-login{margin-top:0}
.mypage-point-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px;padding:26px 30px;border:1px solid #e2cfb3;border-radius:22px;background:#fffdf8;box-shadow:7px 8px 0 rgba(108,78,48,.045)}
.mypage-point-panel .panel-label{margin:0 0 3px}.mypage-point-panel h2{margin:0 0 6px}.mypage-point-panel p:last-child{margin:0;color:#7d6f60}.mypage-point-panel>span{padding:8px 14px;border-radius:999px;background:#f4ead9;color:#9a7046;font-weight:700;white-space:nowrap}
@media(max-width:900px){.member-private-grid.four,.member-private-grid.five{grid-template-columns:repeat(2,minmax(0,1fr))}.member-room-scene{min-height:500px}.room-profile-frame{width:130px;height:130px;right:24px;bottom:26px}.room-speech-bubble{right:94px;bottom:102px}}
@media(max-width:560px){.member-private-grid.five{grid-template-columns:1fr}.member-room-title{top:20px;left:20px;max-width:calc(100% - 40px)}.member-room-title h1{font-size:clamp(25px,9vw,36px)}.member-room-scene{min-height:430px}.room-profile-frame{width:108px;height:108px;right:18px;bottom:20px}.room-speech-bubble{right:68px;bottom:88px;max-width:72vw;padding:12px 14px;font-size:14px}.member-private-grid.four,.member-job-private-grid{grid-template-columns:1fr}.member-preparing-row,.mypage-point-panel{align-items:flex-start;flex-direction:column}.member-form-image-grid.is-single{grid-template-columns:1fr}}


/* ===== v0.9.12: activity-only refinements ===== */
.activity-page-actions{display:flex;justify-content:flex-end;margin:0 0 20px}
.activity-page-actions .activity-create-link{margin:0}
.activity-page-notice{margin:0 0 18px;padding:12px 16px;border:1px solid #d9e4cf;border-radius:14px;background:#f4f8ef;color:#58704b;font-weight:700}
.activity-entry-card{border-radius:28px}
.activity-main-photo{border-radius:28px}
.activity-author-line{display:inline-flex;align-items:center;gap:10px;margin-top:20px;padding:8px 14px 8px 9px;border:1px solid #eadbc5;border-radius:999px;background:#fffaf1;color:#74614f}
.activity-author-line img{width:34px;height:34px;border:2px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 2px 6px rgba(86,60,38,.12)}
.activity-author-line span{display:grid;gap:1px;text-align:left}
.activity-author-line small{font-size:9px;letter-spacing:.15em;color:#c37438}
.activity-author-line strong{font-size:13px;color:#5b493a}
.activity-delete-form{margin-top:14px}
.activity-delete-form button{padding:7px 13px;border:1px solid #e2c8b7;border-radius:999px;background:transparent;color:#a55e4a;font:700 12px/1.2 "Zen Maru Gothic",sans-serif;cursor:pointer}
.activity-delete-form button:hover{background:#fff1e9;border-color:#dba989}

.activity-article-content figure.wp-block-image,
.activity-article-content .activity-inline-photo,
.activity-article-content > p > img{
    overflow:hidden;
    margin:34px auto;
    border:10px solid #fffdf8;
    border-radius:28px;
    background:#f3e5cf;
    box-shadow:8px 11px 0 rgba(120,91,56,.1);
}
.activity-article-content figure.wp-block-image img,
.activity-article-content .activity-inline-photo img,
.activity-article-content > p > img{
    display:block;
    width:100%;
    height:auto;
}

/* Front-end activity composer */
.orange-submit-wrap{width:min(980px,calc(100% - 40px));margin:48px auto 100px}
.orange-activity-submit-form{display:grid;gap:24px}
.orange-submit-card{padding:clamp(24px,4vw,36px);border:1px solid #eadbc3;border-radius:28px;background:#fffdf8;box-shadow:8px 9px 0 rgba(108,78,48,.07)}
.orange-submit-card-heading{display:flex;align-items:center;gap:13px;margin-bottom:26px}
.orange-submit-card-heading>span{display:grid;place-items:center;width:42px;height:42px;border:1px solid #e8964e;border-radius:50%;color:#dd7b2f;font-size:13px}
.orange-submit-card-heading p{margin:0 0 2px;color:#e1772f;font-size:10px;letter-spacing:.22em}
.orange-submit-card-heading h2{margin:0;color:var(--wood-dark);font-size:24px}
.orange-field{display:grid;gap:9px;margin:0 0 22px;color:#654f3d;font-weight:700}
.orange-field>span,.orange-tag-field legend{font-size:14px}
.orange-field small{font-weight:500;color:#9a8068}
.orange-field input[type="text"],
.orange-field input:not([type]),
.orange-field input[type="date"],
.orange-field textarea{width:100%;padding:13px 15px;border:1px solid #dbc8aa;border-radius:14px;outline:none;background:#fff;color:#4e4337;font:500 15px/1.7 "Zen Maru Gothic",sans-serif}
.orange-field textarea{min-height:300px;resize:vertical}
.orange-field input:focus,.orange-field textarea:focus{border-color:#df8c45;box-shadow:0 0 0 3px rgba(223,140,69,.12)}
.orange-file-field input[type="file"]{padding:14px;border:1px dashed #d8b98a;border-radius:14px;background:#fffaf0;font:inherit}
.orange-tag-field{margin:0 0 22px;padding:0;border:0}
.orange-tag-field legend{margin-bottom:10px}
.orange-tag-pills{display:flex;flex-wrap:wrap;gap:9px}
.orange-tag-pills label{margin:0}
.orange-tag-pills input{position:absolute;opacity:0;pointer-events:none}
.orange-tag-pills span{display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border:1px solid #decdb4;border-radius:999px;background:#fffaf0;color:#7b6957;font-size:14px;cursor:pointer;transition:.18s}
.orange-tag-pills input:checked+span{border-color:#dd7c2d;background:#e98632;color:#fff}
.orange-bb-toolbar{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
.orange-bb-toolbar button{min-width:38px;padding:7px 10px;border:1px solid #ddcdb6;border-radius:9px;background:#fffaf0;color:#6e5845;font:700 13px/1.2 "Zen Maru Gothic",sans-serif;cursor:pointer}
.orange-bb-toolbar button:hover{border-color:#df8c45;color:#a65f2d}
.orange-bb-help{margin:-8px 0 24px;color:#806c59;font-size:12px}
.orange-bb-help summary{cursor:pointer;color:#a65f2d;font-weight:700}
.orange-bb-help code{padding:2px 5px;border-radius:5px;background:#f4eadb}
.orange-cover-preview{display:flex;align-items:center;gap:14px;margin-top:-8px;padding:13px;border-radius:14px;background:#fff8ec}
.orange-cover-preview img{width:130px;aspect-ratio:16/9;object-fit:cover;border:5px solid #fff;border-radius:12px;box-shadow:4px 5px 0 rgba(103,75,48,.08)}
.orange-cover-preview span{font-size:13px;color:#786451;word-break:break-all}
.orange-body-image-picker{display:grid;gap:10px;margin-top:-6px}
.orange-body-image-picker article{display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border:1px solid #eadbc3;border-radius:14px;background:#fffaf0}
.orange-body-image-picker img{width:82px;height:62px;object-fit:cover;border-radius:9px}
.orange-body-image-picker div{display:grid;gap:2px;min-width:0}
.orange-body-image-picker strong{font-size:13px;color:#5c493a}
.orange-body-image-picker span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8a7561;font-size:11px}
.orange-body-image-picker button{padding:8px 11px;border:1px solid #df9b5e;border-radius:999px;background:#fff;color:#a45e2d;font:700 12px/1 "Zen Maru Gothic",sans-serif;cursor:pointer}
.orange-preview-card{background:#fffbf4}
.orange-live-preview{min-height:180px;padding:22px;border:1px dashed #dcc8aa;border-radius:18px;background:#fff;color:#55483c;font-size:16px;line-height:1.9}
.orange-live-preview h2{margin:26px 0 12px;font-size:28px;color:var(--wood-dark)}
.orange-live-preview h3{margin:22px 0 10px;font-size:22px;color:var(--wood-dark)}
.orange-live-preview blockquote{margin:18px 0;padding:14px 18px;border-left:4px solid #e59a58;background:#fff8ed;color:#6b5948}
.orange-live-preview .orange-bb-center,.activity-article-content .orange-bb-center{text-align:center}
.orange-live-preview .activity-inline-photo{overflow:hidden;margin:24px auto;border:8px solid #fff;border-radius:22px;background:#f3e5cf;box-shadow:7px 9px 0 rgba(120,91,56,.09)}
.orange-live-preview .activity-inline-photo img{display:block;width:100%;height:auto}
.orange-preview-empty,.orange-preview-missing{color:#9b8875}
.orange-submit-actions{display:flex;justify-content:flex-end;margin-top:0}
.orange-submit-primary{min-width:150px;padding:14px 25px;border:0;border-radius:999px;background:#e98632;color:#fff;font:700 15px/1 "Zen Maru Gothic",sans-serif;cursor:pointer;box-shadow:0 6px 14px rgba(170,94,35,.16)}

@media(max-width:700px){
  .activity-page-actions{justify-content:stretch}
  .activity-page-actions .activity-create-link{width:100%;justify-content:center}
  .activity-main-photo,.activity-article-content figure.wp-block-image,.activity-article-content .activity-inline-photo{border-width:6px;border-radius:20px}
  .orange-submit-wrap{width:min(100% - 24px,980px);margin-top:34px}
  .orange-submit-card{padding:22px 17px;border-radius:22px}
  .orange-body-image-picker article{grid-template-columns:68px minmax(0,1fr)}
  .orange-body-image-picker img{width:68px;height:54px}
  .orange-body-image-picker button{grid-column:1/-1;justify-self:start}
  .orange-submit-actions .orange-submit-primary{width:100%}
}

/* ===== v0.9.14 MEMBER ONLY sprout menu ===== */
.member-hub{position:relative;z-index:80;flex:0 0 auto}
.member-hub-pill{display:flex;align-items:center;gap:5px;border:1px solid #d8c5aa;border-radius:999px;padding:6px 11px 6px 8px;background:#f6ead7;color:#8a6d4e;box-shadow:0 2px 8px rgba(89,65,45,.04)}
.member-hub .member-button{border:0;border-radius:0;padding:4px 2px;background:transparent;color:#8a6d4e;white-space:nowrap}
.member-seed-toggle,.member-seed-static{width:33px;height:29px;display:grid;place-items:center;flex:0 0 auto}
.member-seed-toggle{padding:0;border:0;background:transparent;cursor:pointer;border-radius:50%;outline:none}
.member-seed-toggle:focus-visible{box-shadow:0 0 0 3px rgba(233,134,50,.22)}
.orange-seed-icon{display:block;width:33px;height:23px;overflow:visible}
.orange-seed-icon .seed-shell{fill:#a86a3d;stroke:#6b4a31;stroke-width:1.6}
.orange-seed-icon .seed-sprout-stem{stroke:#77a843;stroke-width:2.2}
.orange-seed-icon .seed-sprout-leaf{fill:#a8d957;stroke:#77a843;stroke-width:1.3;transform-box:fill-box;transform-origin:center}
.member-hub.is-open .seed-sprout-leaf{opacity:0;transform:scale(1.45);transition:transform .18s ease,opacity .13s ease}
.member-hub:not(.is-open) .seed-sprout-leaf{transition:transform .22s ease,opacity .22s ease}

/* v0.9.15: two smooth overlapping leaves. The open menu grows from the small sprout beside My Page. */
.member-leaf-menu{position:absolute;right:-18px;top:34px;width:390px;height:470px;opacity:0;pointer-events:none;transform:translate(8px,-7px) scale(.05);transform-origin:72% 0%;transition:transform .34s cubic-bezier(.2,.84,.22,1.08),opacity .15s ease;z-index:40}
.member-hub.is-open .member-leaf-menu{opacity:1;pointer-events:auto;transform:none}
.member-leaf-bg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.member-leaf-stem{fill:none;stroke:#8aa64b;stroke-width:5;stroke-linecap:round;vector-effect:non-scaling-stroke}
.member-leaf-shape{stroke:#8e8a5a;stroke-width:1.7;vector-effect:non-scaling-stroke}
.member-leaf-shape-a{fill:#c9c78f}
.member-leaf-shape-b{fill:#afb57a}
.member-leaf-content{position:absolute;inset:0;z-index:2;color:#584a38}
.member-leaf-group{position:absolute;display:flex;flex-direction:column;align-items:center}
.member-leaf-group-top{left:86px;top:88px;width:204px}
.member-leaf-group-bottom{left:126px;top:304px;width:184px}
.member-leaf-title{margin:0 0 9px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;color:#665837}
.member-leaf-title>span{font-size:11px;font-weight:800;letter-spacing:.15em;line-height:1}
.member-leaf-lock{width:23px;height:23px;overflow:visible;fill:none;stroke:#8d6a3d;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.member-leaf-lock circle{fill:#8d6a3d;stroke:none}
.member-leaf-links{display:grid;gap:7px;width:100%}
.member-leaf-link{display:block;width:100%;min-width:0;padding:8px 13px;border:1px solid rgba(137,112,73,.18);border-radius:999px;background:rgba(255,250,240,.82);color:#584a38;text-align:left;box-shadow:0 3px 9px rgba(86,68,43,.055);transition:transform .16s ease,background .16s ease,color .16s ease,opacity .16s ease}
.member-leaf-link span{display:grid;gap:0;min-width:0}
.member-leaf-link strong{font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.member-leaf-link small{margin-top:1px;font-size:10px;line-height:1.25;color:#7e715e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
a.member-leaf-link:hover{transform:translateX(2px);background:rgba(255,251,243,.96);color:#a8642e}
.member-leaf-link.is-preparing{opacity:.54}
.member-only-gate{min-height:calc(100vh - 74px);display:grid;place-items:center;padding:70px 20px;background:#fffaf0}
.member-only-gate-card{width:min(100%,560px);padding:48px 42px;text-align:center;border:1px solid #e5d6c0;border-radius:28px;background:#fffdf8;box-shadow:8px 9px 0 rgba(111,83,50,.07)}
.member-only-gate-mark{display:inline-block;width:12px;height:12px;border-radius:50%;background:#8db64d;margin-bottom:8px}
.member-only-gate-card h1{margin:5px 0 12px;font-size:clamp(32px,5vw,52px)}
.member-only-gate-card>p:not(.panel-label){margin:0 auto 24px;max-width:430px;line-height:1.9;color:#776958}

/* Restore the original-style My Page Discord gate. */
.mypage-login-classic{width:min(760px,100%);margin:0 auto;padding:54px 52px 58px;border:1px solid #e4d6c2;border-radius:28px;background:#fffdf8;box-shadow:9px 10px 0 rgba(111,83,50,.065);text-align:center}
.mypage-login-classic .mypage-login-crest{display:block;width:74px;height:74px;margin:0 auto 18px;border-radius:50%;object-fit:cover;filter:drop-shadow(0 3px 5px rgba(90,64,39,.14))}
.mypage-login-classic .panel-label{margin:0 0 10px;color:#e98632;letter-spacing:.2em}
.mypage-login-classic h2{margin:0 0 16px;font-size:clamp(28px,4vw,40px);color:#4e4337}
.mypage-login-classic .mypage-login-lead{max-width:620px;margin:0 auto 22px!important;color:#4e4337!important;line-height:1.8}
.mypage-login-info{max-width:560px;margin:0 auto 28px;padding:18px 20px;text-align:left;border:1px solid #e8cfae;border-radius:14px;background:#fff7e9;color:#62472f}
.mypage-login-info strong{display:block;margin-bottom:7px;color:#9d5e2c;font-size:14px}
.mypage-login-info p{margin:0!important;max-width:none!important;color:#5f5042!important;line-height:1.8!important;font-size:14px}
.mypage-login-classic .discord-login-button{display:inline-flex;align-items:center;justify-content:center;min-width:268px;padding:14px 24px;border:1px solid rgba(84,75,105,.18);border-radius:999px;background:#77799a;color:#fffdf8!important;box-shadow:0 8px 17px rgba(92,85,112,.15)}
.mypage-login-classic .discord-login-button:hover{background:#666985;color:#fff!important}

@media(max-width:1100px){
  .member-hub{margin-left:auto}
  .member-leaf-menu{right:-12px;top:34px;width:min(390px,calc(100vw - 18px));height:465px}
}
@media(max-width:560px){
  .member-hub-pill{padding:5px 8px 5px 6px;gap:2px}
  .member-hub .member-button{padding:3px 1px;font-size:12px}
  .member-seed-toggle,.member-seed-static{width:28px;height:25px}
  .orange-seed-icon{width:28px;height:20px}
  .member-leaf-menu{right:-4px;top:31px;width:min(340px,calc(100vw - 10px));height:410px;transform-origin:74% 0%}
  .member-leaf-group-top{left:75px;top:77px;width:178px}
  .member-leaf-group-bottom{left:108px;top:266px;width:160px}
  .member-leaf-link{padding:7px 11px}
  .member-leaf-link strong{font-size:13px}
  .member-leaf-link small{font-size:9px}
  .member-leaf-lock{width:21px;height:21px}
  .member-only-gate{min-height:calc(100vh - 64px);padding:45px 14px}
  .member-only-gate-card{padding:38px 22px;border-radius:22px}
  .mypage-login-classic{padding:38px 20px 42px;border-radius:22px}
  .mypage-login-classic .mypage-login-crest{width:64px;height:64px}
  .mypage-login-info{padding:16px}
  .mypage-login-classic .discord-login-button{width:100%;min-width:0}
}


/* ===== v0.9.17 requested top-page + MEMBER ONLY alignment fixes ===== */
/* Announcement now sits above Site Guide. */
.top-notice-wrap{
  padding:92px 20px 78px;
  background:var(--paper-light);
}
.top-notice-wrap .notice-board{margin:0 auto}
.house-guide{padding-top:82px}

/* 01–04 Site Guide cards use the same neutral paper color as 01. */
.room-grid .room-about,
.room-grid .room-activity,
.room-grid .room-album,
.room-grid .room-join{background:rgba(255,252,244,.92)}

/* Anchor the sprout menu to the seed itself instead of the whole My Page pill. */
.member-sprout-anchor{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:33px;
  height:29px;
  flex:0 0 33px;
  overflow:visible;
}
.member-leaf-menu{
  left:50%;
  right:auto;
  top:25px;
  width:min(390px,calc(100vw - 18px));
  height:470px;
  transform:translate(-72.3077%,-7px) scale(.05);
  transform-origin:72.3077% 0%;
}
.member-hub.is-open .member-leaf-menu{
  transform:translate(-72.3077%,0) scale(1);
}
/* All translucent menu pills share one vertical axis and one width. */
.member-leaf-group-top,
.member-leaf-group-bottom{
  left:28%;
  width:46%;
}
.member-leaf-group-top{top:18.7%}
.member-leaf-group-bottom{top:64.7%}
.member-leaf-links{width:100%}
.member-leaf-link{width:100%}

@media(max-width:900px){
  .member-leaf-menu{
    left:50%;
    right:auto;
    top:25px;
    width:min(390px,calc(100vw - 18px));
    height:465px;
  }
}
@media(max-width:560px){
  .member-sprout-anchor{width:28px;height:25px;flex-basis:28px}
  .member-leaf-menu{
    left:50%;
    right:auto;
    top:22px;
    width:min(340px,calc(100vw - 10px));
    height:410px;
    transform:translate(-72.3077%,-6px) scale(.05);
    transform-origin:72.3077% 0%;
  }
  .member-hub.is-open .member-leaf-menu{transform:translate(-72.3077%,0) scale(1)}
  .member-leaf-group-top,.member-leaf-group-bottom{left:28%;width:46%}
  .member-leaf-group-top{top:18.7%}
  .member-leaf-group-bottom{top:64.7%}
  .top-notice-wrap{padding:64px 14px 55px}
  .house-guide{padding-top:64px}
}


/* ===== v0.9.18: MEMBER ONLY / 出席管理 ===== */
.attendance-shell{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:58px 0 88px;color:var(--ink)}
.attendance-toolbar{margin-bottom:28px}.attendance-back{display:inline-flex;align-items:center;gap:8px;color:#765a3e;font-weight:700}.attendance-back:hover{color:var(--orange)}
.attendance-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}.attendance-page-heading .panel-label{margin:0 0 8px;color:var(--orange);letter-spacing:.18em}.attendance-page-heading h1{margin:0;font-size:clamp(38px,6vw,60px);line-height:1.15;color:var(--wood-dark)}.attendance-page-heading p:not(.panel-label){margin:14px 0 0;color:var(--muted);line-height:1.8}
.attendance-primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid #e7b77e;border-radius:999px;background:#fff9ef;color:#a55d26;font-weight:800;box-shadow:0 5px 12px rgba(104,76,44,.06);cursor:pointer;white-space:nowrap}.attendance-primary-button:hover{background:#fff1dd;color:#8b4f21}.attendance-primary-button:focus-visible{outline:3px solid rgba(233,134,50,.24);outline-offset:2px}
.attendance-alert{margin:0 0 24px;padding:14px 18px;border-radius:14px;font-weight:700}.attendance-alert.is-error{border:1px solid #e5b7aa;background:#fff1ed;color:#9b4938}.attendance-alert.is-success{border:1px solid #bdd8af;background:#f2faed;color:#527742}
.attendance-login-card{width:min(720px,calc(100% - 40px));margin:70px auto 90px;padding:52px 44px;text-align:center;border:1px solid #e4d6c2;border-radius:28px;background:#fffdf8;box-shadow:9px 10px 0 rgba(111,83,50,.065)}.attendance-login-card img{display:block;width:72px;height:72px;margin:0 auto 18px;border-radius:50%}.attendance-login-card .panel-label{margin:0 0 8px;color:var(--orange);letter-spacing:.2em}.attendance-login-card h2{margin:0 0 14px;font-size:clamp(28px,4vw,40px)}.attendance-login-card p:not(.panel-label){max-width:560px;margin:0 auto 24px;line-height:1.8;color:var(--muted)}.attendance-login-card .discord-login-button{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:999px;background:#77799a;color:#fff!important;font-weight:700;box-shadow:0 8px 17px rgba(92,85,112,.15)}
.attendance-empty{padding:64px 24px;text-align:center;border:1px dashed #dcc6a7;border-radius:24px;background:#fffdf8}.attendance-empty p{margin:0 0 8px;font-size:22px;font-weight:800}.attendance-empty span{color:var(--muted)}
.attendance-event-list{display:grid;gap:18px}.attendance-event-card{display:grid;grid-template-columns:190px minmax(0,1fr) 42px;align-items:stretch;overflow:hidden;border:1px solid #e2d3bc;border-radius:26px;background:#fffdf8;color:var(--ink);box-shadow:8px 9px 0 rgba(111,83,50,.045);transition:transform .18s ease,box-shadow .18s ease}.attendance-event-card:hover{transform:translateY(-2px);box-shadow:10px 12px 0 rgba(111,83,50,.055)}.attendance-event-card-date{display:flex;flex-direction:column;justify-content:center;padding:26px 24px;background:#fbefd9;border-right:1px solid #ead8bd}.attendance-event-card-date span{margin-bottom:8px;color:var(--orange);font-size:12px;font-weight:800;letter-spacing:.14em}.attendance-event-card-date strong{font-size:17px;line-height:1.6}.attendance-event-card-copy{padding:25px 28px}.attendance-event-card-copy .panel-label{margin:0 0 7px;color:var(--orange);letter-spacing:.16em}.attendance-event-card-copy h2{margin:0 0 7px;font-size:26px}.attendance-event-card-copy>p:not(.panel-label){margin:0 0 14px;color:var(--muted);line-height:1.65}.attendance-event-card-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:#857563;font-size:13px}.attendance-event-card-arrow{display:grid;place-items:center;font-size:22px;color:var(--orange)}
.attendance-form-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;margin-bottom:20px;padding:28px 30px;border:1px solid #e2d3bc;border-radius:24px;background:#fffdf8;box-shadow:7px 8px 0 rgba(111,83,50,.04)}.attendance-form-number{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--orange);border-radius:50%;color:var(--orange);font-size:13px}.attendance-form-body>.panel-label{margin:0 0 5px;color:var(--orange);letter-spacing:.16em}.attendance-form-body h2{margin:0 0 20px;font-size:26px}.attendance-help{margin:-7px 0 18px;color:var(--muted);line-height:1.7}.attendance-field{display:grid;gap:7px;margin-top:18px}.attendance-field>span,.attendance-candidate-row label>span{font-weight:700}.attendance-field small{color:#948473;font-weight:400}.attendance-field input,.attendance-field textarea,.attendance-candidate-row input{width:100%;border:1px solid #dbc9af;border-radius:13px;background:#fffdfa;color:var(--ink);font:inherit;outline:none}.attendance-field input{height:48px;padding:0 14px}.attendance-field textarea{padding:13px 14px;resize:vertical}.attendance-field input:focus,.attendance-field textarea:focus,.attendance-candidate-row input:focus{border-color:#e8a765;box-shadow:0 0 0 3px rgba(233,134,50,.1)}
.attendance-candidate-editor{display:grid;gap:10px}.attendance-candidate-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(130px,.7fr) 42px;gap:10px;align-items:end;padding:13px;border-radius:16px;background:#fcf5e8;border:1px solid #eadbc4}.attendance-candidate-row label{display:grid;gap:6px}.attendance-candidate-row input{height:44px;padding:0 11px}.attendance-row-remove{width:42px;height:42px;border:1px solid #e2c7a7;border-radius:50%;background:#fffaf1;color:#a66534;font-size:20px;cursor:pointer}.attendance-row-remove:disabled{opacity:.3;cursor:not-allowed}.attendance-add-row{margin-top:12px;padding:10px 0;border:0;background:transparent;color:#a55d26;font-weight:800;cursor:pointer}.attendance-operator-grid{display:flex;flex-wrap:wrap;gap:9px}.attendance-operator-chip input{position:absolute;opacity:0;pointer-events:none}.attendance-operator-chip span{display:block;padding:9px 14px;border:1px solid #ddcbb2;border-radius:999px;background:#fffaf1;color:#675847;cursor:pointer;transition:.15s}.attendance-operator-chip input:checked+span{border-color:#e59b55;background:#f9dfbf;color:#8d5023;box-shadow:inset 0 0 0 1px rgba(229,155,85,.3)}.attendance-form-actions{display:flex;justify-content:center;margin-top:28px}
.attendance-event-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;padding:32px 34px;border:1px solid #e2d3bc;border-radius:26px;background:#fffdf8;box-shadow:8px 9px 0 rgba(111,83,50,.045)}.attendance-event-hero .panel-label{margin:0 0 8px;color:var(--orange);letter-spacing:.16em}.attendance-event-hero h1{margin:0;font-size:clamp(34px,5vw,54px);line-height:1.2}.attendance-event-description{margin:15px 0 0;max-width:720px;color:var(--muted);line-height:1.8}.attendance-event-meta{display:flex;flex-direction:column;gap:9px;align-items:flex-end;justify-content:center;color:#82725f;font-size:13px}.attendance-event-meta span{padding:7px 11px;border-radius:999px;background:#faf2e6}.attendance-confirmed-banner{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px 0 0;padding:15px 20px;border:1px solid #c4d8a6;border-radius:18px;background:#f4f9e8;color:#56703e}.attendance-confirmed-banner span{padding:5px 9px;border-radius:999px;background:#dfeabb;font-size:12px;font-weight:800;letter-spacing:.08em}.attendance-confirmed-banner strong{font-size:18px}
.attendance-response-section,.attendance-matrix-section{margin-top:38px}.attendance-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:17px}.attendance-section-title .panel-label{margin:0 0 4px;color:var(--orange);letter-spacing:.16em}.attendance-section-title h2{margin:0;font-size:30px}.attendance-section-title>p{margin:0;color:var(--muted);font-size:13px}.attendance-answer-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:14px}.attendance-answer-card{position:relative;padding:20px;border:1px solid #e2d3bc;border-radius:22px;background:#fffdf8;box-shadow:5px 6px 0 rgba(111,83,50,.035)}.attendance-answer-card.is-confirmed{border-color:#aabc75;background:#fafce9}.attendance-answer-card.is-closed{opacity:.72}.attendance-answer-date{display:grid;gap:4px;margin-bottom:15px}.attendance-answer-date strong{font-size:17px}.attendance-answer-date small{color:var(--muted)}.attendance-status-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.attendance-status-buttons input{position:absolute;opacity:0;pointer-events:none}.attendance-status-buttons span{display:grid;place-items:center;height:48px;border:1px solid #dfd0b9;border-radius:14px;background:#fffaf2;font-size:23px;font-weight:800;cursor:pointer}.attendance-status-buttons input:checked+span.is-circle{border-color:#78a966;background:#edf7e8;color:#47773b}.attendance-status-buttons input:checked+span.is-triangle{border-color:#dfae55;background:#fff4d8;color:#a56a18}.attendance-status-buttons input:checked+span.is-cross{border-color:#d78476;background:#fff0ec;color:#a44e42}.attendance-status-buttons input:disabled+span{cursor:not-allowed}.attendance-counts{display:flex;justify-content:center;gap:12px;margin-top:13px;color:#80715f;font-size:12px}.attendance-closed-note{margin:12px 0 0;text-align:center;color:#9c7766;font-size:12px;font-weight:700}.attendance-confirm-button{display:block;width:100%;margin-top:14px;padding:9px;border:1px solid #c9c090;border-radius:999px;background:#f7f5df;color:#6d7149;font-weight:700;cursor:pointer}.attendance-confirm-button.is-selected{background:#dfe8b9;color:#4d6237}.attendance-hidden-form{display:none}
.attendance-table-scroll{overflow:auto;border:1px solid #e2d3bc;border-radius:22px;background:#fffdf8;box-shadow:5px 6px 0 rgba(111,83,50,.035)}.attendance-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.attendance-table th,.attendance-table td{min-width:150px;padding:14px 15px;border-right:1px solid #eee1ce;border-bottom:1px solid #eee1ce;text-align:center}.attendance-table thead th{position:sticky;top:0;z-index:2;background:#faf1e2;vertical-align:bottom}.attendance-table thead th strong{display:block;font-size:13px;line-height:1.5}.attendance-table thead th small{display:block;margin-top:4px;color:#877765;font-size:10px}.attendance-table .attendance-member-col{position:sticky;left:0;z-index:3;min-width:150px;max-width:180px;background:#fffdf8;text-align:left}.attendance-table thead .attendance-member-col{z-index:4;background:#f5e8d5}.attendance-table tbody tr.is-me .attendance-member-col{background:#fff3df}.attendance-table .attendance-member-col small{display:block;margin-top:3px;color:var(--orange);font-size:10px}.attendance-matrix-status{font-size:24px;font-weight:800}.attendance-matrix-status.is-circle{color:#538846}.attendance-matrix-status.is-triangle{color:#b27621}.attendance-matrix-status.is-cross{color:#a95347}.attendance-matrix-status.is-none{color:#c7baa7}.attendance-table .is-confirmed{background:#f6f8e7!important}
@media(max-width:760px){.attendance-shell{width:min(100% - 24px,1120px);padding:36px 0 64px}.attendance-page-heading,.attendance-section-title{align-items:flex-start;flex-direction:column}.attendance-page-heading .attendance-primary-button{width:100%}.attendance-event-card{grid-template-columns:1fr 38px}.attendance-event-card-date{grid-column:1/-1;border-right:0;border-bottom:1px solid #ead8bd;padding:15px 20px}.attendance-event-card-copy{padding:20px}.attendance-event-hero{grid-template-columns:1fr;padding:25px 22px}.attendance-event-meta{align-items:flex-start}.attendance-confirmed-banner{align-items:flex-start;flex-direction:column}.attendance-form-card{grid-template-columns:1fr;padding:22px 18px}.attendance-form-number{width:40px;height:40px}.attendance-candidate-row{grid-template-columns:1fr 1fr 38px;padding:10px}.attendance-row-remove{width:38px;height:38px}.attendance-answer-cards{grid-template-columns:1fr}.attendance-login-card{width:min(100% - 24px,720px);margin:38px auto 64px;padding:38px 20px}.attendance-section-title>p{line-height:1.6}}
@media(max-width:460px){.attendance-candidate-row{grid-template-columns:1fr 80px}.attendance-candidate-row label{grid-column:1/-1}.attendance-candidate-row .attendance-row-remove{grid-column:2;grid-row:1;justify-self:end}.attendance-event-card-meta{display:grid;gap:5px}.attendance-table th,.attendance-table td{min-width:130px}.attendance-table .attendance-member-col{min-width:125px}}

/* ===== v0.9.19 requested polish ===== */
.recommend-card h3 .recommend-marker{
  display:inline-block;
  margin-right:5px;
  color:#e98238;
}
.activity-time-slot.is-weekday strong{color:#5f7888;}
.activity-time-slot.is-weekend strong{color:#a96561;}
.activity-icon{
  min-height:30px;
  display:flex;
  align-items:center;
}
.activity-icon img{
  display:block;
  width:30px;
  height:30px;
  object-fit:contain;
}

/* Create-page heading is intentionally vertical; list page remains two-column. */
.attendance-create-heading{
  display:block;
  max-width:860px;
}
.attendance-create-heading .panel-label{margin-bottom:10px;}
.attendance-create-heading h1{margin-bottom:0;}
.attendance-create-heading p:not(.panel-label){margin-top:16px;}

/* Candidate time is a one-hour select. */
.attendance-field select,
.attendance-candidate-row select{
  width:100%;
  height:44px;
  box-sizing:border-box;
  padding:0 38px 0 11px;
  border:1px solid #dbc9af;
  border-radius:13px;
  background-color:#fffdfa;
  color:var(--ink);
  font:inherit;
  outline:none;
}
.attendance-field select{height:48px;padding-left:14px;}
.attendance-field select:focus,
.attendance-candidate-row select:focus{
  border-color:#e8a765;
  box-shadow:0 0 0 3px rgba(233,134,50,.1);
}
.attendance-link-empty{margin-top:12px;}

/* Give all Orange-site selects a consistent chevron with balanced right inset. */
.album-detail-search select,
.activity-sort select,
.member-profile-form select,
.attendance-shell select,
.orange-submit-card select{
  -webkit-appearance:none;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.5 6 6l4.5-4.5' fill='none' stroke='%23594b3e' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:calc(100% - 14px) 50%;
  background-size:12px 8px;
  padding-right:38px!important;
}

/* Profile image: current/new image is removed from the top-right × button. */
.member-file-field[data-profile-image-field]{
  display:grid;
  gap:9px;
  max-width:420px;
}
.member-profile-image-preview{
  position:relative;
  width:min(100%,220px);
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:11px;
  background:#f5efe4;
  border:1px solid #eadbc6;
}
.member-profile-image-preview>img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.member-image-remove{
  position:absolute;
  top:7px;
  right:7px;
  z-index:2;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.9);
  border-radius:50%;
  background:#e98238;
  color:#fff;
  font:700 18px/1 sans-serif;
  cursor:pointer;
  box-shadow:0 2px 7px rgba(74,52,34,.18);
}
.member-profile-guest{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  color:#9a8a78;
  font-size:13px;
  font-weight:700;
  letter-spacing:.14em;
}
.member-discord-avatar-option{
  display:flex!important;
  grid-auto-flow:column;
  justify-content:start;
  align-items:center;
  gap:8px!important;
  width:max-content;
  font-weight:500!important;
}
.member-discord-avatar-option input{margin:0;}

.attendance-linked-activity{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:9px 13px;border:1px solid #e2cfb0;border-radius:999px;background:#fff9ee;color:#9a5a2a;font-weight:700;text-decoration:none}.attendance-linked-activity:hover{background:#fff2df}


/* ===== v0.9.20: attendance edits + confirmed styling ===== */
.attendance-alert.is-warning{border:1px solid #e2c989;background:#fff8df;color:#7a6022}
.attendance-event-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}
.attendance-event-owner-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.attendance-event-owner-actions form{margin:0}
.attendance-secondary-button,.attendance-danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border-radius:999px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.attendance-secondary-button{border:1px solid #d7c5aa;background:#fffaf1;color:#765a3e}
.attendance-secondary-button:hover{background:#f8eddb}
.attendance-danger-button{border:1px solid #d9aaa1;background:#fff4f1;color:#995447}
.attendance-danger-button:hover{background:#fbe7e2}
.attendance-event-card.is-confirmed{border-color:#cbd7ae;background:#fbfdf3}
.attendance-event-card.is-confirmed .attendance-event-card-date{background:#eef4df;border-right-color:#dbe4c2}
.attendance-event-card.is-confirmed .attendance-event-card-date span,
.attendance-event-card.is-confirmed .attendance-event-card-copy .panel-label,
.attendance-event-card.is-confirmed .attendance-event-card-arrow{color:#6f8751}
.attendance-event-card.is-confirmed .attendance-event-card-meta{color:#788064}
@media(max-width:760px){.attendance-event-toolbar{align-items:flex-start;flex-direction:column}.attendance-event-owner-actions{width:100%}.attendance-event-owner-actions .attendance-secondary-button,.attendance-event-owner-actions form,.attendance-event-owner-actions .attendance-danger-button{width:100%}}


/* ===== v0.9.21: public member house hotspot + quiz event report ===== */
.quiz-event-report{display:grid;gap:22px}
.quiz-event-report>h2,.quiz-event-report .wp-block-heading{margin:38px 0 0;color:var(--wood-dark);font-size:clamp(25px,3vw,34px)}
.quiz-pair-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:4px 0 0;padding:22px 24px;border:1px solid #ead7ba;border-radius:22px;background:#fffaf1;box-shadow:6px 7px 0 rgba(108,78,48,.05)}
.quiz-pair-list p{margin:0;padding:10px 12px;border-radius:13px;background:#fffdf8}
.quiz-role-note{margin:0;padding:14px 16px;border-left:3px solid var(--orange);background:#f8edda;color:#765f4b;line-height:1.8}
.quiz-photo-placeholder{display:grid;place-items:center;min-height:260px;margin:4px 0;padding:24px;border:10px solid #fffdf8;border-radius:28px;background:#f4ead9;box-shadow:8px 11px 0 rgba(120,91,56,.1);color:#9b8065;font-weight:700;letter-spacing:.08em}
.quiz-photo-placeholder p{margin:0}
.quiz-result-board{margin-top:18px;padding:clamp(26px,4vw,42px);border-radius:28px;background:#f5ead6;text-align:center}
.quiz-result-board>h2{margin:6px 0 24px;color:var(--wood-dark);font-size:clamp(27px,4vw,38px)}
.quiz-result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;text-align:left}
.quiz-result-list p{margin:0;padding:18px 20px;border:1px solid rgba(154,119,79,.16);border-radius:16px;background:rgba(255,253,248,.8);line-height:1.8}
.quiz-result-list p:first-child{grid-column:1/-1;background:#fff8de}
.quiz-result-list span{margin-right:7px}.quiz-result-list strong{font-size:18px}
@media(max-width:700px){.quiz-pair-list,.quiz-result-list{grid-template-columns:1fr}.quiz-result-list p:first-child{grid-column:auto}.quiz-photo-placeholder{min-height:180px;border-width:6px}.hotspot-public-members{top:43%}}


/* ===== v0.9.22: mobile navigation, member 05, quiz profiles, selectable jobs ===== */

/* Site guide member card follows the same neutral Orange card tone. */
.room-grid .room-members{background:rgba(255,252,244,.92)}

/* Desktop: seed and My Page are separate controls. */
.member-hub-pill{
  border:0;
  padding:0;
  background:transparent;
  box-shadow:none;
  gap:8px;
}
.member-sprout-anchor{position:relative;display:grid;place-items:center;flex:0 0 auto}
.member-seed-toggle{
  width:43px;height:43px;
  border:1px solid #d8c5aa;
  border-radius:50%;
  background:#f6ead7;
  box-shadow:0 2px 8px rgba(89,65,45,.04);
}
.member-seed-toggle:hover{background:#fff2dc}
.member-hub .member-button{
  display:flex;align-items:center;justify-content:center;gap:7px;
  min-height:43px;padding:8px 15px;
  border:1px solid #d8c5aa;border-radius:999px;
  background:#f6ead7;color:#8a6d4e;
}
.member-account-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Mobile navigation is off on desktop. */
.mobile-nav-toggle,.mobile-nav-panel{display:none}

@media(max-width:1100px){
  .site-header{
    position:relative;
    gap:12px;
    padding-left:14px;
    padding-right:14px;
  }
  .desktop-primary-nav{display:none!important}
  .mobile-nav-toggle{
    display:flex;
    width:42px;height:42px;flex:0 0 42px;
    padding:0;
    border:1px solid #dcc9ad;border-radius:13px;
    background:#fff8eb;
    align-items:center;justify-content:center;flex-direction:column;gap:5px;
    cursor:pointer;color:#765f49;
  }
  .mobile-nav-toggle span{display:block;width:20px;height:2px;border-radius:999px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
  .site-header.is-mobile-menu-open .mobile-nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .site-header.is-mobile-menu-open .mobile-nav-toggle span:nth-child(2){opacity:0}
  .site-header.is-mobile-menu-open .mobile-nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .brand{margin-right:auto;font-size:clamp(18px,4.4vw,24px)}
  .brand-crest{display:none}
  .member-hub{margin-left:0}
  .member-hub-pill{gap:0}
  .member-sprout-anchor{display:none!important}
  .member-hub .member-button{
    width:42px;height:42px;min-height:42px;padding:0;border-radius:50%;
  }
  .member-button-label{display:none}
  .member-account-icon{width:23px;height:23px}

  .mobile-nav-panel{
    display:block;
    position:absolute;
    z-index:110;
    top:100%;left:0;right:0;
    max-height:calc(100vh - 64px);
    overflow:auto;
    padding:18px 16px 26px;
    border-top:1px solid rgba(108,82,53,.1);
    border-bottom:1px solid #ddcdb6;
    background:rgba(255,250,240,.99);
    box-shadow:0 16px 28px rgba(91,67,42,.15);
    opacity:0;visibility:hidden;pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  }
  .site-header.is-mobile-menu-open .mobile-nav-panel{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  html.orange-mobile-menu-open{overflow:hidden}
  .mobile-nav-section{width:min(100%,620px);margin:0 auto}
  .mobile-nav-section+.mobile-nav-section{margin-top:22px;padding-top:20px;border-top:1px solid #eadbc6}
  .mobile-nav-kicker{margin:0 0 9px;color:#a56c3f;font-size:11px;font-weight:800;letter-spacing:.16em}
  .mobile-nav-section.is-member-only .mobile-nav-kicker{color:#778c55}
  .mobile-nav-links{display:grid;gap:7px}
  .mobile-nav-links>a,.mobile-nav-links>span{
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    min-height:50px;padding:10px 14px;
    border:1px solid #e5d5bf;border-radius:14px;
    background:#fffdf8;color:#55483c;
  }
  .mobile-nav-links>a>span{display:grid;gap:2px}
  .mobile-nav-links strong{font-size:14px}
  .mobile-nav-links small{color:#8a7968;font-size:11px}
  .mobile-nav-links b{color:#d47d35;font-size:16px}
  .mobile-nav-links .is-preparing{opacity:.55}
  .mobile-member-locked{margin:0;padding:14px 15px;border:1px dashed #d9cfbc;border-radius:14px;background:#fffdf8;color:#837565;font-size:13px;line-height:1.7}
}

/* Quiz event: people and roles are visible at a glance. */
.activity-organizers{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin-top:13px;padding-top:13px;border-top:1px solid #eadbc7;
}
.activity-organizers>small{color:#a67b52;font-size:10px;font-weight:800;letter-spacing:.14em}
.activity-organizer-list{display:flex;gap:8px;flex-wrap:wrap}
.orange-person-chip{
  display:inline-flex;align-items:center;gap:7px;min-width:0;
  padding:5px 9px 5px 5px;border:1px solid rgba(123,98,70,.15);
  border-radius:999px;background:rgba(255,253,248,.9);color:#55483c;
}
a.orange-person-chip:hover{border-color:#e2ad79;background:#fff6e8}
.orange-person-avatar{
  width:30px;height:30px;flex:0 0 30px;border-radius:50%;overflow:hidden;
  display:grid;place-items:center;background:#eee3d3;box-shadow:inset 0 0 0 1px rgba(100,76,53,.08);
}
.orange-person-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.orange-person-guest{display:grid;place-items:center;width:100%;height:100%;color:#947e67;font-size:11px;font-weight:800}
.orange-person-chip strong{font-size:13px;white-space:nowrap}
.orange-person-chip.is-organizer{padding-right:10px;background:#fff7e9}

.quiz-activity-content{display:grid;gap:30px}
.quiz-lead{margin:0}
.quiz-pair-section{margin:0}
.quiz-pair-diagram{
  margin-top:18px;padding:18px;
  border:1px solid rgba(135,110,78,.22);border-radius:22px;
  background:rgba(255,252,246,.72);
  box-shadow:6px 7px 0 rgba(108,78,48,.035);
}
.quiz-pair-heading,.quiz-pair-row{
  display:grid;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);
  gap:10px;align-items:center;
}
.quiz-pair-heading{
  padding:0 10px 12px;border-bottom:1px solid rgba(135,110,78,.18);
  color:#8d724f;font-size:12px;font-weight:800;text-align:center;letter-spacing:.06em;
}
.quiz-pair-heading span:nth-child(2){color:#d2813d}
.quiz-pair-row{padding:10px;border-bottom:1px solid rgba(135,110,78,.11)}
.quiz-pair-row:last-child{border-bottom:0}
.quiz-pair-row>div:first-child{display:flex;justify-content:flex-end}
.quiz-pair-row>div:last-child{display:flex;justify-content:flex-start}
.quiz-pair-amp{color:#cc7a38;text-align:center;font-weight:800;font-size:13px}
.quiz-pair-empty{color:#b8aa99}
.quiz-room-note{margin:18px 0 0;padding:15px 17px;border-radius:15px;background:#fff6e7;border:1px solid #edd7b7;line-height:1.8}
.quiz-result-board{margin-top:0}
.quiz-result-list{display:grid;gap:11px;margin-top:18px}
.quiz-result-card{
  display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center;
  padding:14px 16px;border:1px solid rgba(135,110,78,.16);border-radius:17px;background:#fffdf8;
}
.quiz-result-rank{display:flex;align-items:center;gap:9px}
.quiz-result-rank>span{font-size:24px}
.quiz-result-rank strong{font-size:18px}
.quiz-result-people{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.quiz-result-entry{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.quiz-result-entry small{color:#8f7c68;font-size:11px}
.quiz-result-amp{color:#d1813d;font-weight:800}
.quiz-result-follow{margin:18px 0 0;text-align:center;font-weight:700}
.quiz-thanks{text-align:center}

/* Job selector: supplied /Job/*.png assets only. */
.member-job-selector-block{display:grid;gap:11px;padding-top:2px}
.member-job-selector-block .member-repeat-heading{align-items:end}
.member-job-selector-block .member-repeat-heading small{color:#8a7b6d;font-size:11px;font-weight:500}
.member-job-selector{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));
  gap:10px;padding:12px;border:1px solid #e6dbc9;border-radius:16px;background:#fffdf8;
}
.member-job-choice{display:block!important;cursor:pointer}
.member-job-choice input{position:absolute;opacity:0;pointer-events:none}
.member-job-choice-tile{
  display:grid;place-items:center;gap:5px;min-height:82px;padding:8px 5px;
  border:1px solid transparent;border-radius:13px;background:#fff;
  transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease;
}
.member-job-choice-tile img{display:block;width:47px;height:47px;object-fit:contain}
.member-job-choice-tile small{font-size:9px;color:#746453;text-align:center;line-height:1.2}
.member-job-choice input:checked+.member-job-choice-tile{
  border-color:#e39a58;background:#fff1dc;box-shadow:0 0 0 2px rgba(227,154,88,.11);
  transform:translateY(-1px);
}
.member-job-choice input:focus-visible+.member-job-choice-tile{outline:3px solid rgba(233,134,50,.22);outline-offset:2px}
.member-main-job-display{display:flex;align-items:center;gap:9px;margin-top:3px}
.member-main-job-display img{width:40px;height:40px;object-fit:contain}
.member-available-job-icons{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:4px}
.member-available-job-icons img{width:42px;height:42px;object-fit:contain;border-radius:8px;background:#fff9ef;padding:2px}

@media(max-width:650px){
  .quiz-pair-diagram{padding:11px}
  .quiz-pair-heading,.quiz-pair-row{grid-template-columns:minmax(0,1fr) 35px minmax(0,1fr);gap:4px}
  .quiz-pair-heading{font-size:10px;padding-left:0;padding-right:0}
  .quiz-pair-row{padding:8px 0}
  .orange-person-chip{gap:5px;padding:4px 7px 4px 4px}
  .orange-person-avatar{width:26px;height:26px;flex-basis:26px}
  .orange-person-chip strong{font-size:11px;white-space:normal}
  .quiz-result-card{grid-template-columns:1fr;gap:9px}
  .quiz-result-people{justify-content:flex-start}
  .member-job-selector{grid-template-columns:repeat(4,minmax(0,1fr));padding:9px;gap:7px}
  .member-job-choice-tile{min-height:70px;padding:6px 3px}
  .member-job-choice-tile img{width:40px;height:40px}
  .member-job-choice-tile small{font-size:8px}
}
.mobile-nav-kicker{display:flex;align-items:center;gap:6px}.mobile-nav-lock{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ===== v0.9.23 requested refinements ===== */
@media(min-width:1101px){
  .member-hub-pill{gap:13px}
  .member-sprout-anchor{margin-right:1px}
}

/* Top INFORMATION is backed by normal WordPress posts. */
.notice-board.notice-board-dynamic{max-width:980px;padding:52px 44px 40px;text-align:left}
.notice-board.notice-board-dynamic .board-label,.notice-board.notice-board-dynamic h2{text-align:center}
.notice-board.notice-board-dynamic h2{margin-bottom:12px;font-size:26px}
.notice-category-tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:18px 0 22px}
.notice-category-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 14px;border:1px solid #dfc5a3;border-radius:999px;background:#fffaf0;color:#765f49;font-size:13px;font-weight:700;transition:.15s ease}
.notice-category-tabs a:hover{background:#fff3df;border-color:#d99958}
.notice-category-tabs a.is-active{background:var(--orange);border-color:var(--orange);color:#fff}
.notice-list{display:grid;border-top:1px solid #eadbc8}
.notice-list-row{display:grid;grid-template-columns:118px 112px minmax(0,1fr) 24px;gap:14px;align-items:center;min-height:58px;padding:11px 8px;border-bottom:1px solid #eadbc8;text-decoration:none;color:#55483c}
.notice-list-row:hover{background:rgba(233,134,50,.055)}
.notice-list-row time{color:#8a7764;font-size:13px;font-variant-numeric:tabular-nums}
.notice-category-badge{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:4px 9px;border-radius:999px;background:#f4ead8;color:#9a663e;font-size:11px;font-weight:800;white-space:nowrap}
.notice-list-row strong{min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notice-row-arrow{color:var(--orange);text-align:right;font-weight:800}
.notice-empty{margin:0;padding:32px 12px;text-align:center;color:#8a7764}
.notice-pager{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;max-width:220px;margin:18px auto 0;text-align:center;color:#8c755f}
.notice-pager a,.notice-pager>span:first-child,.notice-pager>span:last-child{display:grid;place-items:center;width:38px;height:38px;border:1px solid #dfc5a3;border-radius:50%;background:#fffaf0;font-size:22px;line-height:1}
.notice-pager a:hover{background:#fff2dc;border-color:#d99355}
.notice-pager .is-disabled{opacity:.28}
.notice-pager>span:nth-child(2){font-size:12px;font-weight:700}

/* Quiz report finishing touches. */
.quiz-pair-section>.panel-label{display:none}
.quiz-room-note p{margin:0}
.quiz-room-note .quiz-room-request{margin-top:8px;color:#9a6b4b;font-size:14px;font-weight:700}
.quiz-result-people{justify-content:flex-start}
.quiz-result-entry{justify-content:flex-start}

/* Trophy help tooltip. */
.member-heading-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.member-help-wrap{position:relative;display:inline-grid;place-items:center;outline:none}
.member-help-icon{display:grid;place-items:center;width:23px;height:23px;border:2px solid #92989a;border-radius:50%;color:#787f82;background:#fff;font-size:14px;font-weight:900;line-height:1;cursor:help}
.member-help-tooltip{position:absolute;z-index:40;left:50%;bottom:calc(100% + 10px);width:max-content;max-width:min(360px,82vw);padding:10px 13px;border:1px solid #ddc9aa;border-radius:12px;background:#fff8eb;color:#5d4c3d;box-shadow:0 8px 20px rgba(78,57,35,.13);font-size:13px;font-weight:600;line-height:1.65;opacity:0;visibility:hidden;transform:translate(-50%,5px);transition:.15s ease;pointer-events:none}
.member-help-tooltip:after{content:"";position:absolute;left:50%;top:100%;width:9px;height:9px;background:#fff8eb;border-right:1px solid #ddc9aa;border-bottom:1px solid #ddc9aa;transform:translate(-50%,-5px) rotate(45deg)}
.member-help-wrap:hover .member-help-tooltip,.member-help-wrap:focus .member-help-tooltip,.member-help-wrap:focus-within .member-help-tooltip{opacity:1;visibility:visible;transform:translate(-50%,0)}

/* Normal WordPress post details (INFORMATION articles). */
.orange-notice-article{width:min(100% - 40px,980px);margin:0 auto;padding:72px 0 100px}
.orange-notice-back{display:inline-flex;margin-bottom:28px;color:#826b56;font-weight:700}
.orange-notice-card{padding:clamp(28px,5vw,56px);border:1px solid #e2cfb3;border-radius:26px;background:#fffdf8;box-shadow:8px 9px 0 rgba(108,78,48,.055)}
.orange-notice-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:15px;color:#8b745d;font-size:13px}
.orange-notice-card h1{margin:0 0 28px;color:#4e4337;font-size:clamp(30px,5vw,52px);line-height:1.25}
.orange-notice-content{line-height:1.95}
.orange-notice-content img{max-width:100%;height:auto;border-radius:18px}

@media(max-width:700px){
  .notice-board.notice-board-dynamic{padding:44px 24px 30px}
  .notice-board.notice-board-dynamic h2{font-size:24px}
  .notice-list-row{grid-template-columns:90px minmax(0,1fr) 20px;gap:8px;padding:12px 4px}
  .notice-list-row time{font-size:11px}
  .notice-category-badge{grid-column:2;grid-row:1;justify-self:start;max-width:100%;font-size:10px}
  .notice-list-row strong{grid-column:1/3;grid-row:2;font-size:13px;white-space:normal;line-height:1.55}
  .notice-row-arrow{grid-column:3;grid-row:1/3;align-self:center}
  .member-help-tooltip{left:0;transform:translate(0,5px)}
  .member-help-wrap:hover .member-help-tooltip,.member-help-wrap:focus .member-help-tooltip,.member-help-wrap:focus-within .member-help-tooltip{transform:translate(0,0)}
  .member-help-tooltip:after{left:12px}
}


/* ===== v0.9.24: help, tooltips, album quick-add refinements ===== */
/* Keep the header navigation underline, but do not show that effect on notice category tabs. */
.notice-category-tabs a::after{display:none!important}

/* Keep seed and My Page optically aligned on desktop. */
@media(min-width:1101px){
  .member-hub-pill{align-items:center!important;gap:12px!important}
  .member-sprout-anchor{height:43px;align-self:center!important;margin:0!important}
  .member-seed-toggle{display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;position:relative;top:-1px}
  .member-seed-toggle .orange-seed-icon{display:block;width:34px;height:24px;transform:translateY(-1px)}
}

/* Shared help bubbles. */
.member-profile-section-title,.member-room-title-row,.member-heading-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.member-profile-section-title h3,.member-room-title-row h1,.member-heading-row h2{margin:0}
.member-help-wrap{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;outline:none}
.member-help-icon{display:grid;place-items:center;width:25px;height:25px;border:2px solid #8e9292;border-radius:50%;color:#818687;font:800 16px/1 sans-serif;cursor:help;background:#fffdf8}
.member-help-tooltip,.member-private-badge-tooltip{position:absolute;z-index:140;left:50%;bottom:calc(100% + 10px);width:max-content;max-width:min(310px,80vw);padding:9px 12px;border:1px solid #dfceb3;border-radius:11px;background:#fff9ed;color:#5f5144;box-shadow:0 7px 18px rgba(81,61,42,.12);font-size:12px;font-weight:600;line-height:1.55;letter-spacing:0;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,4px);transition:.15s ease}
.member-help-wrap:hover .member-help-tooltip,.member-help-wrap:focus .member-help-tooltip,.member-help-wrap:focus-within .member-help-tooltip{opacity:1;visibility:visible;transform:translate(-50%,0)}
.member-room-title-row{align-items:center}.member-room-title-row .member-help-tooltip{left:0;transform:translate(0,4px)}.member-room-title-row .member-help-wrap:hover .member-help-tooltip,.member-room-title-row .member-help-wrap:focus .member-help-tooltip{transform:none}
.member-profile-section-title{margin:0}.member-profile-section-title .member-help-tooltip{left:0;transform:translate(0,4px)}.member-profile-section-title .member-help-wrap:hover .member-help-tooltip,.member-profile-section-title .member-help-wrap:focus .member-help-tooltip{transform:none}
.member-private-badge-help{cursor:help;outline:none}
.member-private-badge-tooltip{left:0;bottom:calc(100% + 8px);transform:translateY(4px);white-space:nowrap}
.member-private-badge-help:hover .member-private-badge-tooltip,.member-private-badge-help:focus .member-private-badge-tooltip{opacity:1;visibility:visible;transform:none}

/* Welcome-map team members now use linked member chips. */
.event-team-members{display:flex!important;flex-wrap:wrap;gap:9px!important;margin:0!important;padding:0!important;list-style:none!important}
.event-team-members li{margin:0!important;padding:0!important;background:none!important;border:0!important}
.event-team-members .orange-person-chip{font-size:13px}

/* Album page: event-only quick photo add. */
.all-album-item{position:relative}
.album-direct-add{position:absolute;right:5%;bottom:3px;z-index:8;display:grid;place-items:center;width:42px;height:42px;padding:0;border:2px solid #e98632;border-radius:50%;background:#fffaf0;color:#e98632;font-size:28px;font-weight:400;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(104,74,44,.08)}
.album-direct-add:hover{background:#e98632;color:#fff}
.album-direct-add-tooltip{position:absolute;right:-2px;bottom:calc(100% + 9px);width:max-content;padding:7px 10px;border:1px solid #e1cfb6;border-radius:9px;background:#fff9ed;color:#625244;font-size:11px;font-weight:700;opacity:0;visibility:hidden;transform:translateY(3px);transition:.14s ease;pointer-events:none;box-shadow:0 6px 16px rgba(79,59,40,.11)}
.album-direct-add:hover .album-direct-add-tooltip,.album-direct-add:focus-visible .album-direct-add-tooltip{opacity:1;visibility:visible;transform:none}
.album-quick-dialog{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:18px}
.album-quick-backdrop{position:absolute;inset:0;border:0;background:rgba(54,44,34,.48)}
.album-quick-panel{position:relative;z-index:1;width:min(640px,100%);max-height:min(760px,88vh);overflow:auto;padding:26px;border:1px solid #dfcbae;border-radius:24px;background:#fffaf0;box-shadow:0 20px 50px rgba(50,38,27,.25)}
.album-quick-close{position:absolute;top:13px;right:13px;width:34px;height:34px;border:1px solid #dfcbae;border-radius:50%;background:#fff;color:#745f4b;font-size:20px;cursor:pointer}
.album-quick-panel h2{margin:0 42px 5px 0;color:#59412d}.album-quick-panel>p{margin:0 0 18px;color:#7d6f60}
.album-quick-file{display:flex;align-items:center;justify-content:center;min-height:72px;padding:14px;border:1px dashed #d9c3a4;border-radius:15px;background:#fffdf8;cursor:pointer;font-weight:700}.album-quick-file input{position:absolute;opacity:0;pointer-events:none}
.album-quick-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.album-quick-preview-item{position:relative;aspect-ratio:1/1;border-radius:13px;overflow:hidden;background:#f1e7d8}.album-quick-preview-item img{width:100%;height:100%;object-fit:cover}.album-quick-preview-item button{position:absolute;top:6px;right:6px;width:27px;height:27px;border:0;border-radius:50%;background:#e98632;color:#fff;font-weight:800;cursor:pointer}
.album-quick-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.album-quick-actions button{padding:10px 17px;border-radius:999px;font:700 14px/1 inherit;cursor:pointer}.album-quick-cancel{border:1px solid #d9c5aa;background:#fff}.album-quick-submit{border:0;background:#e98632;color:#fff}.album-quick-submit:disabled{opacity:.45;cursor:not-allowed}.album-quick-error{margin-top:12px!important;color:#a85a48!important;font-weight:700}

/* Beginner help page and floating controls. */
.help-page-layout{width:min(100% - 40px,1040px);margin:0 auto;padding:58px 0 72px;display:grid;gap:18px}.help-step-card{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:25px;border:1px solid #e2d2bb;border-radius:22px;background:#fffdf8;box-shadow:6px 7px 0 rgba(108,78,48,.05)}.help-step-card>span{display:grid;place-items:center;width:46px;height:46px;border:1px solid #e98632;border-radius:50%;color:#d8752c;font-size:12px}.help-step-card h2{margin:4px 0 9px;color:#59412d}.help-step-card p{line-height:1.8}.help-link-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.help-link-row a,.help-primary-link{display:inline-flex;padding:8px 12px;border:1px solid #e0c7a4;border-radius:999px;background:#fff8eb;color:#795b41;font-weight:700}.help-note-card{padding:20px 23px;border-left:4px solid #e98632;border-radius:0 16px 16px 0;background:#f9edd9}.help-note-card p{margin-bottom:0;line-height:1.8}
.site-help-footer{display:flex;align-items:center;justify-content:space-between;gap:28px;width:min(100% - 40px,1040px);margin:54px auto 0;padding:22px 25px;border:1px solid #dfcdb2;border-radius:20px;background:#fffaf0}.site-help-footer h2{margin:4px 0 6px;font-size:22px}.site-help-footer p{margin:0}.site-help-footer>a{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;padding:10px 15px;border:1px solid #e0c5a0;border-radius:999px;background:#fffdf8;font-weight:700}.site-floating-tools{position:fixed;z-index:700;inset:0;pointer-events:none}.site-help-fab,.site-top-fab{position:absolute;bottom:22px;display:grid;place-items:center;width:46px;height:46px;border:1px solid #d8c4a8;border-radius:50%;background:#fffaf0;color:#785f48;box-shadow:0 7px 18px rgba(73,54,36,.15);font:800 21px/1 sans-serif;pointer-events:auto;cursor:pointer}.site-help-fab{left:22px}.site-top-fab{right:22px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s ease}.site-top-fab.is-visible{opacity:1;visibility:visible;transform:none}.site-help-fab:hover,.site-top-fab:hover{background:#f6ead7}
.mobile-help-nav{display:none}
.help-mobile-only{display:none}
@media(max-width:1100px){.mobile-help-nav{display:block}.site-help-footer{display:none}.site-help-fab{left:14px;bottom:14px}.site-top-fab{right:14px;bottom:14px}.help-page-layout{width:min(100% - 24px,1040px);padding:34px 0 54px}.help-step-card{grid-template-columns:42px 1fr;padding:18px;gap:13px}.help-step-card>span{width:38px;height:38px}.album-quick-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.help-desktop-only{display:none}.help-mobile-only{display:block}}
/* ROOM help icon must be interactive even though the ROOM label used to ignore pointer events. */
.member-room-title{pointer-events:auto}


/* ===== v0.9.29 mobile attendance + mobile menu + SHOP ===== */
/* iOS date/select controls have a large intrinsic width. Keep every candidate field inside its card. */
@media(max-width:760px){
  .attendance-candidate-row,
  .attendance-candidate-row label{min-width:0;max-width:100%}
  .attendance-candidate-row input,
  .attendance-candidate-row select{display:block;width:100%;min-width:0;max-width:100%}
}
@media(max-width:460px){
  .attendance-candidate-row{
    position:relative;
    grid-template-columns:minmax(0,1fr);
    gap:12px;
    padding:12px;
  }
  .attendance-candidate-row label{grid-column:1!important;min-width:0}
  .attendance-candidate-row label:first-of-type>span{padding-right:48px}
  .attendance-candidate-row .attendance-row-remove{
    position:absolute;
    top:8px;
    right:8px;
    grid-column:auto;
    grid-row:auto;
  }
}

/* Mobile menu uses the viewport itself as the scroll container, so HELP is always reachable. */
@media(max-width:900px){
  .mobile-nav-panel{
    position:fixed;
    top:74px;
    right:0;
    bottom:0;
    left:0;
    max-height:none;
    height:auto;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding-bottom:calc(38px + env(safe-area-inset-bottom));
  }
  .mobile-help-nav{padding-bottom:4px}
}

/* SHOP */
.orange-shop-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:48px 0 92px}
.orange-shop-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;margin-bottom:32px;padding:34px 38px;border:1px solid #ead8be;border-radius:28px;background:linear-gradient(135deg,#fffaf0 0%,#f8ead6 100%);box-shadow:8px 9px 0 rgba(111,83,50,.05)}
.orange-shop-hero .panel-label{margin:0 0 6px;color:var(--orange);letter-spacing:.16em}
.orange-shop-hero h1{margin:0 0 10px;font-size:clamp(34px,5vw,56px);line-height:1.1}
.orange-shop-hero p:not(.panel-label){margin:0;max-width:690px;color:#756654;line-height:1.8}
.orange-shop-balance{display:flex;min-width:150px;flex-direction:column;align-items:flex-end;justify-content:center;padding:18px 22px;border:1px solid #e1c8a8;border-radius:22px;background:rgba(255,253,248,.86);box-shadow:0 8px 20px rgba(102,75,48,.06)}
.orange-shop-balance span{font-size:12px;font-weight:700;letter-spacing:.08em;color:#8c745e}.orange-shop-balance strong{margin-top:4px;font-size:28px;line-height:1;color:#a75f28}
.orange-shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;padding:0 4px}
.orange-shop-toolbar h2{margin:0;font-size:24px}
.orange-shop-filter{display:flex;flex-wrap:wrap;gap:8px}
.orange-shop-filter button{padding:9px 16px;border:1px solid #dfcdb3;border-radius:999px;background:#fffaf1;color:#6e5b49;font:inherit;font-weight:700;cursor:pointer;transition:.16s ease}
.orange-shop-filter button:hover{background:#fff3de;border-color:#d9b789}
.orange-shop-filter button.is-active{border-color:#dfa066;background:#f7dec0;color:#8d5427}
.orange-shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.orange-shop-card{min-width:0;overflow:hidden;border:1px solid #e5d5bf;border-radius:22px;background:#fffdf8;box-shadow:5px 6px 0 rgba(111,83,50,.045);transition:transform .16s ease,box-shadow .16s ease}
.orange-shop-card:hover{transform:translateY(-2px);box-shadow:7px 9px 0 rgba(111,83,50,.055)}
.orange-shop-image{position:relative;display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(145deg,#f5ead9,#fbf5ea);border-bottom:1px solid #eadbc7;color:#aa9279}
.orange-shop-image::before{content:"";width:54px;height:54px;border:1px dashed #ccb89e;border-radius:16px;transform:rotate(-4deg)}
.orange-shop-image span{position:absolute;font-size:11px;font-weight:700;letter-spacing:.12em;color:#a58d72}
.orange-shop-image.has-image::before{display:none}.orange-shop-product-image{display:block;width:68%;height:68%;max-width:68%;max-height:68%;object-fit:contain;object-position:center}
.orange-shop-card-body{display:flex;flex-direction:column;min-height:216px;padding:18px}
.orange-shop-category{display:inline-flex;align-self:flex-start;margin:0 0 9px;padding:4px 9px;border-radius:999px;background:#f5ead8;color:#9b673e;font-size:10px;font-weight:800;letter-spacing:.1em}
.orange-shop-card h3{margin:0 0 8px;font-size:18px;line-height:1.45;color:#4e4337}
.orange-shop-description{margin:0;color:#7d6f60;font-size:13px;line-height:1.75}
.orange-shop-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:18px}
.orange-shop-price{font-size:22px;font-weight:800;color:#a75f28;white-space:nowrap}
.orange-shop-buy{min-width:88px;padding:9px 12px;border:1px solid #dfccb1;border-radius:999px;background:#eee6da;color:#a09384;font:inherit;font-size:12px;font-weight:800;cursor:not-allowed}
.orange-shop-note{margin:26px 0 0;padding:14px 17px;border:1px dashed #ddc8ab;border-radius:15px;background:#fff9ed;color:#806d58;font-size:13px;line-height:1.8}
.orange-shop-empty{grid-column:1/-1;padding:48px;text-align:center;color:#8c7966}
@media(max-width:1000px){.orange-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  .orange-shop-shell{width:min(100% - 24px,1180px);padding:34px 0 72px}
  .orange-shop-hero{grid-template-columns:1fr;padding:26px 22px;border-radius:22px}
  .orange-shop-balance{align-items:flex-start;justify-self:start;min-width:140px;padding:14px 18px}.orange-shop-balance strong{font-size:24px}
  .orange-shop-toolbar{align-items:flex-start;flex-direction:column}
  .orange-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .orange-shop-card-body{min-height:210px;padding:15px}
  .orange-shop-card-footer{align-items:flex-start;flex-direction:column}
  .orange-shop-buy{width:100%}
}
@media(max-width:430px){
  .orange-shop-grid{grid-template-columns:1fr}
  .orange-shop-card-body{min-height:0}
  .orange-shop-card-footer{flex-direction:row;align-items:center}
  .orange-shop-buy{width:auto}
}


/* ===== v0.9.31 GIL LEDGER ===== */
.orange-gil-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:48px 0 92px}
.orange-gil-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end;padding:34px 38px;border:1px solid #ead8be;border-radius:28px;background:linear-gradient(135deg,#fffaf0 0%,#f7ead7 100%);box-shadow:8px 9px 0 rgba(111,83,50,.05)}
.orange-gil-hero .panel-label,.orange-gil-form-card .panel-label,.orange-gil-section-heading .panel-label{margin:0 0 6px;color:var(--orange);letter-spacing:.16em}
.orange-gil-hero h1{margin:0 0 10px;font-size:clamp(34px,5vw,54px);line-height:1.1}.orange-gil-hero p:not(.panel-label){margin:0;max-width:680px;color:#756654;line-height:1.8}
.orange-gil-balance{min-width:300px;padding:19px 22px;border:1px solid #dfc7a7;border-radius:22px;background:rgba(255,253,248,.9);text-align:right}.orange-gil-balance>span{display:block;color:#8c745e;font-size:12px;font-weight:700;letter-spacing:.08em}.orange-gil-balance>strong{display:block;margin:4px 0 7px;color:#9f5d2b;font-size:34px;line-height:1.15}.orange-gil-balance>strong small{font-size:13px}.orange-gil-balance>small{color:#92806c;font-size:11px}
.orange-gil-alert{margin:18px 0 0;padding:13px 17px;border-radius:14px;font-weight:700}.orange-gil-alert.is-success{border:1px solid #cbd8ad;background:#f2f6e8;color:#627443}.orange-gil-alert.is-error{border:1px solid #e4bda9;background:#fff0e8;color:#9b5637}
.orange-gil-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}.orange-gil-summary article{padding:20px 22px;border:1px solid #e6d7c2;border-radius:18px;background:#fffdf8}.orange-gil-summary span{display:block;margin-bottom:5px;color:#8b7863;font-size:12px}.orange-gil-summary strong{font-size:20px}.orange-gil-summary .is-income,.orange-gil-entry .is-income{color:#6d8450}.orange-gil-summary .is-expense,.orange-gil-entry .is-expense{color:#b76b48}
.orange-gil-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:22px;align-items:start}.orange-gil-form-card,.orange-gil-history{border:1px solid #e5d3bb;border-radius:24px;background:#fffdf8;box-shadow:5px 6px 0 rgba(111,83,50,.04)}.orange-gil-form-card{position:sticky;top:20px;padding:25px}.orange-gil-form-card h2,.orange-gil-section-heading h2{margin:0 0 18px;font-size:24px}.orange-gil-form-card form{display:grid;gap:16px}.orange-gil-type{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;border:0}.orange-gil-type legend{margin-bottom:7px;font-size:13px;font-weight:700}.orange-gil-type input{position:absolute;opacity:0;pointer-events:none}.orange-gil-type span{display:block;padding:11px 10px;border:1px solid #dfccb0;border-radius:999px;background:#fffaf1;text-align:center;font-weight:700;cursor:pointer}.orange-gil-type input:checked+span{border-color:#dfa066;background:#f8dec0;color:#8d5427}
.orange-gil-field{display:grid;gap:7px}.orange-gil-field>span{font-size:13px;font-weight:700}.orange-gil-field input,.orange-gil-field textarea{width:100%;max-width:100%;padding:12px 13px;border:1px solid #dec9ad;border-radius:13px;background:#fff;color:#4e4337;font:inherit}.orange-gil-field textarea{resize:vertical}.orange-gil-amount{display:flex;align-items:center;gap:8px}.orange-gil-amount input{min-width:0}.orange-gil-amount b{font-size:12px;color:#8d7964}.orange-gil-submit{padding:13px 18px;border:1px solid #d77829;border-radius:999px;background:#e98632;color:#fff;font:inherit;font-weight:800;cursor:pointer}.orange-gil-submit:hover{filter:brightness(.98);transform:translateY(-1px)}
.orange-gil-history{padding:25px}.orange-gil-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.orange-gil-section-heading h2{margin-bottom:0}.orange-gil-section-heading>span{color:#95826d;font-size:11px}.orange-gil-opening-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;margin:20px 0 10px;padding:15px 17px;border:1px dashed #dac3a5;border-radius:16px;background:#fff8eb}.orange-gil-opening-row>span{padding:4px 8px;border-radius:999px;background:#f0e1ca;color:#956237;font-size:9px;font-weight:900;letter-spacing:.1em}.orange-gil-opening-row div{display:grid}.orange-gil-opening-row small{color:#9a8875}.orange-gil-opening-row>b{white-space:nowrap;color:#805b38}
.orange-gil-list{display:grid;gap:10px}.orange-gil-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:17px;border:1px solid #e7dac7;border-radius:17px;background:#fff}.orange-gil-entry-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.orange-gil-entry-meta time{color:#8d7a65;font-size:11px}.orange-gil-entry-meta span{padding:3px 7px;border-radius:999px;background:#f4eadc;font-size:9px;font-weight:800}.orange-gil-entry-meta span.is-income{background:#edf2e4}.orange-gil-entry-meta span.is-expense{background:#faebe3}.orange-gil-entry-meta .is-cancelled-label{background:#eee;color:#888}.orange-gil-entry h3{margin:7px 0 5px;font-size:15px;line-height:1.55}.orange-gil-entry-main p{margin:0;color:#988672;font-size:11px;line-height:1.6}.orange-gil-entry-side{display:flex;min-width:185px;flex-direction:column;align-items:flex-end;gap:9px}.orange-gil-entry-side>strong{font-size:17px;white-space:nowrap}.orange-gil-entry-side form{display:grid;grid-template-columns:minmax(0,130px) auto;gap:6px}.orange-gil-entry-side input{min-width:0;padding:7px 8px;border:1px solid #ddd0be;border-radius:9px;font:inherit;font-size:10px}.orange-gil-entry-side button{padding:7px 9px;border:1px solid #ddc3ad;border-radius:9px;background:#fff6ee;color:#a15e3c;font:inherit;font-size:10px;font-weight:700;cursor:pointer}.orange-gil-entry.is-cancelled{opacity:.55;background:#f7f4ef}.orange-gil-entry.is-cancelled h3,.orange-gil-entry.is-cancelled .orange-gil-entry-side>strong{text-decoration:line-through}.orange-gil-empty{padding:45px;text-align:center;color:#8d7a66}
@media(max-width:900px){.orange-gil-shell{width:min(100% - 24px,1180px);padding:32px 0 70px}.orange-gil-hero{grid-template-columns:1fr;padding:26px 22px;border-radius:22px}.orange-gil-balance{min-width:0;text-align:left}.orange-gil-summary{grid-template-columns:1fr}.orange-gil-layout{grid-template-columns:1fr}.orange-gil-form-card{position:static}.orange-gil-entry{grid-template-columns:1fr}.orange-gil-entry-side{min-width:0;align-items:flex-start}.orange-gil-entry-side form{width:100%;grid-template-columns:minmax(0,1fr) auto}.orange-gil-opening-row{grid-template-columns:auto 1fr}.orange-gil-opening-row>b{grid-column:2}.orange-gil-history,.orange-gil-form-card{padding:20px 17px}.orange-gil-balance>strong{font-size:28px}}

/* ===== v0.9.32 SUBMARINE MANAGEMENT ===== */
.orange-submarine-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:48px 0 92px}
.orange-submarine-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end;padding:34px 38px;border:1px solid #ead8be;border-radius:28px;background:linear-gradient(135deg,#fffaf0 0%,#f7ead7 100%);box-shadow:8px 9px 0 rgba(111,83,50,.05)}
.orange-submarine-hero .panel-label,.orange-submarine-toolbar .panel-label,.orange-submarine-section-heading .panel-label,.orange-submarine-tasks .panel-label,.orange-submarine-empty .panel-label{margin:0 0 6px;color:var(--orange);letter-spacing:.16em}
.orange-submarine-hero h1{margin:0 0 10px;font-size:clamp(34px,5vw,54px);line-height:1.1}.orange-submarine-hero p:not(.panel-label){margin:0;max-width:680px;color:#756654;line-height:1.8}
.orange-submarine-summary{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:9px}.orange-submarine-summary article{min-width:140px;padding:16px 17px;border:1px solid #dfc7a7;border-radius:18px;background:rgba(255,253,248,.9)}.orange-submarine-summary span{display:block;color:#8c745e;font-size:10px;font-weight:700}.orange-submarine-summary strong{display:block;margin-top:5px;color:#9f5d2b;font-size:24px;line-height:1.15}.orange-submarine-summary strong small{font-size:10px;color:#8c745e}
.orange-submarine-alert{margin:18px 0 0;padding:13px 17px;border-radius:14px;font-weight:700}.orange-submarine-alert.is-success{border:1px solid #cbd8ad;background:#f2f6e8;color:#627443}.orange-submarine-alert.is-error{border:1px solid #e4bda9;background:#fff0e8;color:#9b5637}
.orange-submarine-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:30px 0 15px}.orange-submarine-toolbar h2,.orange-submarine-section-heading h2,.orange-submarine-tasks h2,.orange-submarine-empty h2{margin:0;font-size:24px}
.orange-submarine-add{position:relative}.orange-submarine-add>summary,.orange-submarine-edit>summary,.orange-submarine-return-form>summary{list-style:none;cursor:pointer;font-weight:800}.orange-submarine-add>summary::-webkit-details-marker,.orange-submarine-edit>summary::-webkit-details-marker,.orange-submarine-return-form>summary::-webkit-details-marker{display:none}.orange-submarine-add>summary{padding:10px 15px;border:1px solid #d77829;border-radius:999px;background:#e98632;color:#fff;font-size:12px}.orange-submarine-add[open]>summary{margin-bottom:10px}.orange-submarine-toolbar .orange-submarine-add[open]>.orange-submarine-form{position:absolute;z-index:25;right:0;width:min(620px,calc(100vw - 48px));padding:18px;border:1px solid #dec9ad;border-radius:18px;background:#fffdf8;box-shadow:0 14px 34px rgba(89,65,45,.16)}
.orange-submarine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.orange-submarine-card{min-width:0;padding:20px;border:1px solid #e5d3bb;border-radius:24px;background:#fffdf8;box-shadow:5px 6px 0 rgba(111,83,50,.04)}
.orange-submarine-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.orange-submarine-name{display:flex;align-items:center;gap:12px;min-width:0}.orange-submarine-anchor{display:grid;place-items:center;flex:0 0 47px;width:47px;height:47px;border:1px solid #c8d6d7;border-radius:15px;background:#e7efef;font-size:21px}.orange-submarine-name small{display:block;color:#9b8b79;font-size:9px;font-weight:800;letter-spacing:.12em}.orange-submarine-name h3{margin:2px 0 3px;font-size:19px;line-height:1.3}.orange-submarine-name p{margin:0;color:#8d7a66;font-size:11px}.orange-submarine-badge{flex:0 0 auto;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800}.orange-submarine-badge.is-sailing{background:#e6f0f2;color:#5d7d85}.orange-submarine-badge.is-ready{background:#edf2e4;color:#627443}.orange-submarine-badge.is-repair{background:#faebe3;color:#a15e3c}
.orange-submarine-return{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:14px 15px;border-radius:16px;background:#f7f1e7}.orange-submarine-return small{display:block;margin-bottom:3px;color:#9b8772;font-size:9px;font-weight:900;letter-spacing:.12em}.orange-submarine-return strong{font-size:13px}.orange-submarine-return>form button,.orange-submarine-ready-mark{padding:8px 10px;border:1px solid #dfc7a7;border-radius:999px;background:#fffaf1;color:#8d653f;font:inherit;font-size:10px;font-weight:800}.orange-submarine-timer{font-size:20px;white-space:nowrap;font-variant-numeric:tabular-nums}.orange-submarine-timer.is-due{color:#a15e3c}
.orange-submarine-route{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin:13px 0}.orange-submarine-route>div{min-width:0;padding:10px 11px;border:1px solid #e6d8c6;border-radius:13px;background:#fff}.orange-submarine-route small{display:block;color:#9b8975;font-size:9px}.orange-submarine-route strong{display:block;overflow:hidden;margin-top:2px;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.orange-submarine-route>span{color:#baa995}
.orange-submarine-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.orange-submarine-stats>div{padding:9px 8px;border:1px solid #e8dccb;border-radius:12px;background:#fff}.orange-submarine-stats span{display:block;color:#92806d;font-size:8px;white-space:nowrap}.orange-submarine-stats b{font-size:12px}
.orange-submarine-condition{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-top:12px}.orange-submarine-condition>div span{display:block;margin-bottom:5px;color:#8b7965;font-size:9px}.orange-submarine-condition i{display:block;height:6px;overflow:hidden;border-radius:999px;background:#eee4d7}.orange-submarine-condition i b{display:block;height:100%;border-radius:999px;background:#d89c60}.orange-submarine-card.is-repair .orange-submarine-condition>div:first-child i b{background:#be775b}.orange-submarine-condition p{margin:0;color:#8b7965;font-size:9px;white-space:nowrap}.orange-submarine-memo{margin:12px 0 0;padding:9px 11px;border-left:3px solid #e5be92;background:#fff8ed;color:#7c6b59;font-size:11px;line-height:1.6}
.orange-submarine-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px}.orange-submarine-edit,.orange-submarine-return-form{position:relative}.orange-submarine-edit>summary,.orange-submarine-return-form>summary{padding:8px 11px;border:1px solid #dfccb0;border-radius:999px;background:#fffaf1;color:#735f4b;font-size:10px}.orange-submarine-return-form>summary{border-color:#d9b789;background:#f7dec0;color:#8d5427}.orange-submarine-card-actions details[open]{width:100%}.orange-submarine-card-actions details[open]>summary{display:inline-block;float:right;margin-bottom:10px}.orange-submarine-card-actions details[open]>.orange-submarine-form{clear:both}
.orange-submarine-form{display:grid;gap:12px;padding:15px;border:1px solid #eadcca;border-radius:16px;background:#fff}.orange-submarine-form label{display:grid;gap:5px;min-width:0}.orange-submarine-form label>span{font-size:10px;font-weight:800}.orange-submarine-form label>small{color:#9b8a78;font-size:9px}.orange-submarine-form input,.orange-submarine-form select,.orange-submarine-form textarea{width:100%;min-width:0;padding:10px 11px;border:1px solid #dec9ad;border-radius:11px;background:#fff;color:#4e4337;font:inherit;font-size:11px}.orange-submarine-form textarea{resize:vertical}.orange-submarine-fields{display:grid;gap:8px}.orange-submarine-fields.two{grid-template-columns:1fr 1fr}.orange-submarine-fields.three{grid-template-columns:repeat(3,1fr)}.orange-submarine-fields.five{grid-template-columns:repeat(5,1fr)}.orange-submarine-submit{padding:10px 14px;border:1px solid #d77829;border-radius:999px;background:#e98632;color:#fff;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.orange-submarine-check{grid-template-columns:auto 1fr!important;align-items:center}.orange-submarine-check input{width:auto}.orange-submarine-delete{margin-top:8px;text-align:right}.orange-submarine-delete button{padding:6px 8px;border:0;background:transparent;color:#aa6b58;font:inherit;font-size:9px;text-decoration:underline;cursor:pointer}
.orange-submarine-lower{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);gap:16px;margin-top:20px}.orange-submarine-history,.orange-submarine-tasks,.orange-submarine-empty{border:1px solid #e5d3bb;border-radius:24px;background:#fffdf8;box-shadow:5px 6px 0 rgba(111,83,50,.04)}.orange-submarine-history,.orange-submarine-tasks{padding:23px}.orange-submarine-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.orange-submarine-section-heading>span{color:#95826d;font-size:10px}.orange-submarine-log-list{display:grid;gap:8px;margin-top:16px}.orange-submarine-log-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid #e8dccb;border-radius:14px;background:#fff}.orange-submarine-log-list time{margin-right:7px;color:#9a8875;font-size:9px}.orange-submarine-log-list strong{font-size:12px}.orange-submarine-log-list p{margin:4px 0;color:#796a5a;font-size:10px;line-height:1.55}.orange-submarine-log-list small{color:#9a8977;font-size:9px}.orange-submarine-log-list article>b{white-space:nowrap;color:#6d8450;font-size:12px}.orange-submarine-log-empty{padding:38px 10px;text-align:center;color:#8d7a66}
.orange-submarine-note{margin:14px 0;padding:12px 13px;border:1px solid #efdfbf;border-radius:14px;background:#fff8ea;color:#806d58;font-size:11px;line-height:1.7}.orange-submarine-task-list{display:grid;gap:8px}.orange-submarine-task-list label{display:flex;align-items:center;gap:8px;padding:10px 11px;border:1px solid #e7dac8;border-radius:13px;background:#fff;font-size:10px}.orange-submarine-task-list>p{margin:8px 0 0;color:#8d7a66;font-size:11px}.orange-submarine-empty{margin-top:24px;padding:32px}.orange-submarine-empty>p:not(.panel-label){color:#806f5d}.orange-submarine-empty>.orange-submarine-add{margin-top:18px}.orange-submarine-empty>.orange-submarine-add>.orange-submarine-form{margin-top:12px}
@media(max-width:980px){.orange-submarine-hero{grid-template-columns:1fr}.orange-submarine-summary{grid-template-columns:repeat(3,1fr)}.orange-submarine-grid{grid-template-columns:1fr}.orange-submarine-lower{grid-template-columns:1fr}}
@media(max-width:700px){.orange-submarine-shell{width:min(100% - 24px,1180px);padding:32px 0 70px}.orange-submarine-hero{padding:26px 22px;border-radius:22px}.orange-submarine-summary{grid-template-columns:1fr}.orange-submarine-summary article{min-width:0}.orange-submarine-toolbar{align-items:flex-start;flex-direction:column}.orange-submarine-toolbar .orange-submarine-add[open]>.orange-submarine-form{position:static;width:100%;margin-top:10px}.orange-submarine-toolbar .orange-submarine-add{width:100%}.orange-submarine-toolbar .orange-submarine-add>summary{display:inline-block}.orange-submarine-card{padding:17px}.orange-submarine-stats{grid-template-columns:repeat(3,1fr)}.orange-submarine-condition{grid-template-columns:1fr 1fr}.orange-submarine-condition p{grid-column:1/-1}.orange-submarine-fields.five{grid-template-columns:repeat(3,1fr)}.orange-submarine-history,.orange-submarine-tasks{padding:20px 17px}.orange-submarine-log-list article{grid-template-columns:1fr}.orange-submarine-log-list article>b{justify-self:start}}
@media(max-width:450px){.orange-submarine-card-top{flex-direction:column}.orange-submarine-route{grid-template-columns:1fr}.orange-submarine-route>span{display:none}.orange-submarine-stats{grid-template-columns:repeat(2,1fr)}.orange-submarine-fields.two,.orange-submarine-fields.three,.orange-submarine-fields.five{grid-template-columns:1fr 1fr}.orange-submarine-timer{font-size:16px}.orange-submarine-return{align-items:flex-start;flex-direction:column}.orange-submarine-card-actions{justify-content:flex-start}}


/* ===== v0.9.33 SUBMARINE: 3 FC SWITCHER ===== */
.orange-submarine-fc-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 2px}
.orange-submarine-fc-tabs a{padding:9px 15px;border:1px solid #dfccb0;border-radius:999px;background:#fffaf1;color:#735f4b;font-size:11px;font-weight:800;line-height:1.2}
.orange-submarine-fc-tabs a.is-active{border-color:#d77829;background:#e98632;color:#fff}


/* ===== v0.9.34 SUBMARINE: SIMPLE 4-SHIP / DURATION DISPATCH ===== */
/* Requested readability floor: body copy and controls on the submarine page are never smaller than the normal 16px site text. */
.orange-submarine-shell p,
.orange-submarine-shell span,
.orange-submarine-shell small,
.orange-submarine-shell label,
.orange-submarine-shell legend,
.orange-submarine-shell time,
.orange-submarine-shell summary,
.orange-submarine-shell button,
.orange-submarine-shell input,
.orange-submarine-shell select,
.orange-submarine-shell textarea,
.orange-submarine-shell .panel-label,
.orange-submarine-shell .orange-submarine-summary span,
.orange-submarine-shell .orange-submarine-summary strong small,
.orange-submarine-shell .orange-submarine-section-heading>span,
.orange-submarine-shell .orange-submarine-name small,
.orange-submarine-shell .orange-submarine-name p,
.orange-submarine-shell .orange-submarine-badge,
.orange-submarine-shell .orange-submarine-return small,
.orange-submarine-shell .orange-submarine-return strong,
.orange-submarine-shell .orange-submarine-edit>summary,
.orange-submarine-shell .orange-submarine-return-form>summary,
.orange-submarine-shell .orange-submarine-form label>span,
.orange-submarine-shell .orange-submarine-form label>small,
.orange-submarine-shell .orange-submarine-form input,
.orange-submarine-shell .orange-submarine-form select,
.orange-submarine-shell .orange-submarine-form textarea,
.orange-submarine-shell .orange-submarine-submit,
.orange-submarine-shell .orange-submarine-delete button,
.orange-submarine-shell .orange-submarine-log-list time,
.orange-submarine-shell .orange-submarine-log-list strong,
.orange-submarine-shell .orange-submarine-log-list p,
.orange-submarine-shell .orange-submarine-log-list small,
.orange-submarine-shell .orange-submarine-log-list article>b,
.orange-submarine-shell .orange-submarine-note,
.orange-submarine-shell .orange-submarine-task-list label,
.orange-submarine-shell .orange-submarine-task-list>p,
.orange-submarine-shell .orange-submarine-fc-tabs a{font-size:16px}

.orange-submarine-registration{padding:30px}
.orange-submarine-register-list{display:grid;gap:10px;margin:20px 0}
.orange-submarine-register-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border:1px solid #e5d7c5;border-radius:15px;background:#fff}
.orange-submarine-register-row>div{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;min-width:0}
.orange-submarine-register-row>div strong{font-size:18px}
.orange-submarine-register-row>div span{color:#806f5d}
.orange-submarine-register-row .orange-submarine-edit[open]{width:100%}
.orange-submarine-register-row .orange-submarine-edit[open]>.orange-submarine-form{margin-top:12px}

.orange-submarine-recommendation{display:grid;gap:5px;margin-top:14px;padding:14px 15px;border:1px solid #dfe3c9;border-radius:15px;background:#f7f9ed}
.orange-submarine-recommendation>span{color:#6f795a;font-weight:800}
.orange-submarine-recommendation>strong{font-size:18px;line-height:1.55}
.orange-submarine-recommendation>small{color:#788264}

.orange-submarine-depart-panel{margin-top:20px;padding:25px;border:1px solid #e5d3bb;border-radius:24px;background:#fffdf8;box-shadow:5px 6px 0 rgba(111,83,50,.04)}
.orange-submarine-depart-help{margin:10px 0 18px;color:#806f5d;line-height:1.8}
.orange-submarine-depart-form{display:grid;grid-template-columns:minmax(220px,1.15fr) minmax(320px,1fr);gap:16px 20px;align-items:end;padding:18px;border:1px solid #eadcca;border-radius:18px;background:#fff}
.orange-submarine-depart-ship{display:grid;gap:7px}
.orange-submarine-depart-ship>span,.orange-submarine-duration legend{font-weight:800}
.orange-submarine-depart-ship select{width:100%;height:50px;padding:0 13px;border:1px solid #dec9ad;border-radius:12px;background:#fff;color:#4e4337;font:inherit}
.orange-submarine-duration{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;border:0}
.orange-submarine-duration legend{grid-column:1/-1;margin-bottom:0}
.orange-submarine-duration label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}
.orange-submarine-duration input{width:100%;height:50px;padding:0 12px;border:1px solid #dec9ad;border-radius:12px;background:#fff;color:#4e4337;font:inherit;text-align:right}
.orange-submarine-depart-preview,.orange-submarine-depart-route{display:grid;gap:5px;padding:14px 15px;border-radius:15px}
.orange-submarine-depart-preview{border:1px solid #ead6b9;background:#fff8eb}
.orange-submarine-depart-route{border:1px solid #dfe3c9;background:#f7f9ed}
.orange-submarine-depart-preview>span,.orange-submarine-depart-route>span{font-weight:800;color:#866d52}
.orange-submarine-depart-preview>strong,.orange-submarine-depart-route>strong{font-size:18px;line-height:1.5}
.orange-submarine-depart-route>small{color:#788264}
.orange-submarine-depart-form>.orange-submarine-submit{grid-column:1/-1;min-height:50px;font-size:17px}
.orange-submarine-depart-none{margin:0;padding:16px;border:1px solid #e5d7c5;border-radius:14px;background:#fff}
.orange-submarine-source{margin:14px 2px 0;color:#806f5d;line-height:1.7}
.orange-submarine-source a{text-decoration:underline;text-underline-offset:3px}
.orange-submarine-timer{font-size:18px;white-space:normal;text-align:right}

@media(max-width:760px){
  .orange-submarine-depart-form{grid-template-columns:1fr}
  .orange-submarine-depart-form>.orange-submarine-submit{grid-column:auto}
  .orange-submarine-register-row{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){
  .orange-submarine-duration{grid-template-columns:1fr}
  .orange-submarine-duration legend{grid-column:auto}
  .orange-submarine-fields.two{grid-template-columns:1fr}
}

/* ===== v0.9.35 SUBMARINE: TODAY / SALVAGE SALES ===== */
.orange-submarine-tasks-top{margin-top:20px}
.orange-submarine-lower.is-history-only{grid-template-columns:1fr}
.orange-submarine-loot-picker{display:grid;gap:10px}
.orange-submarine-loot-title{font-weight:800}
.orange-submarine-loot-rows{display:grid;gap:9px}
.orange-submarine-loot-row{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:9px;align-items:center}
.orange-submarine-loot-row select,.orange-submarine-loot-row input{width:100%;min-height:48px;padding:9px 11px;border:1px solid #dec9ad;border-radius:12px;background:#fff;color:#4e4337;font:inherit}
.orange-submarine-loot-row label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}
.orange-submarine-loot-add,.orange-submarine-loot-remove{justify-self:start;padding:8px 12px;border:1px solid #dfccb0;border-radius:999px;background:#fffaf1;color:#735f4b;font:inherit;font-weight:800;cursor:pointer}
.orange-submarine-loot-remove{white-space:nowrap}
@media(max-width:700px){.orange-submarine-loot-row{grid-template-columns:1fr 120px}.orange-submarine-loot-remove{grid-column:1/-1}}
@media(max-width:480px){.orange-submarine-loot-row{grid-template-columns:1fr}.orange-submarine-loot-remove{grid-column:auto}}



/* ===== v0.9.36: Orange Point passbook / task rewards ===== */
.orange-point-passbook{margin-top:32px;border:1px solid #ddc8aa;border-radius:26px;background:#fffdf8;box-shadow:7px 8px 0 rgba(108,78,48,.05);overflow:hidden}
.orange-point-passbook-cover{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:28px 30px;background:linear-gradient(135deg,#f6e8cc 0%,#fbf2df 52%,#f3e2c1 100%);border-bottom:1px solid #dfc8a6;position:relative}
.orange-point-passbook-cover::after{content:"";position:absolute;right:28%;top:0;bottom:0;width:1px;background:rgba(132,92,53,.08)}
.orange-point-passbook-cover .panel-label{margin:0 0 4px}.orange-point-passbook-cover h2{margin:0 0 6px;font-size:27px}.orange-point-passbook-cover p:last-child{margin:0;color:#806d58}
.orange-point-passbook-balance{display:grid;justify-items:end;gap:5px;min-width:205px;padding:16px 18px;border:1px solid rgba(171,128,83,.34);border-radius:18px;background:rgba(255,253,248,.76)}
.orange-point-passbook-balance>span{font-size:12px;font-weight:800;letter-spacing:.08em;color:#8a745c}.orange-point-passbook-balance strong{font-size:32px;color:#a55f2d;line-height:1}.orange-point-passbook-balance strong small{font-size:15px}.orange-point-passbook-balance a{margin-top:3px;font-size:12px;font-weight:800;color:#9e673a;text-decoration:underline;text-underline-offset:3px}
.orange-point-book-pages{padding:20px 22px 22px;background:linear-gradient(90deg,#fffdf8 0,#fffdf8 49.6%,#f3e7d5 50%,#fffdf8 50.4%,#fffdf8 100%)}
.orange-point-ledger-wrap{overflow:auto;border:1px solid #e2d0b8;border-radius:17px;background:#fffefb}
.orange-point-ledger-head,.orange-point-ledger-row{display:grid;grid-template-columns:130px minmax(220px,1fr) 110px 110px 110px;min-width:760px;align-items:stretch}
.orange-point-ledger-head{background:#f1e3ca;color:#7d664e;font-size:11px;font-weight:900;letter-spacing:.06em}
.orange-point-ledger-head span{padding:10px 12px;border-right:1px solid #dfcdb3}.orange-point-ledger-head span:last-child{border-right:0}
.orange-point-ledger-row{min-height:58px;background:repeating-linear-gradient(0deg,#fffefb 0,#fffefb 28px,#f7f0e5 29px,#fffefb 30px);border-top:1px solid #eadfce;color:#54483c;font-size:12px}
.orange-point-ledger-row>*{display:flex;align-items:center;padding:10px 12px;border-right:1px solid #eadfce}.orange-point-ledger-row>*:last-child{border-right:0}.orange-point-ledger-row time{color:#887764;font-size:11px}.orange-point-ledger-row>div{display:grid;align-content:center;gap:2px}.orange-point-ledger-row>div strong{font-size:12px}.orange-point-ledger-row>div small{color:#9a8975;font-size:9px}.orange-point-ledger-row b{justify-content:flex-end;font-size:12px}.orange-point-ledger-row .is-credit{color:#687d50}.orange-point-ledger-row .is-debit{color:#b26852}.orange-point-ledger-row .is-balance{justify-content:flex-end;color:#7b5c3d;font-size:13px}.orange-point-ledger-empty{padding:34px;text-align:center;color:#95836f}
.orange-point-task-guide{padding:22px 26px 26px;border-top:1px solid #e5d4bc;background:#fffaf1}.orange-point-task-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.orange-point-task-heading .panel-label{margin:0 0 2px}.orange-point-task-heading h3{margin:0;font-size:20px}.orange-point-task-heading>span{color:#917e68;font-size:11px}
.orange-point-task-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.orange-point-task-grid article{display:grid;gap:8px;align-content:space-between;min-height:92px;padding:13px 14px;border:1px solid #e4d2b8;border-radius:14px;background:#fff}.orange-point-task-grid article span{font-size:12px;line-height:1.55;color:#625447}.orange-point-task-grid article strong{font-size:17px;color:#a65f2f}
.orange-shop-buy-form{margin:0}.orange-shop-buy.is-ready{border-color:#d77829;background:#e98632;color:#fff;cursor:pointer}.orange-shop-buy.is-ready:hover{filter:brightness(.98);transform:translateY(-1px)}
.orange-shop-alert{margin:0 0 20px;padding:12px 16px;border-radius:14px;font-size:13px;font-weight:700}.orange-shop-alert.is-success{border:1px solid #d9e4cf;background:#f4f8ef;color:#58704b}.orange-shop-alert.is-error{border:1px solid #efd0c5;background:#fff1eb;color:#a45d48}
.orange-gil-point-donation{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;padding:11px 12px;border:1px solid #e4d0b3;border-radius:13px;background:#fff9ee;color:#745e49;font-size:12px;font-weight:700}.orange-gil-point-donation input{width:auto;margin:0}
.garden-point-action-shell{width:min(100% - 36px,1100px);margin:22px auto 74px}.garden-point-action{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border:1px solid #dfceb5;border-radius:22px;background:#fffdf8;box-shadow:6px 7px 0 rgba(108,78,48,.045)}.garden-point-action .panel-label{margin:0 0 3px}.garden-point-action h2{margin:0 0 5px;font-size:21px}.garden-point-action p:last-child{margin:0;color:#7d6f60;font-size:13px}.garden-point-action button{flex:0 0 auto;padding:12px 18px;border:1px solid #d77829;border-radius:999px;background:#e98632;color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.garden-point-success{margin:0 0 12px;padding:12px 15px;border:1px solid #d8e4cf;border-radius:14px;background:#f3f8ef;color:#5d754f;font-size:13px;font-weight:700}
@media(max-width:900px){.orange-point-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.orange-point-passbook-cover{grid-template-columns:1fr}.orange-point-passbook-balance{justify-items:start}.garden-point-action{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.orange-point-passbook{border-radius:20px}.orange-point-passbook-cover{padding:22px 20px}.orange-point-book-pages{padding:14px}.orange-point-task-guide{padding:18px 18px 22px}.orange-point-task-heading{align-items:flex-start;flex-direction:column;gap:5px}.orange-point-task-grid{grid-template-columns:1fr}.garden-point-action-shell{width:min(100% - 24px,1100px)}.garden-point-action button{width:100%}}

/* ===== v0.9.38: Orange Point passbook pagination ===== */
.orange-point-pagination{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-top:14px}
.orange-point-page-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 15px;border:1px solid #ddc8aa;border-radius:999px;background:#fffaf1;color:#765e47;font-size:13px;font-weight:800}
.orange-point-page-button:last-child{justify-self:end}.orange-point-page-button:first-child{justify-self:start}.orange-point-page-button.is-disabled{opacity:.36;pointer-events:none}
.orange-point-page-status{color:#806d58;font-size:13px;font-weight:800;text-align:center}
@media(max-width:560px){.orange-point-pagination{grid-template-columns:1fr 1fr}.orange-point-page-status{grid-column:1/-1;grid-row:1}.orange-point-page-button{width:100%}}



/* ===== v0.9.40: profile-image square cropper ===== */
.member-profile-crop-dialog{
  width:min(92vw,560px);
  max-width:560px;
  padding:0;
  border:1px solid #dfccb0;
  border-radius:22px;
  background:#fffaf2;
  color:#4e4337;
  box-shadow:0 18px 54px rgba(70,48,31,.22);
}
.member-profile-crop-dialog::backdrop{background:rgba(54,42,32,.48)}
.member-profile-crop-shell{display:grid;gap:18px;padding:24px}
.member-profile-crop-heading{display:grid;gap:5px}
.member-profile-crop-heading strong{font-size:18px}
.member-profile-crop-heading span{font-size:14px;color:#7d6f60;font-weight:500}
.member-profile-crop-viewport{
  position:relative;
  width:min(100%,420px);
  aspect-ratio:1/1;
  margin:0 auto;
  overflow:hidden;
  border:2px solid #e98632;
  border-radius:16px;
  background:#eee6d9;
  touch-action:none;
  cursor:grab;
  user-select:none;
}
.member-profile-crop-viewport.is-dragging{cursor:grabbing}
.member-profile-crop-viewport img{
  position:absolute;
  max-width:none;
  max-height:none;
  pointer-events:none;
  user-select:none;
}
.member-profile-crop-viewport::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72);
}
.member-profile-crop-zoom{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}
.member-profile-crop-zoom label{font-weight:700}
.member-profile-crop-zoom input{width:100%;accent-color:#e98632}
.member-profile-crop-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.member-profile-crop-actions button{
  min-height:42px;
  padding:0 17px;
  border:1px solid #dcc7a8;
  border-radius:999px;
  background:#fff;
  color:#5b4a3b;
  font:700 14px/1 "Zen Maru Gothic",sans-serif;
  cursor:pointer;
}
.member-profile-crop-actions [data-profile-crop-confirm]{border-color:#e98632;background:#e98632;color:#fff}
.member-profile-crop-note{margin:0;font-size:13px;color:#7d6f60;font-weight:500}
@media(max-width:560px){
  .member-profile-crop-shell{padding:18px}
  .member-profile-crop-dialog{width:calc(100vw - 24px)}
}

/* ===== v0.9.43: Po Yu trophy shelf polka dots only ===== */
.member-trophy-shelf{isolation:isolate}
.member-trophy-shelf.is-poyu::before{content:"";position:absolute;z-index:0;top:0;right:0;bottom:28%;left:0;border-radius:21px 21px 0 0;background-image:radial-gradient(circle,rgba(220,203,183,.34) 0 30px,transparent 31px),radial-gradient(circle,rgba(220,203,183,.28) 0 28px,transparent 29px);background-size:190px 120px,190px 120px;background-position:42px 18px,136px 76px;background-repeat:repeat;pointer-events:none}
.member-trophy-shelf>.member-trophy,.member-trophy-shelf>p{position:relative;z-index:2}
@media(max-width:560px){.member-trophy-shelf.is-poyu::before{background-size:190px 120px,190px 120px;background-position:42px 18px,136px 76px}}

/* ===== v0.9.45: slider, My Page tabs, inventory, shop search/sort, spacing ===== */
.home-photo-hero{position:relative;overflow:hidden;background:#efe6d7;border-bottom:8px solid #fff8e9}
.home-photo-slider{position:relative;width:100%;aspect-ratio:16/7;max-height:680px;min-height:430px;overflow:hidden;background:#e8dfd2}
.home-photo-track{position:absolute;inset:0;display:flex;transition:transform .65s ease;will-change:transform}
.home-photo-slide{position:relative;flex:0 0 100%;height:100%;margin:0}
.home-photo-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.home-photo-empty{position:absolute;inset:0;background:linear-gradient(135deg,#f2e5d0,#e9dfcf)}
.home-slider-arrow{position:absolute;z-index:8;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(69,54,39,.46);color:#fff;font:400 34px/1 sans-serif;cursor:pointer;backdrop-filter:blur(3px)}
.home-slider-arrow.is-prev{left:24px}.home-slider-arrow.is-next{right:24px}
.home-slider-dots{position:absolute;z-index:8;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:8px;padding:7px 10px;border-radius:999px;background:rgba(55,43,32,.34)}
.home-slider-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer}.home-slider-dots button.is-active{background:#fff}
@media(prefers-reduced-motion:reduce){.home-photo-track{transition:none}}
@media(max-width:1100px){.home-photo-slider{aspect-ratio:4/3;min-height:0}.home-slider-arrow{width:40px;height:40px;font-size:28px}.home-slider-arrow.is-prev{left:12px}.home-slider-arrow.is-next{right:12px}.home-slider-dots{bottom:12px}}

@media(min-width:1101px){
  .site-header{gap:28px}
  .member-hub-pill{gap:18px!important}
  .member-sprout-anchor{margin-right:0!important}
}

@media(max-width:700px){
  .notice-category-tabs{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 2px 5px;margin-left:-2px;margin-right:-2px}
  .notice-category-tabs::-webkit-scrollbar{display:none}
  .notice-category-tabs a{flex:0 0 auto;min-height:44px;padding:8px 17px}
}

.site-help-footer{margin-bottom:20px}

.orange-mypage-page .mypage-compact-hero{padding-top:30px;padding-bottom:34px}
.orange-mypage-page .mypage-compact-hero .back-home{margin-bottom:20px}
.orange-mypage-page .mypage-compact-hero h1{font-size:clamp(34px,5vw,50px)}
.orange-mypage-page .mypage-layout{padding-top:36px}
@media(max-width:560px){.orange-mypage-page .mypage-compact-hero{padding:24px 20px 28px}.orange-mypage-page .mypage-compact-hero .back-home{margin-bottom:15px}.orange-mypage-page .mypage-compact-hero h1{font-size:36px}.orange-mypage-page .mypage-layout{padding-top:24px}}

.mypage-room-preview{margin:0 0 26px;border:1px solid #e4d1b4;border-radius:26px;background:#fffdf8;box-shadow:8px 9px 0 rgba(108,78,48,.05);overflow:hidden}
.mypage-room-preview-scene{position:relative;width:100%;aspect-ratio:16 / 9;min-height:0;height:auto;overflow:hidden;background:#f4eadb;isolation:isolate}
.mypage-room-user{position:absolute;z-index:12;top:22px;left:22px;display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;border:1px solid rgba(111,83,55,.15);border-radius:18px;background:rgba(255,253,248,.9);backdrop-filter:blur(4px)}
.mypage-room-avatar{display:grid;place-items:center;width:58px;height:58px;overflow:hidden;border:4px solid #fff;border-radius:50%;background:#eee3d4;box-shadow:0 4px 12px rgba(68,51,36,.12)}
.mypage-room-avatar img,.mypage-room-avatar>span{width:100%;height:100%;display:grid;place-items:center;object-fit:cover;color:#9a846d;font-size:10px}
.mypage-room-user>div{display:grid;gap:3px}.mypage-room-user strong{font-size:18px}.mypage-room-user small{color:#a56634;font-size:13px;font-weight:800}
.mypage-room-logout{position:absolute;z-index:12;top:24px;right:24px;padding:9px 14px;border:1px solid #dec8a9;border-radius:999px;background:rgba(255,253,248,.92);font-size:13px;font-weight:700}
.mypage-room-items{position:absolute;z-index:9;left:24px;bottom:42px;width:min(48%,420px)}
.mypage-room-trophies{position:absolute;z-index:9;right:24px;bottom:44px;width:min(42%,360px)}
.mypage-room-link{position:absolute;z-index:13;right:24px;bottom:14px;font-weight:800;color:#a45f2f}
.mypage-room-preview .member-item-bag.is-compact{padding:10px;border-radius:15px;background:rgba(255,250,239,.84);box-shadow:none}
.mypage-room-preview .member-item-bag.is-compact .member-item-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.mypage-room-preview .member-item-bag.is-compact .member-item-slot{min-height:58px;border-radius:12px;background:rgba(255,255,255,.92)}
.mypage-room-preview .member-trophy-shelf.is-compact{min-height:88px;padding:15px 14px 24px;border-radius:15px;background:linear-gradient(rgba(255,253,248,.9) 0 66%,#a97b50 66% 75%,#745236 75% 82%,rgba(255,248,235,.92) 82%);gap:9px}
.mypage-room-preview .member-trophy-shelf.is-compact .member-trophy{width:37px;height:48px;font-size:16px;box-shadow:0 3px 0 #7d5636}
.mypage-room-preview .member-trophy-shelf.is-compact>p{font-size:11px}
@media(max-width:700px){.mypage-room-preview-scene{width:100%;aspect-ratio:16 / 9;min-height:0;height:auto}.mypage-room-user{top:14px;left:14px;padding:8px 11px 8px 8px}.mypage-room-avatar{width:48px;height:48px}.mypage-room-user strong{font-size:15px}.mypage-room-user small{font-size:11px}.mypage-room-logout{top:16px;right:14px;padding:8px 11px;font-size:11px}.mypage-room-items{left:14px;bottom:44px;width:52%}.mypage-room-trophies{right:14px;bottom:44px;width:38%}.mypage-room-link{right:15px;bottom:14px;font-size:13px}.mypage-room-preview .member-item-bag.is-compact .member-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mypage-room-preview .member-item-bag.is-compact .member-item-slot:nth-child(n+3){display:none}}

.mypage-tabs{display:flex;gap:8px;margin:0 0 18px;padding:4px;overflow-x:auto;overflow-y:visible;scrollbar-width:none;border:1px solid #e1cfb4;border-radius:999px;background:#f8edda}.mypage-tabs::-webkit-scrollbar{display:none}.mypage-tabs button{position:relative;flex:1 0 auto;min-height:44px;padding:9px 18px;border:0;border-radius:999px;background:transparent;color:#725e4a;font:700 14px/1 "Zen Maru Gothic",sans-serif;cursor:pointer;white-space:nowrap}.mypage-tabs button.is-active{background:#fffdf8;color:#a45f2f;box-shadow:0 2px 7px rgba(82,61,42,.08)}.mypage-tabs button.has-unread{padding-right:25px}.mypage-post-badge{position:absolute;z-index:3;top:2px;right:7px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border:2px solid #f8edda;border-radius:999px;background:#e65428;color:#fff;font:900 10px/1 Arial,sans-serif;box-shadow:0 2px 6px rgba(151,70,33,.22);transform:translate(38%,-38%)}.mypage-tabs button.is-active .mypage-post-badge{border-color:#fffdf8}
.mypage-tab-panels{min-height:200px}.mypage-tab-panel{padding:28px;border:1px solid #e2cfb3;border-radius:26px;background:#fffdf8;box-shadow:8px 9px 0 rgba(108,78,48,.045)}.mypage-tab-panel>.member-profile-editor,.mypage-tab-panel>.orange-point-passbook{margin:0;border:0;box-shadow:none;padding:0;background:transparent}.mypage-tab-panel>.orange-point-passbook{overflow:visible}.mypage-tab-panel[hidden]{display:none!important}
@media(max-width:560px){.mypage-tabs{border-radius:18px;justify-content:flex-start}.mypage-tabs button{flex:0 0 auto;padding:9px 15px}.mypage-tab-panel{padding:18px;border-radius:20px}}

.member-inventory-section{margin-top:48px}.member-item-bag{padding:22px;border:1px solid #dfc9a9;border-radius:22px;background:linear-gradient(145deg,#f7ead4,#fffaf1);box-shadow:inset 0 0 0 5px rgba(255,255,255,.28)}.member-item-bag-empty{display:grid;place-items:center;min-height:108px}.member-item-bag-empty .member-item-empty{margin:0}
.member-item-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}.member-item-slot{position:relative;display:grid;place-items:center;aspect-ratio:1/1;min-height:82px;overflow:hidden;border:1px solid #e5d5bf;border-radius:16px;background:#fffdf8;box-shadow:0 3px 0 rgba(117,84,51,.06)}.member-item-slot img{display:block;width:82%;height:82%;object-fit:contain}.member-item-placeholder{display:grid;place-items:center;width:62%;height:62%;border:1px dashed #d5bea1;border-radius:14px;color:#b28a62;font-size:28px}.member-item-slot b{position:absolute;right:6px;bottom:6px;min-width:28px;padding:3px 7px;border-radius:999px;background:rgba(83,64,46,.82);color:#fff;font-size:12px;text-align:center}.member-item-empty{margin:12px 0;text-align:center;color:#8c7863}
@media(max-width:900px){.member-item-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:560px){.member-item-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.member-item-bag{padding:14px}.member-item-slot{min-height:60px;border-radius:12px}}

.member-settings-editor .member-profile-image-preview{aspect-ratio:1/1;max-width:220px}

.orange-shop-toolbar{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px 20px}
.orange-shop-toolbar-controls{display:flex;justify-content:flex-end;gap:10px;min-width:0}.orange-shop-search{flex:1 1 280px;max-width:360px}.orange-shop-search input,.orange-shop-sort select{width:100%;min-height:42px;padding:9px 13px;border:1px solid #dfcdb3;border-radius:999px;background:#fffdf8;color:#5f5042;font:inherit}.orange-shop-sort{flex:0 0 190px}.orange-shop-filter{grid-column:1/-1;justify-content:flex-end}
@media(max-width:760px){.orange-shop-toolbar{grid-template-columns:1fr}.orange-shop-toolbar-controls{justify-content:stretch;flex-direction:column}.orange-shop-search{max-width:none}.orange-shop-sort{flex-basis:auto}.orange-shop-filter{grid-column:auto;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.orange-shop-filter::-webkit-scrollbar{display:none}.orange-shop-filter button{flex:0 0 auto;min-height:44px}}

/* v0.9.45 guest identity fallback */
.photo-author-guest{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:33px;height:33px;border:3px solid #76583e;border-radius:50%;background:#f7efe4;color:#947e67;font-size:11px;font-weight:800;transform:translate(-50%,-50%)}
.photo-viewer-guest,.activity-author-guest{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:#f7efe4;color:#947e67;font-size:11px;font-weight:800}
.activity-author-guest{width:34px;height:34px;border:2px solid #fff;box-shadow:0 2px 6px rgba(86,60,38,.12)}


/* ===== v0.9.46: requested member/admin feature UI ===== */
.desktop-member-menu{position:relative;display:flex;align-items:center;margin-left:22px}
.desktop-member-menu-toggle{position:relative;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:800;white-space:nowrap;padding:9px 4px;cursor:pointer}
.desktop-member-menu-toggle::after{content:"";position:absolute;left:4px;right:auto;bottom:2px;width:0;height:2px;background:var(--orange);transition:width .2s}
.desktop-member-menu-toggle:hover::after,.desktop-member-menu-toggle:focus-visible::after{width:calc(100% - 8px)}
.desktop-member-dropdown{position:absolute;z-index:1200;top:calc(100% + 10px);right:0;width:min(1000px,calc(100vw - 48px));padding:18px;border:1px solid #dfc9ad;border-radius:18px;background:#fffaf0;box-shadow:0 16px 34px rgba(79,61,42,.16);display:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.desktop-member-dropdown::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.desktop-member-menu.is-open .desktop-member-dropdown,.desktop-member-menu:hover .desktop-member-dropdown{display:grid}
.desktop-member-dropdown section{min-width:0}.desktop-member-dropdown section>p{margin:0 0 7px;color:#ad7b4d;font-size:12px;font-weight:900;letter-spacing:.08em}
.desktop-member-dropdown a{display:block;padding:9px 10px;border-radius:10px}.desktop-member-dropdown a:hover,.desktop-member-dropdown a:focus-visible{background:#f3e5cf}.desktop-member-dropdown a strong,.desktop-member-dropdown a small{display:block}.desktop-member-dropdown a small{margin-top:2px;color:var(--muted);font-size:12px;font-weight:600}
.member-leaf-all{display:block;position:absolute;z-index:3;left:28%;bottom:10px;width:46%;margin:0;padding:7px 6px;text-align:center;border-top:1px dashed rgba(91,73,52,.22);font-size:11px;font-weight:900;color:#765d41}
.member-quick-menu-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.member-quick-menu-settings label:last-child{grid-column:1/-1}.member-quick-menu-settings select{width:100%}
.member-menu-page,.fc-chest-page,.orange-submarine-unlock-shell{max-width:1180px;margin:0 auto}.member-menu-groups{display:grid;gap:22px;padding-bottom:28px}.member-menu-group{padding:22px;border:1px solid #dfc9ad;border-radius:20px;background:#fffaf0}.member-menu-group h2{margin:3px 0 15px}.member-menu-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.member-menu-card{position:relative;padding:15px 36px 15px 15px;border:1px solid #ead9c5;border-radius:14px;background:#fff}.member-menu-card strong,.member-menu-card span{display:block}.member-menu-card span{margin-top:4px;color:var(--muted);font-size:13px}.member-menu-card b{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#b97943}
.garden-yard-tabs{display:flex;gap:10px;margin:0 0 28px}.garden-yard-tabs a{padding:10px 18px;border:1px solid #dbc3a2;border-radius:999px;background:#fff8e8;font-weight:900;transition:background .15s ease,border-color .15s ease,color .15s ease}.garden-care-actions{margin:22px 0 34px}.garden-care-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.garden-care-card{padding:21px;border:1px solid #ddc7aa;border-radius:20px;background:#fffaf0}.garden-care-card h2{margin:4px 0 7px}.garden-care-card form{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:14px}.garden-care-card button,.fc-chest-action button{border:0;border-radius:999px;background:#e98632;color:#fff;padding:11px 18px;font:inherit;font-weight:900;cursor:pointer}.garden-care-card button:disabled{background:#b9ad9e;cursor:not-allowed}.garden-care-card small{color:var(--muted)}.garden-point-success,.fc-chest-success{padding:12px 15px;border-radius:13px;background:#eef5df;color:#56683c;font-weight:800}.garden-point-wait{padding:12px 15px;border-radius:13px;background:#f6ead8;color:#816640;font-weight:800}
.fc-chest-action{max-width:700px;margin:20px 0 34px;padding:24px;border:1px solid #ddc7aa;border-radius:20px;background:#fffaf0}.fc-chest-action h2{margin:4px 0 8px}
.orange-submarine-unlock-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.orange-submarine-unlock-card{padding:20px;border:1px solid #dbc6aa;border-radius:18px;background:#fffaf0}.orange-submarine-unlock-card h2{margin:3px 0 12px}.orange-submarine-unlock-card p{line-height:1.7}.orange-submarine-unlock-card ul{margin:12px 0 0;padding-left:1.25em;line-height:1.8}.orange-submarine-source{margin:14px 0 32px;color:var(--muted)}
.attendance-participant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}.attendance-participant-chip{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dfc9ad;border-radius:12px;background:#fff}.attendance-participant-chip span,.attendance-participant-chip small{display:block}.attendance-participant-chip small{color:var(--muted)}.attendance-participant-chip.is-awarded{opacity:.62}
.photo-download-button{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;padding:9px 14px;border:1px solid #d8b88e;border-radius:999px;background:#fff9ee;font-size:14px;font-weight:900;color:#725438}
/* Keep the native submarine select comfortable but move its arrow away from the right border. */
.orange-submarine-loot-row select{-webkit-appearance:none;appearance:none;padding-right:48px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M2 2l5 5 5-5' fill='none' stroke='%236f6254' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;background-size:14px 9px}
@media(max-width:1100px){.desktop-member-menu{display:none}.member-menu-card-grid{grid-template-columns:1fr 1fr}.member-quick-menu-settings{grid-template-columns:1fr}}
@media(max-width:620px){.member-menu-card-grid,.garden-care-grid,.orange-submarine-unlock-grid,.attendance-participant-grid{grid-template-columns:1fr}.member-menu-group{padding:17px}.garden-yard-tabs{overflow-x:auto;white-space:nowrap}.garden-yard-tabs a{flex:0 0 auto}}


/* ===== v0.9.47: requested correction batch ===== */
/* Move the complete seed-menu contents upward as one block; internal spacing and horizontal positions stay unchanged. */
.member-leaf-content{transform:translateY(-40px)}
@media(max-width:560px){.member-leaf-content{transform:translateY(-34px)}}

/* Classification/switch pills use the same hover treatment as the home notice category tags. */
.category-tabs button:hover,.category-tabs a:hover,.album-filter-bar button:hover,.orange-shop-filter button:hover,.orange-submarine-fc-tabs a:hover,.garden-yard-tabs a:hover{background:#fff3df;border-color:#d99958;color:#765f49}
.category-tabs button.is-active:hover,.category-tabs a.is-active:hover,.orange-submarine-fc-tabs a.is-active:hover{background:#e98632;border-color:#e98632;color:#fff}
.orange-shop-filter button.is-active:hover{background:#f7dec0;border-color:#dfa066;color:#8d5427}

/* Saved, unmodified route-map images are shown large enough to read. */
.orange-submarine-unlock-grid{grid-template-columns:1fr}
.orange-submarine-unlock-card{max-width:1040px;width:100%;margin:0 auto}
.orange-submarine-unlock-map{display:block;width:100%;height:auto;margin:16px 0 18px}
.album-filter-bar button,.orange-submarine-fc-tabs a{transition:background .15s ease,border-color .15s ease,color .15s ease}
.album-filter-bar button.is-active:hover{background:#e98632;border-color:#e98632;color:#fff}

/* ===== v0.9.48: requested correction batch ===== */
/* Keep the seed button clickable even where the opened leaf overlaps it. */
.member-seed-toggle{position:relative;z-index:60}

/* The custom menu keeps the previous vertical rhythm after removing the lock icon. */
.member-leaf-title{padding-top:27px}
@media(max-width:560px){.member-leaf-title{padding-top:25px}}

/* Classification/switch pills never use the global navigation underline. */
.category-tabs a::after,
.notice-category-tabs a::after,
.orange-submarine-fc-tabs a::after,
.garden-yard-tabs a::after{display:none!important}
.category-tabs a,
.notice-category-tabs a,
.orange-submarine-fc-tabs a,
.garden-yard-tabs a{text-decoration:none!important}

/* Hover is color/background only, matching the notice category pills. */
.category-tabs button:hover,.category-tabs a:hover,.album-filter-bar button:hover,.orange-shop-filter button:hover,.orange-submarine-fc-tabs a:hover,.garden-yard-tabs a:hover{background:#fff3df;border-color:#d99958;color:#765f49;text-decoration:none!important}
.category-tabs button.is-active:hover,.category-tabs a.is-active:hover,.orange-submarine-fc-tabs a.is-active:hover{background:#e98632;border-color:#e98632;color:#fff}

/* User-supplied route maps: same approximate display size without changing aspect ratio. */
.orange-submarine-unlock-map{width:min(100%,620px);max-height:620px;object-fit:contain;margin:16px auto 18px}

/* Round the coloured Point passbook cover even when the passbook overflow is visible inside My Page. */
.orange-point-passbook-cover{border-radius:24px 24px 0 0;overflow:hidden}
@media(max-width:560px){.orange-point-passbook-cover{border-radius:19px 19px 0 0}}

/* Logged-in desktop account control is icon-only; logged-out state keeps the Login label. */
@media(min-width:1101px){
  .member-hub.is-member .member-button{width:43px;height:43px;min-height:43px;padding:0;border-radius:50%}
  .member-hub.is-member .member-account-icon{width:22px;height:22px}
}



/* ===== v0.9.49: leaf hit-area + drowned-sea cache-safe image ===== */
/* The opened leaf's transparent rectangular box must not block the desktop header.
   Only the actual menu links remain clickable; clicks through transparent leaf areas
   can reach the header/navigation underneath. */
.member-hub.is-open .member-leaf-menu{pointer-events:none}
.member-hub.is-open .member-leaf-menu a.member-leaf-link,
.member-hub.is-open .member-leaf-menu .member-leaf-all{pointer-events:auto}


/* ===== v0.9.50: submarine route sea tabs ===== */
/* Reuse the My Page pill-tab visual language for the seven submarine seas. */
.orange-submarine-route-tabs{margin:20px 0 18px}
.orange-submarine-unlock-card[hidden]{display:none!important}

/* ===== v0.9.52: event trophies ===== */
.orange-event-trophy-editor{display:grid;gap:18px;margin:22px 0 24px;padding:20px;border:1px solid #e5cfad;border-radius:19px;background:#fff8eb}
.orange-event-trophy-editor[hidden]{display:none!important}
.orange-event-trophy-editor-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.orange-event-trophy-editor-heading p{margin:0 0 2px;color:#d9782f;font-size:10px;font-weight:900;letter-spacing:.18em}
.orange-event-trophy-editor-heading h3{margin:0;font-size:20px;color:#604a36}
.orange-event-trophy-editor-heading>small{max-width:360px;color:#8a7660;font-size:11px;line-height:1.6;text-align:right}
.orange-event-role-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.orange-event-role-field{min-width:0;margin:0;padding:14px;border:1px solid #e6d5bb;border-radius:15px;background:#fff}
.orange-event-role-field legend{padding:0 5px;font-weight:900;color:#644d38}
.orange-event-role-field>small{display:block;margin:0 0 9px;color:#917d68;font-size:10px}
.orange-event-member-checks{display:grid;gap:5px;max-height:220px;overflow:auto;padding-right:3px}
.orange-submit-card .orange-event-member-checks label{display:flex;align-items:center;gap:7px;margin:0;padding:7px 8px;border-radius:9px;background:#fffaf2;font-size:12px;font-weight:700;cursor:pointer}
.orange-event-member-checks input{margin:0;accent-color:#e98632}
.orange-event-trophy-note{margin:0;color:#806d58;font-size:12px;line-height:1.7}
.orange-trophy-upload-preview{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid #ead8bd;border-radius:14px;background:#fff}
.orange-trophy-upload-preview[hidden]{display:none!important}
.orange-trophy-upload-preview img{width:76px;height:104px;object-fit:contain}
.orange-trophy-upload-preview span{color:#786451;font-size:12px;word-break:break-all}

.event-trophy-section{margin:44px 0 0;padding:28px;border:1px solid #e2ccb0;border-radius:26px;background:linear-gradient(145deg,#fffdf8,#fbf0dc);box-shadow:7px 8px 0 rgba(100,72,43,.05)}
.event-trophy-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}
.event-trophy-heading .panel-label{margin:0 0 3px}.event-trophy-heading h2{margin:0;font-size:27px}
.event-trophy-heading>p{max-width:420px;margin:0;color:#7f6b57;font-size:13px;line-height:1.7;text-align:right}
.event-trophy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.event-trophy-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:center;min-height:176px;padding:16px;border:1px solid #e5d4ba;border-radius:19px;background:rgba(255,255,255,.78)}
.event-trophy-card>div{display:grid;gap:5px}.event-trophy-card>div strong{font-size:18px;color:#644c36}.event-trophy-card>div span{color:#8b7865;font-size:11px}

.orange-trophy-visual{position:relative;display:inline-block;width:112px;height:150px;overflow:visible;vertical-align:bottom}
.orange-trophy-base{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(91,61,34,.16))}
.orange-trophy-visual.is-winner::before,.orange-trophy-visual.is-winner::after{position:absolute;z-index:3;color:#fff6b7;line-height:1;text-shadow:0 0 5px #f4b648,0 0 11px rgba(244,182,72,.85);pointer-events:none;animation:orange-trophy-sparkle 1.7s ease-in-out infinite}
.orange-trophy-visual.is-winner::before{content:"✦";top:10%;right:-3%;font-size:25px}
.orange-trophy-visual.is-winner::after{content:"✧";top:39%;left:0;font-size:19px;animation-delay:.62s}
@keyframes orange-trophy-sparkle{0%,100%{opacity:.28;transform:scale(.72) rotate(-10deg)}50%{opacity:1;transform:scale(1.18) rotate(8deg)}}
.orange-trophy-glasses{position:absolute;z-index:4;top:12%;left:47.5%;width:62%;height:auto;transform:translateX(-50%);object-fit:contain;filter:grayscale(1) brightness(2.5);opacity:.94;pointer-events:none}

/* Replace the temporary diamond trophies with the actual event trophy art. */
.member-trophy-shelf{overflow:visible}
.member-trophy{position:relative!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;width:72px!important;height:104px!important;border:0!important;border-radius:0!important;background:none!important;color:inherit!important;box-shadow:none!important;overflow:visible!important}
.member-trophy .orange-trophy-visual{width:72px;height:104px}
.member-trophy:hover .orange-trophy-base,.member-trophy:focus-visible .orange-trophy-base{transform:translateY(-3px);filter:drop-shadow(0 7px 6px rgba(91,61,34,.22))}
.member-trophy .orange-trophy-base{transition:transform .18s,filter .18s}
.member-trophy-legacy{display:grid;place-items:center;width:58px;height:74px;border:1px solid #b97d2e;border-radius:40% 40% 14px 14px;background:linear-gradient(#f0c56d,#c98a35);color:#fff;font-size:24px;box-shadow:0 5px 0 #7d5636}
.mypage-room-preview .member-trophy-shelf.is-compact .member-trophy{width:42px!important;height:61px!important}
.mypage-room-preview .member-trophy-shelf.is-compact .member-trophy .orange-trophy-visual{width:42px;height:61px}
.mypage-room-preview .member-trophy-shelf.is-compact .orange-trophy-visual.is-winner::before{font-size:13px}.mypage-room-preview .member-trophy-shelf.is-compact .orange-trophy-visual.is-winner::after{font-size:10px}

@media(max-width:880px){
  .orange-event-role-columns,.event-trophy-grid{grid-template-columns:1fr}
  .event-trophy-card{grid-template-columns:92px minmax(0,1fr);min-height:140px}.event-trophy-card .orange-trophy-visual{width:88px;height:122px}
  .event-trophy-heading,.orange-event-trophy-editor-heading{align-items:flex-start;flex-direction:column;gap:8px}.event-trophy-heading>p,.orange-event-trophy-editor-heading>small{text-align:left}
}
@media(max-width:520px){
  .event-trophy-section{padding:20px 16px;border-radius:21px}.event-trophy-heading h2{font-size:23px}
  .event-trophy-card{padding:12px;grid-template-columns:78px minmax(0,1fr)}.event-trophy-card .orange-trophy-visual{width:74px;height:104px}
  .orange-event-trophy-editor{padding:15px}
}

/* ===== v0.9.54: quiz rooms / member utilities / hitokoto ===== */
.member-leaf-all{
  /* Align the dotted rule and edit link with the menu-card column, not the leaf edge. */
  left:28%;
  right:auto;
  width:46%;
  padding:7px 6px;
  text-align:right;
}
.desktop-member-dropdown-disabled{
  display:block;
  padding:9px 10px;
  border-radius:10px;
  color:#7d7164;
  opacity:.48;
  cursor:default;
}
.desktop-member-dropdown-disabled strong,.desktop-member-dropdown-disabled small{display:block}
.desktop-member-dropdown-disabled small{margin-top:2px;color:var(--muted);font-size:12px;font-weight:600}
.member-menu-card.is-disabled{
  padding-right:15px;
  background:#f8f3eb;
  opacity:.5;
  cursor:default;
}
.member-menu-card.is-disabled::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none}

.quiz-room-showcase{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.quiz-room-card{
  position:relative;
  margin:0;
  overflow:hidden;
  border:1px solid #e7d3b7;
  border-radius:18px;
  background:#fffaf1;
  box-shadow:5px 6px 0 rgba(104,77,48,.05);
}
.quiz-room-stage{
  position:relative;
  width:100%;
  aspect-ratio:1.9/1;
  overflow:hidden;
  background:#2d241f;
}
.quiz-room-door{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:#211a17;
  cursor:pointer;
  overflow:hidden;
}
.quiz-room-door>img,.quiz-room-interior>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.quiz-room-door>img{
  transition:transform .36s ease,filter .28s ease,opacity .28s ease;
  transform:scale(1.001);
}
.quiz-room-door::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(24,18,14,0);
  transition:background .3s ease;
  pointer-events:none;
}
.quiz-room-enter-hint{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  max-width:calc(100% - 24px);
  padding:5px 10px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(35,27,22,.52);
  color:#fffaf1;
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
  line-height:1.2;
  white-space:nowrap;
  opacity:.78;
  backdrop-filter:blur(3px);
  transition:opacity .2s ease,background .2s ease;
  pointer-events:none;
}
.quiz-room-enter-hint .is-mobile{display:none}
@media(hover:hover) and (pointer:fine){
  .quiz-room-door:hover>img{transform:scale(1.018);filter:brightness(1.035)}
  .quiz-room-door:hover .quiz-room-enter-hint{opacity:.96;background:rgba(35,27,22,.62)}
}
.quiz-room-door:focus-visible{outline:3px solid rgba(233,134,50,.5);outline-offset:-3px}
.quiz-room-card.is-entering .quiz-room-door>img{transform:scale(1.085);filter:brightness(.72);opacity:.68}
.quiz-room-card.is-entering .quiz-room-door::after{background:rgba(24,18,14,.28)}
.quiz-room-card.is-entering .quiz-room-enter-hint{opacity:0}
.quiz-room-card.is-open .quiz-room-door{display:none}
.quiz-room-interior{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.025);
}
.quiz-room-card.is-open .quiz-room-interior{
  opacity:1;
  transform:scale(1);
  animation:orange-quiz-room-enter .34s ease both;
}
@keyframes orange-quiz-room-enter{
  from{opacity:0;transform:scale(1.035);filter:brightness(.72)}
  to{opacity:1;transform:scale(1);filter:brightness(1)}
}
.quiz-room-card figcaption{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:64px;
  padding:10px 13px 11px;
}
.quiz-room-card figcaption>span{
  color:#b56c39;
  font-size:10px;
  font-weight:900;
  letter-spacing:.15em;
}
.quiz-room-card figcaption>div{text-align:right}
.quiz-room-card h3{margin:0;color:#5c4939;font-size:16px;line-height:1.25}
.quiz-room-card p{margin:2px 0 0;color:#8c7764;font-size:11px;font-weight:700}
.quiz-room-exit{
  min-height:0;
  margin-top:4px;
  padding:0;
  border:0;
  background:none;
  color:#9b7b62;
  font:inherit;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}
.quiz-room-exit:hover,.quiz-room-exit:focus-visible{color:#c36f35;text-decoration:underline}
.quiz-room-card.is-room-a{border-color:#e4c5bb}
.quiz-room-card.is-room-b{border-color:#c8cce4}
.quiz-thanks{line-height:2}
@media(max-width:640px){
  .quiz-room-showcase{grid-template-columns:1fr}
  .quiz-room-enter-hint .is-desktop{display:none}
  .quiz-room-enter-hint .is-mobile{display:inline}
}
@media(prefers-reduced-motion:reduce){
  .quiz-room-door>img,.quiz-room-door::after,.quiz-room-enter-hint{transition:none}
  .quiz-room-card.is-open .quiz-room-interior{animation:none;opacity:1;transform:none}
}

.hitokoto-page{max-width:980px;margin:0 auto}
.hitokoto-hero{padding-bottom:38px}
.hitokoto-chat{
  width:min(100% - 32px,860px);
  margin:24px auto 72px;
  overflow:hidden;
  border:1px solid #e4cfb3;
  border-radius:24px;
  background:#f2e8d7;
  box-shadow:7px 9px 0 rgba(95,71,45,.06);
}
.hitokoto-chat-list{
  max-height:620px;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:24px 22px 20px;
  scroll-behavior:smooth;
}
.hitokoto-message{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  gap:9px;
  margin:0 0 18px;
}
.hitokoto-message.is-owner{justify-content:flex-end}
.hitokoto-author-avatar{
  width:38px;
  height:38px;
  flex:0 0 38px;
  overflow:hidden;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,255,255,.78);
  border-radius:50%;
  background:#d8c7ad;
  color:#fff;
  font-size:13px;
  font-weight:900;
  box-shadow:0 2px 5px rgba(73,52,34,.08);
}
.hitokoto-author-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.hitokoto-message.is-owner .hitokoto-author-avatar{order:2;background:#d99152}
.hitokoto-message-main{min-width:0;max-width:min(72%,560px)}
.hitokoto-message.is-owner .hitokoto-message-main{display:flex;flex-direction:column;align-items:flex-end}
.hitokoto-author-line{display:flex;align-items:center;gap:7px;margin:0 0 4px;padding:0 3px}
.hitokoto-message.is-owner .hitokoto-author-line{justify-content:flex-end}
.hitokoto-author-line strong{color:#6b5947;font-size:12px;font-weight:800}
.hitokoto-new{
  display:inline-flex;
  align-items:center;
  min-height:17px;
  padding:1px 6px;
  border-radius:999px;
  background:#e98937;
  color:#fff;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}
.hitokoto-bubble{
  position:relative;
  width:fit-content;
  max-width:100%;
  padding:10px 13px;
  border:1px solid rgba(125,96,63,.09);
  border-radius:5px 15px 15px 15px;
  background:#fffdf8;
  box-shadow:0 2px 5px rgba(78,57,37,.04);
}
.hitokoto-bubble::before{
  content:"";
  position:absolute;
  left:-6px;
  top:9px;
  width:10px;
  height:10px;
  background:#fffdf8;
  border-left:1px solid rgba(125,96,63,.09);
  border-bottom:1px solid rgba(125,96,63,.09);
  transform:rotate(45deg);
}
.hitokoto-message.is-owner .hitokoto-bubble{
  border-radius:15px 5px 15px 15px;
  background:#f6c987;
  border-color:rgba(157,99,43,.08);
}
.hitokoto-message.is-owner .hitokoto-bubble::before{
  left:auto;
  right:-6px;
  background:#f6c987;
  border:0;
  border-top:1px solid rgba(157,99,43,.08);
  border-right:1px solid rgba(157,99,43,.08);
}
.hitokoto-bubble p{margin:0;color:#4f453b;font-size:14px;line-height:1.65;overflow-wrap:anywhere}
.hitokoto-meta{display:flex;align-items:center;gap:8px;margin-top:4px;padding:0 3px;color:#95836e;font-size:9px}
.hitokoto-message.is-owner .hitokoto-meta{justify-content:flex-end}
.hitokoto-meta form{margin:0}
.hitokoto-meta button{
  min-height:0;
  padding:0;
  border:0;
  background:none;
  color:#a18369;
  font:inherit;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:2px;
}
.hitokoto-empty{display:grid;place-items:center;gap:7px;min-height:260px;color:#9a856d;text-align:center}
.hitokoto-empty span{font-size:28px;letter-spacing:.15em}.hitokoto-empty p{margin:0;font-size:13px}
.hitokoto-composer{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
  padding:13px 14px;
  border-top:1px solid #e2ccb0;
  background:#fffaf1;
}
.hitokoto-composer textarea{
  width:100%;
  min-height:46px;
  max-height:120px;
  resize:none;
  padding:11px 13px;
  border:1px solid #ddc8ac;
  border-radius:15px;
  background:#fff;
  color:#4f4438;
  font:inherit;
  font-size:16px;
  line-height:1.5;
  outline:none;
}
.hitokoto-composer textarea:focus{border-color:#d88a49;box-shadow:0 0 0 3px rgba(216,138,73,.12)}
.hitokoto-composer button{
  min-width:72px;
  min-height:46px;
  padding:0 16px;
  border:0;
  border-radius:14px;
  background:#e98632;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}
.hitokoto-error{margin:0;padding:0 16px 13px;background:#fffaf1;color:#a75a48;font-size:12px}

@media(max-width:700px){
  .member-leaf-all{left:28%;right:auto;width:46%}
  .quiz-room-showcase{grid-template-columns:1fr;gap:11px}
  .quiz-room-card figcaption{padding:9px 11px}
  .hitokoto-chat{width:min(100% - 20px,860px);margin-top:14px;border-radius:18px}
  .hitokoto-chat-list{max-height:560px;padding:18px 12px 16px}
  .hitokoto-message{gap:7px;margin-bottom:16px}
  .hitokoto-author-avatar{width:34px;height:34px;flex-basis:34px}
  .hitokoto-message-main{max-width:78%}
  .hitokoto-bubble{padding:9px 11px}.hitokoto-bubble p{font-size:13px}
  .hitokoto-composer{gap:8px;padding:10px}
  .hitokoto-composer button{min-width:62px;padding:0 12px}
}

/* ===== v0.9.57: custom-menu footer alignment + submarine return rank log ===== */
.orange-submarine-log-list .orange-submarine-log-rank{
  display:block;
  margin:2px 0 1px;
  color:#a96b38;
  font-weight:800;
}

/* ===== v0.9.58: activity editor templates + event notice layout ===== */
.activity-article.is-event-notice .activity-article-header.is-event-notice-header{
  position:relative;
  overflow:hidden;
  margin-bottom:22px;
  padding:42px 30px 34px;
  border:1px solid #ead8bd;
  border-radius:28px;
  background:linear-gradient(145deg,#fffaf0 0%,#fff4da 100%);
  text-align:center;
}
.activity-article.is-event-notice .activity-article-header.is-event-notice-header::before,
.activity-article.is-event-notice .activity-article-header.is-event-notice-header::after{
  content:"";
  position:absolute;
  z-index:0;
  border-radius:999px;
  pointer-events:none;
  opacity:.42;
}
.activity-article.is-event-notice .activity-article-header.is-event-notice-header::before{
  width:170px;height:170px;left:-72px;top:-88px;background:#f2c97c;
}
.activity-article.is-event-notice .activity-article-header.is-event-notice-header::after{
  width:135px;height:135px;right:-58px;bottom:-70px;background:#a9c893;
}
.activity-article.is-event-notice .activity-article-header.is-event-notice-header > *{position:relative;z-index:1}
.activity-article.is-event-notice .activity-entry-meta{justify-content:center}
.activity-article.is-event-notice .activity-article-header .subpage-kicker{
  margin:10px 0 8px;
  color:#c46b35;
  font-size:12px;
  font-weight:400;
  letter-spacing:.16em;
}
.activity-article.is-event-notice .activity-article-header h1{
  max-width:760px;
  margin:0 auto;
  color:#59402e;
  font-size:clamp(36px,7vw,62px);
  line-height:1.1;
  letter-spacing:.02em;
}
.activity-article.is-event-notice .activity-author-line,
.activity-article.is-event-notice .activity-organizers{justify-content:center}
.activity-article.is-event-notice .activity-story{max-width:980px}
.orange-event-notice-body{display:grid;gap:24px}
.orange-event-notice-body > *{margin-top:0!important;margin-bottom:0!important}
.orange-event-notice-lead{
  max-width:720px;
  margin-inline:auto!important;
  text-align:center;
  color:#5f4b3c;
  font-size:17px;
}
.orange-event-notice-start{
  justify-self:center;
  padding:7px 16px;
  border:1px solid #efd8ae;
  border-radius:999px;
  background:#fffaf0;
  color:#a95d2e;
  font-weight:650;
}
.orange-event-notice-info{
  gap:12px!important;
  margin:0!important;
}
.orange-event-notice-info > .wp-block-column{
  min-width:0;
  padding:18px 14px;
  border:1px solid #eee0ca;
  border-radius:18px;
  background:#fff;
  text-align:center;
}
.orange-event-notice-info-label{
  margin:0 0 5px!important;
  color:#b17854;
  font-size:12px;
  font-weight:400;
  letter-spacing:.08em;
}
.orange-event-notice-info-value{
  margin:0!important;
  color:#5a402d;
  font-size:16px;
  font-weight:600;
}
.orange-event-notice-section{
  padding:26px;
  border:1px solid #eadcc7;
  border-radius:24px;
  background:#fffdf8;
}
.orange-event-notice-section > :first-child{margin-top:0}
.orange-event-notice-section > :last-child{margin-bottom:0}
.orange-event-notice-section h2{
  position:relative;
  margin-bottom:16px;
  padding-left:18px;
  color:#5a402d;
  font-size:22px;
}
.orange-event-notice-section h2::before{
  content:"";
  position:absolute;
  left:0;top:.2em;
  width:7px;height:1.2em;
  border-radius:99px;
  background:#e7a75b;
}
.orange-event-notice-prize{background:#fff9e8;border-color:#eedaa0}
.orange-activity-report-template > h2{margin-top:32px}
.orange-activity-report-template > h2:first-child{margin-top:0}

@media (max-width: 700px){
  .activity-article.is-event-notice .activity-article-header.is-event-notice-header{
    padding:32px 18px 28px;
    border-radius:22px;
  }
  .orange-event-notice-info{display:grid!important;grid-template-columns:1fr!important}
  .orange-event-notice-section{padding:20px 17px;border-radius:20px}
}

/* Block editor preview: keep the same event-notice visual language while editing. */
.editor-styles-wrapper .orange-event-notice-body{display:grid;gap:24px}
.editor-styles-wrapper .orange-event-notice-info{gap:12px}
.editor-styles-wrapper .orange-event-notice-info > .wp-block-column{
  padding:18px 14px;border:1px solid #eee0ca;border-radius:18px;background:#fff;text-align:center;
}
.editor-styles-wrapper .orange-event-notice-info-label{color:#b17854;font-size:12px;font-weight:400;letter-spacing:.08em;margin-bottom:5px}
.editor-styles-wrapper .orange-event-notice-info-value{color:#5a402d;font-weight:600;margin-top:0}
.editor-styles-wrapper .orange-event-notice-section{padding:22px;border:1px solid #eadcc7;border-radius:20px;background:#fffdf8}


/* ===== v0.9.59: natural shared ROOM background ===== */
.member-room-scene,
.mypage-room-preview-scene{
  background-color:#f7f2ea;
  background-image:url("assets/images/room/room-base-initial-v2.png");
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
}
.member-room-scene>.room-wall-left,
.member-room-scene>.room-wall-right,
.member-room-scene>.room-floor,
.mypage-room-preview-scene>.room-wall-left,
.mypage-room-preview-scene>.room-wall-right,
.mypage-room-preview-scene>.room-floor{
  display:none;
}

/* ===== v0.9.61: purchasable ROOM furniture editor ===== */
.member-room-title{z-index:30}
.room-profile-frame{z-index:25}
.member-room-owner-actions{gap:10px;flex-wrap:wrap}
.member-room-owner-actions .member-edit-button{font:700 14px/1.2 "Zen Maru Gothic",sans-serif;cursor:pointer;color:#6a5747}
.room-edit-toggle{border:1px solid #d9bb91;background:#fff5e5}
.room-placed-item{position:absolute;transform:translate(-50%,-50%) scale(var(--room-item-scale,1));transform-origin:center center;pointer-events:none;user-select:none;touch-action:none;line-height:0}
.room-placed-item img{display:block;width:100%;height:auto;max-width:none;pointer-events:none;filter:drop-shadow(0 5px 5px rgba(69,48,29,.12));transform-origin:center center}
.room-placed-item img.is-flipped{transform:scaleX(-1)}
.member-room-scene.is-room-editing .room-placed-item{pointer-events:auto;cursor:grab}
.member-room-scene.is-room-editing .room-placed-item.is-dragging{cursor:grabbing}
.member-room-scene.is-room-editing .room-placed-item::after{content:"";position:absolute;inset:-8px;border:1px dashed transparent;border-radius:12px;pointer-events:none}
.member-room-scene.is-room-editing .room-placed-item:hover::after,.member-room-scene.is-room-editing .room-placed-item.is-selected::after{border-color:#d88742;background:rgba(255,244,224,.08)}
.room-editor-panel{margin-top:16px;padding:22px;border:1px solid #dfc9aa;border-radius:22px;background:#fffdf8;box-shadow:6px 7px 0 rgba(108,78,48,.045)}
.room-editor-panel[hidden]{display:none!important}
.room-editor-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.room-editor-heading .panel-label{margin:0 0 3px}.room-editor-heading h3{margin:0 0 5px;font-size:22px}.room-editor-heading p:last-child{margin:0;color:#806f60;font-size:13px}.room-editor-heading>a{flex:0 0 auto;font-size:13px;font-weight:800;color:#9e673a;text-decoration:underline;text-underline-offset:3px}
.room-editor-inventory{display:flex;flex-wrap:wrap;gap:10px;overflow:visible;padding:3px 2px 10px}
.room-editor-inventory-item{flex:0 0 126px;display:grid;grid-template-rows:76px auto auto;gap:5px;align-items:center;padding:10px;border:1px solid #e2d1ba;border-radius:15px;background:#fffaf1;color:#55483d;font:inherit;text-align:left;cursor:pointer}
.room-editor-inventory-item>span{display:grid;place-items:center;height:76px;border-radius:11px;background:#f6eee2}.room-editor-inventory-item img{max-width:90%;max-height:68px;object-fit:contain}.room-editor-inventory-item strong{font-size:12px;line-height:1.45}.room-editor-inventory-item small{font-size:10px;color:#8e7a65}.room-editor-inventory-item:hover:not(:disabled){border-color:#d99958;background:#fff4e2}.room-editor-inventory-item:disabled{opacity:.45;cursor:not-allowed}
.room-editor-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding:12px 14px;border:1px solid #eadac4;border-radius:14px;background:#fff}.room-editor-controls[hidden]{display:none!important}.room-editor-controls>strong{font-size:13px}.room-editor-control-buttons{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.room-editor-control-buttons button{padding:7px 10px;border:1px solid #dcc6a7;border-radius:999px;background:#fffaf0;color:#695747;font:700 11px/1.2 "Zen Maru Gothic",sans-serif;cursor:pointer}.room-editor-control-buttons button:hover{background:#fff1dc}.room-editor-control-buttons .is-remove{border-color:#e5b9ad;color:#a55d4b;background:#fff7f3}
.room-editor-save{display:flex;justify-content:flex-end;margin-top:16px}.room-editor-save button{padding:11px 18px;border:1px solid #d77829;border-radius:999px;background:#e98632;color:#fff;font:700 13px/1 "Zen Maru Gothic",sans-serif;cursor:pointer}.room-editor-empty{margin:0;padding:16px;border:1px dashed #ddc8ab;border-radius:14px;background:#fff9ed;color:#806d58;font-size:13px}
@media(max-width:700px){.room-editor-heading{align-items:flex-start;flex-direction:column;gap:8px}.room-editor-inventory-item{flex-basis:112px}.room-editor-controls{align-items:flex-start;flex-direction:column}.room-editor-control-buttons{justify-content:flex-start}.room-editor-save button{width:100%}}
.room-editor-saved{margin:0 0 14px;padding:11px 14px;border:1px solid #d5e2ca;border-radius:13px;background:#f3f8ee;color:#5e764f;font-size:13px;font-weight:700}


/* ===== v0.9.64: soft warm ROOM light =====
 * Keep furniture and interactive elements crisp while adding a gentle,
 * Orange-like warm daylight atmosphere over the shared room background.
 */
.member-room-scene::before,
.mypage-room-preview-scene::before{
  content:"";
  position:absolute;
  inset:-4%;
  z-index:3;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 18% 12%,rgba(255,252,229,.42) 0%,rgba(255,239,196,.18) 26%,rgba(255,232,180,.06) 46%,transparent 68%),
    radial-gradient(ellipse at 52% 96%,rgba(255,218,153,.13) 0%,rgba(255,231,190,.05) 34%,transparent 64%);
  filter:blur(8px);
  opacity:.88;
  transform:scale(1.02);
  animation:orange-room-soft-light 8s ease-in-out infinite alternate;
}
.member-room-scene::after,
.mypage-room-preview-scene::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    linear-gradient(118deg,rgba(255,255,255,.11) 0%,rgba(255,250,232,.045) 24%,transparent 48%),
    radial-gradient(ellipse at 50% 46%,transparent 54%,rgba(90,58,31,.035) 100%);
  box-shadow:inset 0 0 58px rgba(94,60,32,.045);
}
@keyframes orange-room-soft-light{
  from{opacity:.76;transform:scale(1.015) translate3d(0,0,0)}
  to{opacity:.96;transform:scale(1.035) translate3d(.6%,-.35%,0)}
}
@media (prefers-reduced-motion:reduce){
  .member-room-scene::before,
  .mypage-room-preview-scene::before{animation:none;opacity:.88;transform:scale(1.02)}
}


/* ===== v0.9.65: fixed ROOM wall / floor / frame layers ===== */
.member-room-scene,
.mypage-room-preview-scene{
  background-color:#f7f2ea;
  background-image:none;
}
.room-fixed-layer{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  pointer-events:none;
  user-select:none;
  line-height:0;
}
.room-fixed-layer>img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:fill;
  object-position:center center;
  pointer-events:none;
}
.room-fixed-floor{z-index:1}
.room-fixed-wall{z-index:2}
.room-fixed-frame{z-index:10}
.mypage-room-preview-scene .room-fixed-frame{z-index:10}
.mypage-room-furnishings{position:absolute;inset:0;z-index:5;pointer-events:none}
.mypage-room-furnishings .room-placed-item{pointer-events:none}

.room-editor-fixed-sections{display:grid;gap:16px;margin-bottom:18px}
.room-editor-part-section{padding:15px;border:1px solid #ead9c2;border-radius:17px;background:#fffaf2}
.room-editor-part-section.is-furniture{margin-top:4px}
.room-editor-part-heading{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.room-editor-part-heading>strong{font-size:14px;color:#58483a}
.room-editor-part-heading>small{font-size:11px;color:#99816b}
.room-editor-fixed-item.is-active{border-color:#e18a43;background:#fff1dc;box-shadow:inset 0 0 0 1px rgba(225,138,67,.18)}
.room-editor-fixed-item.is-active>small{color:#b5672e;font-weight:800}
.room-editor-fixed-item:disabled:not(.is-active){opacity:.42}

@media(max-width:700px){
  .room-editor-fixed-sections{gap:12px}
  .room-editor-part-section{padding:12px}
  .room-editor-part-heading{align-items:flex-start;flex-direction:column;gap:2px}
}

/* ===== v0.9.67: live My Page ROOM + eight-item submarine return input ===== */
/* Keep the My Page preview on the exact same layer stack as the public ROOM. */
.mypage-room-preview-scene .room-fixed-floor{z-index:1}
.mypage-room-preview-scene .room-fixed-wall{z-index:2}
.mypage-room-preview-scene::before,
.mypage-room-preview-scene::after{z-index:3}
.mypage-room-preview-scene .room-fixed-frame{z-index:10}
.mypage-room-preview-scene .mypage-room-furnishings{z-index:auto}
.mypage-room-preview-scene .mypage-room-user,
.mypage-room-preview-scene .mypage-room-logout{z-index:12}
.mypage-room-preview-scene .mypage-room-link{z-index:13}

.orange-submarine-loot-help{margin:-3px 0 2px;color:#85715d;font-size:12px}
.orange-submarine-loot-fixed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.orange-submarine-loot-fixed-item{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:12px;padding:11px 12px;border:1px solid #e1cfb5;border-radius:14px;background:#fffaf2}
.orange-submarine-loot-fixed-name{display:grid;gap:2px;min-width:0}
.orange-submarine-loot-fixed-name strong{font-size:13px;line-height:1.4;color:#57493c}
.orange-submarine-loot-fixed-name small{color:#a06b3d;font-size:11px;font-weight:700}
.orange-submarine-loot-fixed-item label{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px}
.orange-submarine-loot-fixed-item input{width:100%;min-height:44px;padding:8px 10px;border:1px solid #dec9ad;border-radius:11px;background:#fff;color:#4e4337;font:inherit;text-align:right}
.orange-submarine-loot-fixed-item label span{font-size:12px;font-weight:700;color:#746252}
@media(max-width:760px){.orange-submarine-loot-fixed-grid{grid-template-columns:1fr}}
@media(max-width:480px){.orange-submarine-loot-fixed-item{grid-template-columns:minmax(0,1fr) 96px;gap:8px;padding:10px}}



/* ===== v0.9.68: compact one-line submarine salvage quantities ===== */
.orange-submarine-loot-fixed-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px}
.orange-submarine-loot-fixed-name{display:flex;align-items:baseline;gap:5px;min-width:0;white-space:nowrap}
.orange-submarine-loot-fixed-name strong{font-size:12px;line-height:1.3;white-space:nowrap}
.orange-submarine-loot-fixed-name small{font-size:10px;line-height:1.2;white-space:nowrap}
.orange-submarine-loot-fixed-item label{display:flex;align-items:center;gap:5px;flex:0 0 auto;white-space:nowrap}
.orange-submarine-loot-fixed-item input{width:64px;min-height:34px;padding:5px 7px}
.orange-submarine-loot-fixed-item label span{white-space:nowrap}
@media(max-width:480px){
  .orange-submarine-loot-fixed-item{gap:7px;padding:8px}
  .orange-submarine-loot-fixed-name{gap:3px}
  .orange-submarine-loot-fixed-name strong{font-size:11px}
  .orange-submarine-loot-fixed-name small{font-size:9px}
  .orange-submarine-loot-fixed-item input{width:54px;min-height:32px;padding:4px 6px}
}


/* ===== v0.9.69: submarine return form modal ===== */
.orange-submarine-return-open{
  padding:8px 11px;
  border:1px solid #d9b789;
  border-radius:999px;
  background:#f7dec0;
  color:#8d5427;
  font:inherit;
  font-size:16px;
  font-weight:800;
  line-height:1.2;
  cursor:pointer;
}
.orange-submarine-return-open:hover{filter:brightness(.985);transform:translateY(-1px)}
.orange-submarine-return-modal[hidden]{display:none!important}
.orange-submarine-return-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:24px;
}
.orange-submarine-return-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(70,48,31,.38);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  cursor:default;
}
.orange-submarine-return-dialog{
  position:relative;
  z-index:1;
  width:min(840px,100%);
  max-height:calc(100dvh - 48px);
  overflow:auto;
  padding:0 24px 24px;
  border:1px solid #dfc9aa;
  border-radius:24px;
  background:#fffdf8;
  box-shadow:0 24px 70px rgba(66,43,25,.28);
  overscroll-behavior:contain;
}
.orange-submarine-return-dialog-head{
  position:sticky;
  top:0;
  z-index:3;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin:0 -24px 18px;
  padding:21px 24px 16px;
  border-bottom:1px solid #eadcc8;
  background:rgba(255,253,248,.97);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.orange-submarine-return-dialog-head .panel-label{margin:0 0 4px;color:var(--orange);letter-spacing:.14em}
.orange-submarine-return-dialog-head h3{margin:0;color:#57493c;font-size:22px;line-height:1.35}
.orange-submarine-return-close{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid #dfccb0;
  border-radius:999px;
  background:#fffaf1;
  color:#735f4b;
  font:700 24px/1 sans-serif;
  cursor:pointer;
}
.orange-submarine-return-dialog>.orange-submarine-form{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.orange-submarine-return-dialog .orange-submarine-loot-fixed-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.orange-submarine-return-dialog .orange-submarine-loot-fixed-item{
  min-width:0;
}
.orange-submarine-return-dialog .orange-submarine-loot-fixed-name{
  overflow:visible;
}
.orange-submarine-return-dialog .orange-submarine-loot-fixed-name strong,
.orange-submarine-return-dialog .orange-submarine-loot-fixed-name small{
  flex:0 0 auto;
}
body.orange-submarine-modal-open{overflow:hidden}

@media(max-width:780px){
  .orange-submarine-return-modal{padding:14px}
  .orange-submarine-return-dialog{max-height:calc(100dvh - 28px);padding:0 17px 20px;border-radius:20px}
  .orange-submarine-return-dialog-head{margin:0 -17px 16px;padding:17px 17px 14px}
  .orange-submarine-return-dialog-head h3{font-size:19px}
  .orange-submarine-return-dialog .orange-submarine-loot-fixed-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .orange-submarine-return-modal{padding:8px}
  .orange-submarine-return-dialog{max-height:calc(100dvh - 16px)}
  .orange-submarine-return-dialog .orange-submarine-return-meta{grid-template-columns:1fr}
}


/* ===== v0.9.70: cart / inventory discard / fixed frame layers ===== */
.member-item-discard-form{position:absolute;top:5px;right:5px;z-index:4;margin:0}.member-item-discard{display:grid;place-items:center;width:25px;height:25px;padding:0;border:1px solid rgba(151,91,72,.28);border-radius:50%;background:rgba(255,250,245,.94);color:#9d5d4b;font:800 15px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 2px 5px rgba(78,57,39,.08)}.member-item-discard:hover{background:#fff0eb;border-color:#c98168}.member-item-bag.is-compact .member-item-discard-form{display:none}
.orange-shop-cart-strip{display:flex;justify-content:flex-end;margin:18px 0 10px}.orange-shop-cart-open{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border:1px solid #d88a46;border-radius:999px;background:#fff7eb;color:#7e5636;font:700 13px/1 "Zen Maru Gothic",sans-serif;cursor:pointer}.orange-shop-cart-open span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#e98632;color:#fff;font-size:11px}.orange-shop-modal-open{overflow:hidden}.orange-shop-cart-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px}.orange-shop-cart-modal[hidden]{display:none!important}.orange-shop-cart-backdrop{position:absolute;inset:0;background:rgba(70,53,38,.46);backdrop-filter:blur(2px)}.orange-shop-cart-dialog{position:relative;z-index:1;width:min(720px,calc(100vw - 28px));max-height:min(82vh,760px);overflow:auto;padding:24px;border:1px solid #e1ccb0;border-radius:24px;background:#fffdf8;box-shadow:0 24px 70px rgba(57,39,24,.25)}.orange-shop-cart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.orange-shop-cart-head .panel-label{margin:0 0 3px}.orange-shop-cart-head h2{margin:0}.orange-shop-cart-close{width:36px;height:36px;border:1px solid #ddc7aa;border-radius:50%;background:#fff8ed;color:#6e5845;font:700 20px/1 Arial,sans-serif;cursor:pointer}.orange-shop-cart-items{display:grid;gap:9px}.orange-shop-cart-item{display:grid;grid-template-columns:58px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px;border:1px solid #eadbc7;border-radius:14px;background:#fff}.orange-shop-cart-thumb{display:grid;place-items:center;width:58px;height:58px;overflow:hidden;border-radius:10px;background:#f7efe4}.orange-shop-cart-thumb img{width:100%;height:100%;object-fit:contain}.orange-shop-cart-copy{display:grid;gap:2px;min-width:0}.orange-shop-cart-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.orange-shop-cart-copy small{color:#8d7762;font-size:11px}.orange-shop-cart-qty{display:flex;align-items:center;gap:7px}.orange-shop-cart-qty button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #dcc8ae;border-radius:50%;background:#fff9ef;color:#6d5845;cursor:pointer}.orange-shop-cart-qty button:disabled{opacity:.35;cursor:not-allowed}.orange-shop-cart-qty span{min-width:20px;text-align:center;font-size:12px;font-weight:800}.orange-shop-cart-remove{border:0;background:transparent;color:#a36352;text-decoration:underline;text-underline-offset:2px;font:700 11px/1.2 "Zen Maru Gothic",sans-serif;cursor:pointer}.orange-shop-cart-empty{margin:22px 0;text-align:center;color:#8c7863}.orange-shop-cart-summary{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:16px;border-top:1px solid #eadbc7}.orange-shop-cart-summary strong{font-size:22px;color:#b56428}.orange-shop-cart-balance-warning{margin:10px 0 0;color:#a45d48;font-size:12px;font-weight:700}.orange-shop-checkout{width:100%;margin-top:15px;padding:13px 18px;border:1px solid #d77829;border-radius:999px;background:#e98632;color:#fff;font:700 14px/1 "Zen Maru Gothic",sans-serif;cursor:pointer}.orange-shop-checkout:disabled{border-color:#d7c9b7;background:#d9d0c5;color:#fff;cursor:not-allowed}
@media(max-width:560px){.orange-shop-cart-dialog{padding:18px;border-radius:20px}.orange-shop-cart-item{grid-template-columns:48px minmax(0,1fr) auto;gap:9px}.orange-shop-cart-thumb{width:48px;height:48px}.orange-shop-cart-qty{grid-column:2}.orange-shop-cart-remove{grid-column:3;grid-row:2}.orange-shop-cart-copy strong{font-size:12px}}


/* ===== v0.9.150: My Page ROOM furniture uses true image-center coordinates ===== */

/* The furniture image CENTER is the only movement boundary point.
 * Half of an item may extend beyond any ROOM edge; the scene clips the overflow. */
.room-placed-item{
  transform:translate(-50%,-50%) scale(var(--room-item-scale,1));
  transform-origin:center center;
}
.room-placed-item img{transform-origin:center center}

/* My Page preview: remove the old ROOM link and use the recovered lower space. */
.mypage-room-items{bottom:16px}
.mypage-room-trophies{bottom:18px}
.mypage-room-user{padding-right:9px}
.mypage-room-edit-icon{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:34px;
  height:34px;
  margin-left:2px;
  border:1px solid #dec8aa;
  border-radius:50%;
  background:#fffaf0;
  color:#a35f2f;
  text-decoration:none;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.mypage-room-edit-icon:hover{background:#fff0d9;border-color:#d79a62;transform:translateY(-1px)}
.mypage-room-edit-icon svg{width:17px;height:17px;fill:currentColor}
@media(max-width:700px){
  .mypage-room-items{bottom:14px}
  .mypage-room-trophies{bottom:15px}
  .mypage-room-edit-icon{width:30px;height:30px}
  .mypage-room-edit-icon svg{width:15px;height:15px}
}

/* Full ROOM editing lives inside My Page. */
.mypage-room-edit-mode{margin:0 0 34px}
.mypage-full-room{margin-top:0}
.room-editor-workspace{position:relative}
.room-editor-floating-controls{
  margin:12px 0 0;
  box-shadow:0 7px 18px rgba(85,61,38,.07);
}
.room-editor-control-buttons .is-save{
  border-color:#d77829;
  background:#e98632;
  color:#fff;
}
.room-editor-control-buttons .is-save:hover{background:#d97828}
.room-editor-panel{margin-top:14px}
.room-editor-genre-tabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  margin:0 0 15px;
  padding:2px 2px 6px;
}
.room-editor-genre-tabs::-webkit-scrollbar{display:none}
.room-editor-genre-tabs button{
  flex:0 0 auto;
  min-height:38px;
  padding:8px 16px;
  border:1px solid #dfc9aa;
  border-radius:999px;
  background:#fffaf0;
  color:#6f5a48;
  font:700 12px/1 "Zen Maru Gothic",sans-serif;
  cursor:pointer;
}
.room-editor-genre-tabs button.is-active{
  border-color:#e28d48;
  background:#f8dfc3;
  color:#995b2b;
}
.room-editor-genre-panel[hidden]{display:none!important}
.room-editor-genre-panel{display:grid;gap:12px}
.room-editor-genre-panel .room-editor-part-section{margin:0}
.room-editor-heading p strong{font-weight:700;color:#695848}
@media(max-width:700px){
  .room-editor-floating-controls{padding:10px 11px}
  .room-editor-floating-controls>strong{width:100%}
  .room-editor-control-buttons{width:100%;gap:6px}
  .room-editor-control-buttons button{padding:7px 9px}
  .room-editor-control-buttons .is-save{margin-left:auto}
}

/* Member ROOM is a view/confirmation page; editing happens through direct My Page links. */
.member-room-owner-actions{margin-top:12px;margin-bottom:0}
.member-room-owner-actions + .member-trophy-section{margin-top:24px}
.member-inventory-section .member-item-bag.is-readonly{overflow:hidden}
.member-inventory-section .member-item-bag.is-readonly .member-item-grid{
  display:flex;
  grid-template-columns:none;
  gap:10px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  padding:2px 2px 7px;
}
.member-inventory-section .member-item-bag.is-readonly .member-item-grid::-webkit-scrollbar{display:none}
.member-inventory-section .member-item-bag.is-readonly .member-item-slot{
  flex:0 0 88px;
  width:88px;
  min-height:88px;
}
@media(max-width:560px){
  .member-room-owner-actions + .member-trophy-section{margin-top:20px}
  .member-inventory-section .member-item-bag.is-readonly .member-item-slot{flex-basis:72px;width:72px;min-height:72px}
}

/* Shared horizontal-scroll hint: fade the edge instead of showing a hard-clipped next card/tag. */
.orange-scroll-fade-active{
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  transition:-webkit-mask-image .12s ease,mask-image .12s ease;
}
.orange-scroll-fade-active::-webkit-scrollbar{display:none}
.orange-scroll-fade-active.has-scroll-right:not(.has-scroll-left){
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 34px),transparent 100%);
  mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 34px),transparent 100%);
}
.orange-scroll-fade-active.has-scroll-left:not(.has-scroll-right){
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34px,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 34px,#000 100%);
}
.orange-scroll-fade-active.has-scroll-left.has-scroll-right{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34px,#000 calc(100% - 34px),transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 34px,#000 calc(100% - 34px),transparent 100%);
}
@media (hover:hover) and (pointer:fine) and (min-width:901px){
  .orange-scroll-fade-active.is-hovering-scroll-right{cursor:e-resize}
  .orange-scroll-fade-active.is-hovering-scroll-left{cursor:w-resize}
}

/* Top INFORMATION: give mobile date/title one full-width-character worth of breathing room. */
@media(max-width:700px){
  .notice-list-row time,
  .notice-list-row strong{margin-left:1em}
}

/* Compact repeated cards without shrinking the artwork more than necessary. */
.orange-shop-card-body{min-height:0;padding:13px 14px 14px}
.orange-shop-card-footer{margin-top:12px;padding-top:0}
.orange-shop-category{margin-bottom:6px}
.orange-shop-card h3{margin-bottom:5px;font-size:16px}
.orange-shop-description{font-size:12px;line-height:1.6}
.orange-shop-price{font-size:19px}
.orange-shop-product-image{width:68%;height:68%;max-width:68%;max-height:68%}
.member-card-copy{padding:13px 15px 15px}
.member-card-copy h3{margin-bottom:6px;font-size:18px}
.member-card-arrow{right:13px;bottom:12px}

@media(max-width:760px){
  .orange-shop-card-body{min-height:0;padding:11px}
  .orange-shop-card-footer{margin-top:9px;padding-top:0;gap:6px}
  .orange-shop-card h3{font-size:14px;line-height:1.4}
  .orange-shop-category{padding:3px 7px;font-size:9px}
  .orange-shop-price{font-size:17px}
  .orange-shop-buy{min-width:0;padding:8px 9px;font-size:10px}
  .orange-shop-product-image{width:76%;height:76%;max-width:76%;max-height:76%}
}
@media(max-width:560px){
  .member-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .member-card-copy{padding:10px 11px 12px}
  .member-card-copy h3{font-size:15px;line-height:1.35}
  .member-card-job{font-size:11px}
  .member-card-arrow{right:9px;bottom:8px;font-size:16px}
}
@media(max-width:430px){
  .orange-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .orange-shop-card{border-radius:17px}
  .orange-shop-card-footer{flex-direction:column;align-items:stretch}
  .orange-shop-buy{width:100%}
}

/* ===== v0.9.72: compact 5-column cards, ordered ROOM layers, gallery modal ===== */

/* Desktop member/shop cards: five across with tighter whitespace. */
.member-card-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.member-card-copy{padding:11px 12px 13px}
.member-card-copy h3{margin-bottom:5px;font-size:16px}
.member-card-job{gap:6px;font-size:12px}.member-card-job img{width:24px;height:24px}.member-card-arrow{right:10px;bottom:9px;font-size:16px}
.orange-shop-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.orange-shop-card-body{padding:11px 12px 12px}.orange-shop-card-footer{margin-top:9px}.orange-shop-card h3{font-size:15px}.orange-shop-product-image{width:72%;height:72%;max-width:72%;max-height:72%}
@media(max-width:1100px){.member-card-grid,.orange-shop-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:880px){.member-card-grid,.orange-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.member-card-grid,.orange-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media(max-width:560px){.member-card-grid,.orange-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Fix the mobile shop search flex-basis that was reserving a tall empty block. */
@media(max-width:760px){
  .orange-shop-search{flex:0 0 auto;width:100%;max-width:none}
  .orange-shop-sort{flex:0 0 auto;width:100%}
}

/* New product marker. */
.orange-shop-image{position:relative}
.orange-shop-new{position:absolute;z-index:3;top:9px;left:9px;display:inline-grid;place-items:center;min-width:44px;padding:5px 9px;border-radius:999px;background:#e98632;color:#fff!important;font:800 10px/1 "Zen Maru Gothic",sans-serif;letter-spacing:.08em;box-shadow:0 3px 9px rgba(91,58,30,.14)}

/* Inventory thumbnails always show the whole original aspect ratio. */
.member-item-slot img{width:auto;height:auto;max-width:82%;max-height:82%;object-fit:contain;object-position:center}

/* Route-unlock maps were visually dominant; show them at about half the former size. */
.orange-submarine-unlock-map{width:min(100%,310px);max-height:310px}

/* Ordered ROOM stack: wall/floor stay behind, furniture + frames use inline 11..60 order. */
.room-fixed-frame{z-index:auto}
.mypage-room-preview-scene .room-fixed-frame{z-index:var(--orange-room-z,10)}
.mypage-room-preview-scene .mypage-room-furnishings{z-index:auto!important}
.mypage-room-furnishings{z-index:auto}
.member-room-title,.room-profile-frame{z-index:100}
.room-fixed-frame.is-editable.is-selected{outline:3px dashed rgba(226,137,67,.8);outline-offset:-5px}
.room-editor-control-buttons button:disabled{opacity:.38;cursor:not-allowed}
.room-editor-save button[hidden]{display:none!important}
.mypage-room-view-link{display:inline-flex;align-items:center;margin-left:10px;padding:6px 10px;border:1px solid #dfc8a8;border-radius:999px;background:#fffaf0;color:#8a5d37;font-size:11px;font-weight:800;text-decoration:none;pointer-events:auto;white-space:nowrap}
.mypage-room-view-link:hover{background:#fff0d9;border-color:#d99a62}
@media(max-width:560px){.mypage-room-view-link{margin-left:4px;padding:5px 8px;font-size:10px}}

/* First-stage album gallery: ten photos per page, then the existing photo viewer above it. */
.album-gallery-modal{position:fixed;z-index:9000;inset:0;display:grid;place-items:center;padding:20px}
.album-gallery-backdrop{position:absolute;inset:0;border:0;background:rgba(51,38,27,.7);backdrop-filter:blur(2px)}
.album-gallery-panel{position:relative;z-index:1;width:min(980px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;padding:22px;border:1px solid #ead6b8;border-radius:24px;background:#fffaf0;box-shadow:0 24px 70px rgba(57,39,24,.25)}
.album-gallery-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.album-gallery-heading .panel-label{margin:0 0 3px}.album-gallery-heading h2{margin:0;color:#4e4337}.album-gallery-heading p:last-child{margin:4px 0 0;color:#8a7664;font-size:12px}
.album-gallery-close{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border:1px solid #ddc7aa;border-radius:50%;background:#fffdf8;color:#6d5845;font:700 22px/1 Arial,sans-serif;cursor:pointer}
.album-gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.album-gallery-thumb{aspect-ratio:1/1;overflow:hidden;padding:0;border:1px solid #e4d1b7;border-radius:14px;background:#f5ecdf;cursor:pointer}.album-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .15s ease}.album-gallery-thumb:hover img{transform:scale(1.025)}
.album-gallery-pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px}.album-gallery-pager button{padding:9px 15px;border:1px solid #ddc7aa;border-radius:999px;background:#fffdf8;color:#765e49;font:700 12px/1 "Zen Maru Gothic",sans-serif;cursor:pointer}.album-gallery-pager button:disabled{opacity:.35;cursor:not-allowed}.album-gallery-pager span{min-width:54px;text-align:center;color:#7f6b59;font-size:12px;font-weight:800}
.photo-viewer{z-index:9100}
@media(max-width:700px){.album-gallery-modal{padding:10px}.album-gallery-panel{width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:16px;border-radius:19px}.album-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.album-gallery-heading h2{font-size:20px}}



/* ===== v0.9.73: responsive room, inventory groups, header stacking ===== */
.site-header{z-index:1100!important;overflow:visible!important}.desktop-member-menu{position:relative;z-index:1200}.desktop-member-dropdown{z-index:1300!important}.member-hub{z-index:1050}.mypage-room-view-link,.room-editor-floating-controls{z-index:20}
.brand-copy{display:inline-flex;gap:.28em;align-items:center;white-space:nowrap}.brand-copy>span{display:inline-block}
.site-admin-shortcut{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border:1px solid #dfc6a5;border-radius:999px;background:#fff8ed;color:#795b3d;font-size:12px;font-weight:800;white-space:nowrap}
@media(max-width:1180px){.brand-ff14{display:none}}
@media(max-width:1040px){.brand-fc{display:none}}
@media(max-width:930px){.brand-orange{display:none}.brand-copy{display:none}}
.room-editor-inventory{width:100%;align-items:stretch}.room-editor-inventory-item{flex:0 0 126px}.room-editor-genre-panel,.room-editor-part-section{min-width:0}
@media(max-width:700px){.room-editor-inventory-item{flex:0 0 calc(50% - 5px);max-width:160px}}
.mypage-room-preview-scene .room-fixed-frame{z-index:10}.mypage-room-preview-scene .mypage-room-user,.mypage-room-preview-scene .mypage-room-logout,.mypage-room-preview-scene .mypage-room-items,.mypage-room-preview-scene .mypage-room-trophies,.mypage-room-preview-scene .mypage-room-link{position:absolute;z-index:100!important}
.mypage-inventory-groups{display:grid;gap:22px}.mypage-inventory-group h3{margin:0 0 10px;font-size:16px;color:#76583d}.mypage-inventory-group .member-item-bag{margin:0}.mypage-inventory-group .member-item-grid{display:flex;flex-wrap:wrap;gap:12px}.mypage-inventory-group .member-item-slot{flex:0 0 112px}
.achievement-list{display:grid;gap:10px}.achievement-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:13px 14px;border:1px solid #ead9c2;border-radius:14px;background:#fffaf2}.achievement-row.is-achieved{background:#fff5e6}.achievement-mark{font-weight:900}.achievement-points{font-weight:800;color:#b66b32}.achievement-row small{display:block;color:#8b7561;margin-top:2px}
.orange-shop-bundle{margin:8px 0 4px}.orange-shop-bundle>strong{display:block;font-size:11px;margin-bottom:5px}.orange-shop-bundle>div{display:flex;gap:5px;flex-wrap:wrap}.orange-shop-bundle span{width:52px}.orange-shop-bundle img{display:block;width:48px;height:48px;object-fit:contain;border-radius:9px;background:#fff}.orange-shop-bundle small{display:block;font-size:8px;line-height:1.2;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.community-finder-button{display:inline-flex;margin-top:10px;padding:10px 16px;border-radius:999px;background:#e98531;color:#fff!important;font-weight:800;text-decoration:none}


/* ===== v0.9.74: light correction batch ===== */
/* Point passbook: remove the decorative center fold behind the ledger. */
.orange-point-book-pages{background:#fffdf8!important}

/* Home slider arrows: CSS-drawn chevrons stay optically centered regardless of font metrics. */
.home-slider-arrow{font-size:0!important;line-height:0}
.home-slider-arrow::before{content:"";position:absolute;left:50%;top:calc(50% + 1px);width:11px;height:11px;border-top:2px solid currentColor;border-right:2px solid currentColor;box-sizing:border-box;transform-origin:50% 50%}
.home-slider-arrow.is-prev::before{transform:translate(-50%,-50%) rotate(-135deg)}
.home-slider-arrow.is-next::before{transform:translate(-50%,-50%) rotate(45deg)}
@media(max-width:900px){.home-slider-arrow::before{width:9px;height:9px}}

/* Front-end member diary editing. */
.activity-edit-link{display:inline-flex;align-items:center;justify-content:center;margin-top:14px;margin-right:8px;padding:7px 13px;border:1px solid #ddc8aa;border-radius:999px;background:#fffaf1;color:#805b38;font-size:12px;font-weight:800;text-decoration:none}
.activity-edit-link:hover{background:#fff0d9;border-color:#d99a62;color:#744d2d}
.orange-submit-editing-note{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;padding:12px 15px;border:1px solid #e1c69e;border-radius:14px;background:#fff4df;color:#6f543a}
.orange-submit-editing-note strong{font-size:13px}.orange-submit-editing-note span{font-size:11px;color:#8a745d}
@media(max-width:560px){.orange-submit-editing-note{align-items:flex-start;flex-direction:column;gap:3px}}


/* ===== v0.9.75: room bulk tidy + slider optical centering ===== */
.room-editor-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.room-editor-clear-furniture{appearance:none;border:1px solid #dfc3a1;border-radius:999px;background:#fff7e9;color:#855a35;padding:8px 13px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.room-editor-clear-furniture:hover{background:#ffecd2;border-color:#d99a62}
.room-editor-clear-furniture:focus-visible{outline:3px solid rgba(231,148,74,.28);outline-offset:2px}
@media(max-width:700px){.room-editor-heading-actions{justify-content:flex-start;width:100%}}


/* ===== v0.9.76: shop pagination ===== */
.orange-shop-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin:24px 0 0;flex-wrap:wrap}
.orange-shop-pagination[hidden]{display:none!important}
.orange-shop-pagination button{min-width:42px;min-height:42px;padding:8px 13px;border:1px solid #dfcdb3;border-radius:999px;background:#fffaf1;color:#6e5b49;font:inherit;font-weight:700;cursor:pointer}
.orange-shop-pagination button:hover:not(:disabled){background:#fff3de;border-color:#d9b789}
.orange-shop-pagination button.is-active{background:#e98632;border-color:#e98632;color:#fff}
.orange-shop-pagination button:disabled{opacity:.4;cursor:default}
.orange-shop-page-numbers{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:center}
@media(max-width:560px){.orange-shop-pagination{gap:7px}.orange-shop-pagination button{min-width:38px;min-height:38px;padding:7px 10px;font-size:13px}}

/* ===== v0.9.77: member postbox + item exchange ===== */
.member-hub .member-button{position:relative}
.member-notification-badge{position:absolute;z-index:8;top:-7px;right:-8px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border:2px solid #fffaf0;border-radius:999px;background:#d95f52;color:#fff;font:800 10px/1 Arial,sans-serif;box-shadow:0 2px 5px rgba(93,48,39,.18)}
.member-inventory-exchange-hint{display:inline-flex;align-items:center;margin-left:auto;color:#9a7451;font-size:12px;font-weight:700}
.mypage-inventory-groups.is-trade-inventory .member-item-slot.is-tradeable,.orange-trade-offer{appearance:none;-webkit-appearance:none;padding:0;font:inherit;cursor:pointer}
.member-item-slot.is-tradeable{transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.member-item-slot.is-tradeable:hover,.member-item-slot.is-tradeable:focus-visible{transform:translateY(-2px);border-color:#d99961;box-shadow:0 6px 14px rgba(108,74,42,.11);outline:none}
.member-item-slot.is-tradeable::after{content:"交換";position:absolute;left:7px;bottom:7px;padding:3px 7px;border-radius:999px;background:rgba(233,134,50,.9);color:#fff;font-size:9px;font-weight:800;letter-spacing:.04em}
.orange-trade-modal[hidden]{display:none!important}.is-trade-modal-open{overflow:hidden}
.orange-trade-modal{position:fixed;z-index:5000;inset:0;display:grid;place-items:center;padding:22px}
.orange-trade-backdrop{position:absolute;inset:0;border:0;background:rgba(65,50,38,.52);cursor:pointer}
.orange-trade-dialog{position:relative;z-index:1;width:min(920px,100%);max-height:min(88vh,900px);overflow:auto;padding:30px;border:1px solid #dfc8aa;border-radius:28px;background:#fffaf0;box-shadow:0 22px 70px rgba(63,47,34,.24)}
.orange-trade-dialog>h2{margin:4px 0 5px;font-size:clamp(23px,3vw,31px)}.orange-trade-to{margin:0 0 20px;color:#7f6d5b}
.orange-trade-close{position:absolute;top:17px;right:18px;display:grid;place-items:center;width:36px;height:36px;border:1px solid #ddc8ac;border-radius:50%;background:#fff;color:#765c46;font:700 22px/1 Arial;cursor:pointer}
.orange-trade-summary{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin:18px 0 24px;padding:20px;border-radius:22px;background:#f7ead6}
.orange-trade-selected-card{display:grid;grid-template-columns:82px 1fr;grid-template-rows:auto auto;align-items:center;gap:3px 14px;min-width:0}.orange-trade-selected-card>span{grid-column:2;color:#92785f;font-size:11px;font-weight:800}.orange-trade-selected-card>div{grid-row:1/3;display:grid;place-items:center;width:82px;height:82px;border:1px solid #e3d1b8;border-radius:16px;background:#fffdf8}.orange-trade-selected-card>div img{max-width:82%;max-height:82%;object-fit:contain}.orange-trade-selected-card>strong{grid-column:2;font-size:15px;overflow:hidden;text-overflow:ellipsis}.orange-trade-arrow{font-size:25px;color:#bd7740;font-weight:900}
.orange-trade-own-inventory{margin-top:6px}.orange-trade-own-inventory>h3{margin:0 0 14px;font-size:16px}.orange-trade-own-inventory section+section{margin-top:16px}.orange-trade-own-inventory h4{margin:0 0 8px;color:#785f49;font-size:13px}.orange-trade-own-inventory .member-item-grid{display:flex;flex-wrap:wrap;gap:10px}.orange-trade-own-inventory .member-item-slot{flex:0 0 86px;min-height:86px}.orange-trade-offer.is-selected{border:2px solid #e98632;box-shadow:0 0 0 4px rgba(233,134,50,.13)}
.orange-trade-submit{display:flex;justify-content:center;width:min(100%,360px);margin:26px auto 0;padding:13px 20px;border:0;border-radius:999px;background:#e98632;color:#fff;font:800 15px/1.4 "Zen Maru Gothic",sans-serif;cursor:pointer}.orange-trade-submit:disabled{background:#d8cbbb;color:#fff;cursor:not-allowed}

.orange-postbox{min-height:420px}
.orange-postbox-heading{display:block;margin-bottom:18px}.orange-postbox-heading h2{margin:2px 0 4px}.orange-postbox-heading p:last-child{margin:0;color:#8b7763}
.orange-postbox-layout{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:22px;align-items:start}
.orange-postbox-sidebar,.orange-postbox-main{border:1px solid #e4d3ba;border-radius:28px;background:linear-gradient(180deg,#fffdf9 0%,#fcf7f0 100%);box-shadow:0 10px 25px rgba(118,90,60,.06),inset 0 1px 0 rgba(255,255,255,.7)}
.orange-postbox-sidebar{padding:18px}.orange-postbox-main{position:relative;padding:18px;min-height:540px;overflow:visible}
.orange-postbox-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.orange-postbox-sidebar-head p{margin:0;color:#9b7d61;font-size:13px;font-weight:700}.orange-postbox-sidebar-title{display:flex;align-items:center;gap:10px}.orange-postbox-sidebar-title h3{margin:0;font-size:18px}.orange-postbox-sidebar-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;background:#f7ead7;color:#a96d3e;font-size:18px}
.orange-postbox-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px}.orange-postbox-filter{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:8px 14px;border:1px solid #e4d0b5;border-radius:999px;background:#f6efe4;color:#886d54;font-size:13px;font-weight:700;text-decoration:none;transition:all .15s}.orange-postbox-filter:hover{border-color:#e4b57d;color:#9f673c}.orange-postbox-filter.is-active{background:#fff;border-color:#ef9e4f;color:#d97720;box-shadow:0 3px 10px rgba(233,134,50,.1)}
.orange-letter-list{display:grid;gap:12px}.orange-letter-card{position:relative;display:grid;grid-template-columns:10px 56px minmax(0,1fr);align-items:center;gap:14px;padding:14px 16px;border:1px solid #e7d7c1;border-radius:20px;background:#fffdf9;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s}.orange-letter-card:hover{transform:translateY(-1px);border-color:#debb90;box-shadow:0 8px 16px rgba(121,92,63,.08)}.orange-letter-card.is-selected{border-color:#e8a460;background:linear-gradient(180deg,#fffaf3 0%,#fff3e4 100%);box-shadow:0 10px 20px rgba(233,134,50,.09)}.orange-letter-card.is-unread{background:linear-gradient(180deg,#fffdf8 0%,#fff6ea 100%)}
.orange-letter-bullet{width:8px;height:8px;border-radius:50%;background:#ead7c0}.orange-letter-card.is-unread .orange-letter-bullet{background:#ef9437}.orange-letter-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:#f7ead6;color:#a96d3e;font-size:23px;font-weight:900;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.orange-letter-card.is-admin .orange-letter-icon{background:#faeedc;color:#b56d39}.orange-letter-card.is-trade-request .orange-letter-icon{background:#fff0e1;color:#e07a20}.orange-letter-card.is-trade-success .orange-letter-icon{background:#eaf4df;color:#6f8e50}.orange-letter-card.is-trade-result .orange-letter-icon{background:#ecf2fe;color:#6687bf}
.orange-letter-copy{min-width:0}.orange-letter-copy strong{display:block;margin:4px 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4e4337;font-size:17px}.orange-letter-copy small{display:block;color:#907c67}.orange-letter-meta-row{display:flex;align-items:center;gap:8px;min-width:0}.orange-letter-type{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;border:1px solid #e5d2bc;background:#fff6ea;color:#af723f;font-size:12px;font-weight:800;line-height:1}.orange-letter-card.is-trade-request .orange-letter-type{background:#fff0de;border-color:#f1c58e;color:#e07a20}.orange-letter-card.is-trade-success .orange-letter-type{background:#eef6e6;border-color:#bfd8a5;color:#688848}.orange-letter-card.is-trade-result .orange-letter-type{background:#edf3ff;border-color:#bcd0f2;color:#5d80bd}.orange-letter-meta-row b{margin-left:auto;padding:5px 8px;border-radius:999px;background:#ea7b2a;color:#fff;font-size:10px;letter-spacing:.05em}
.orange-postbox-empty,.orange-postbox-placeholder{display:grid;place-items:center;min-height:230px;color:#9a846e;text-align:center}.orange-postbox-empty span,.orange-postbox-placeholder span{font-size:35px}.orange-postbox-empty p,.orange-postbox-placeholder p{margin:5px 0 0;max-width:280px}.orange-postbox-placeholder h3{margin:6px 0 0;font-size:22px;color:#5d4f41}

/* A real letter sheet: square paper inside the rounded mailbox UI. */
.orange-letter-paper{position:relative;min-height:100%;padding:0;border:1px solid #e7d2b4;border-radius:2px;background:#fffaf0;box-shadow:0 10px 24px rgba(99,72,43,.11),0 2px 4px rgba(99,72,43,.08);overflow:visible}
.orange-letter-paper::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 20%,rgba(227,199,157,.08),transparent 28%),radial-gradient(circle at 77% 72%,rgba(224,189,139,.06),transparent 31%),repeating-linear-gradient(0deg,rgba(139,104,68,.015) 0 1px,transparent 1px 4px)}
.orange-letter-paper::after{content:"";position:absolute;right:-1px;bottom:-1px;width:58px;height:58px;background:linear-gradient(135deg,rgba(255,250,240,0) 0 47%,#e3ceb0 48% 50%,#f7ead5 51% 70%,#fffaf0 71% 100%);clip-path:polygon(0 100%,100% 0,100% 100%);filter:drop-shadow(-4px -3px 3px rgba(128,92,55,.09));pointer-events:none}
.orange-letter-paper-inner{position:relative;min-height:468px;padding:30px 36px 38px;border:0;border-radius:0;background:transparent;box-shadow:none}
.orange-letter-postage{position:absolute;z-index:4;top:22px;right:28px;width:210px;height:104px;pointer-events:none}.orange-letter-stamp{position:absolute;top:0;right:0;display:grid;grid-template-rows:auto 1fr auto;place-items:center;width:78px;height:92px;padding:7px;color:#d78940;background:#fff7e9;border:1px solid #e9c99f;clip-path:polygon(0 6%,5% 6%,5% 0,11% 0,11% 6%,17% 6%,17% 0,23% 0,23% 6%,29% 6%,29% 0,35% 0,35% 6%,41% 6%,41% 0,47% 0,47% 6%,53% 6%,53% 0,59% 0,59% 6%,65% 6%,65% 0,71% 0,71% 6%,77% 6%,77% 0,83% 0,83% 6%,89% 6%,89% 0,95% 0,95% 6%,100% 6%,100% 94%,95% 94%,95% 100%,89% 100%,89% 94%,83% 94%,83% 100%,77% 100%,77% 94%,71% 94%,71% 100%,65% 100%,65% 94%,59% 94%,59% 100%,53% 100%,53% 94%,47% 94%,47% 100%,41% 100%,41% 94%,35% 94%,35% 100%,29% 100%,29% 94%,23% 94%,23% 100%,17% 100%,17% 94%,11% 94%,11% 100%,5% 100%,5% 94%,0 94%);box-shadow:0 2px 5px rgba(115,84,52,.1)}.orange-letter-stamp svg{width:47px;height:47px}.orange-letter-stamp-word{font-size:8px;font-weight:900;letter-spacing:.18em}.orange-letter-stamp small{font-size:7px;font-weight:800;letter-spacing:.12em}
.orange-letter-postmark{position:absolute;z-index:5;top:19px;right:48px;width:162px;height:67px;color:rgba(173,103,50,.58);transform:rotate(-3deg)}.orange-letter-postmark-ring{position:absolute;right:0;top:0;display:grid;place-items:center;width:65px;height:65px;border:2px solid currentColor;border-radius:50%;font-size:8px;font-weight:900;letter-spacing:.12em}.orange-letter-postmark-ring::after{content:"08 23";position:absolute;bottom:13px;font-size:8px;letter-spacing:.08em}.orange-letter-postmark-lines{position:absolute;right:56px;top:17px;width:106px;height:36px}.orange-letter-postmark-lines i{position:relative;display:block;width:100%;height:8px;margin:0 0 3px;border-top:2px solid currentColor;border-radius:50%}.orange-letter-postmark-lines i:nth-child(2){transform:translateX(4px)}.orange-letter-postmark-lines i:nth-child(3){transform:translateX(1px)}
.orange-letter-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-right:218px;padding-bottom:16px;border-bottom:1px dashed #deccb0}.orange-letter-detail-meta span,.orange-letter-detail-subject span,.orange-letter-body-wrap>span{display:block;color:#b1723b;font-size:13px;font-weight:800;letter-spacing:.03em}.orange-letter-detail-meta strong{display:block;margin-top:8px;font-size:22px;font-weight:800;color:#5a4a39}.orange-letter-detail-header time{color:#9a8774;font-size:13px;white-space:nowrap;padding-top:52px}.orange-letter-detail-subject{padding:18px 0 0}.orange-letter-detail-subject h3{margin:8px 0 0;font-size:42px;line-height:1.18;color:#433628}.orange-letter-body-wrap{padding-top:20px}.orange-letter-body{padding-top:10px;line-height:1.95;color:#5f4f3f;white-space:pre-wrap;word-break:break-word}
.orange-letter-intro{margin:14px 0 0;color:#6a5645;line-height:1.85}.orange-letter-trade{padding-top:20px}.orange-trade-status{display:inline-flex;margin:0 0 10px;padding:6px 12px;border-radius:999px;background:#eee4d8;color:#765f49;font-size:11px;font-weight:800}.orange-trade-status.is-accepted{background:#e3efd9;color:#5e7847}.orange-trade-status.is-declined,.orange-trade-status.is-invalid{background:#f2e2de;color:#955f54}.orange-letter-trade-items{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin:18px 0 10px;padding:22px;border-radius:18px;background:#fbf2e3;border:1px solid #ead7bd}.orange-letter-trade-items>span{font-size:32px;color:#d18338;font-weight:900}.orange-letter-trade-items article{display:grid;justify-items:center;text-align:center;gap:9px}.orange-letter-trade-items article>span{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:999px;background:#f8e6c7;color:#b87643;font-size:12px;font-weight:800}.orange-letter-trade-items article>div{display:grid;place-items:center;width:116px;height:116px;border:1px solid #e1ceb3;border-radius:15px;background:#fff}.orange-letter-trade-items article img{max-width:82%;max-height:82%;object-fit:contain}.orange-letter-trade-items article strong{font-size:18px;color:#514333}.orange-trade-response{display:flex;justify-content:center;gap:14px;margin-top:24px}.orange-trade-response button{min-width:176px;padding:14px 24px;border-radius:999px;font:800 15px "Zen Maru Gothic",sans-serif;cursor:pointer;box-shadow:0 4px 10px rgba(118,90,60,.08)}.orange-trade-response .is-accept{border:0;background:linear-gradient(180deg,#f39a42 0%,#e98632 100%);color:#fff}.orange-trade-response .is-decline{border:1px solid #d7c5ae;background:#fff;color:#765f49}
.orange-letter-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid #ead9c2}.orange-letter-delete-form{margin:0}.orange-letter-delete-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 22px;border-radius:999px;font:800 14px "Zen Maru Gothic",sans-serif;cursor:pointer}.orange-letter-delete-button{border:1px solid #dcc8ae;background:#fffaf3;color:#765f49}.orange-letter-delete-button:hover{border-color:#bf9870;background:#fff}.orange-trash-icon{position:relative;width:13px;height:15px;border:2px solid currentColor;border-top:0;border-radius:1px}.orange-trash-icon::before{content:"";position:absolute;left:-3px;top:-5px;width:15px;border-top:2px solid currentColor}.orange-trash-icon::after{content:"";position:absolute;left:3px;top:-8px;width:5px;height:3px;border:2px solid currentColor;border-bottom:0;border-radius:2px 2px 0 0}

@media(max-width:960px){.orange-postbox-layout{grid-template-columns:1fr}.orange-postbox-main{min-height:unset}.orange-letter-paper-inner{min-height:unset}.orange-letter-detail-subject h3{font-size:34px}}
@media(max-width:620px){.member-inventory-exchange-hint{width:100%;margin:5px 0 0}.orange-trade-modal{padding:10px}.orange-trade-dialog{padding:22px 15px;border-radius:22px}.orange-trade-summary{grid-template-columns:1fr;padding:15px}.orange-trade-arrow{transform:rotate(90deg);justify-self:center}.orange-trade-selected-card{grid-template-columns:70px 1fr}.orange-trade-selected-card>div{width:70px;height:70px}.orange-trade-own-inventory .member-item-slot{flex-basis:72px;min-height:72px}.orange-postbox-sidebar,.orange-postbox-main{padding:14px;border-radius:22px}.orange-postbox-sidebar-head{display:block}.orange-postbox-sidebar-head p{margin-top:8px}.orange-letter-card{grid-template-columns:10px 48px minmax(0,1fr);padding:12px}.orange-letter-icon{width:46px;height:46px;font-size:20px}.orange-letter-copy strong{font-size:16px}.orange-letter-paper-inner{padding:22px 18px 30px}.orange-letter-postage{position:relative;top:auto;right:auto;width:172px;height:86px;margin:0 0 8px auto;transform:scale(.84);transform-origin:right top}.orange-letter-detail-header{display:block;padding-right:0}.orange-letter-detail-meta strong{font-size:20px}.orange-letter-detail-header time{display:block;margin-top:8px;padding-top:0}.orange-letter-detail-subject h3{font-size:28px}.orange-letter-trade-items{grid-template-columns:1fr;padding:14px}.orange-letter-trade-items>span{transform:rotate(90deg)}.orange-trade-response{display:grid}.orange-trade-response button{width:100%}.orange-letter-actions{display:grid}.orange-letter-delete-button{width:100%;box-sizing:border-box}}


/* ===== v0.9.84 SITE HELP / legal / contact ===== */
.help-hub{width:min(100% - 40px,1040px);margin:0 auto;padding:42px 0 68px}
.help-category-tabs{display:flex;gap:8px;padding:8px;border:1px solid #e0cfb8;border-radius:18px;background:rgba(255,250,240,.78);overflow-x:auto;scrollbar-width:thin}
.help-category-tab{flex:1 0 auto;min-width:132px;border:1px solid transparent;border-radius:13px;background:transparent;color:#725d49;padding:11px 14px;font:700 14px/1.3 "Zen Maru Gothic",sans-serif;cursor:pointer;white-space:nowrap;transition:.15s ease}
.help-category-tab:hover{background:#fff7e8}.help-category-tab.is-active{border-color:#dfbd91;background:#fffdf8;color:#c76825;box-shadow:0 3px 9px rgba(82,58,36,.07)}
.help-category-panels{margin-top:18px}.help-category-panel{padding:26px 28px 30px;border:1px solid #e0cfb8;border-radius:22px;background:#fffdf8;box-shadow:7px 8px 0 rgba(108,78,48,.045)}.help-category-panel[hidden]{display:none!important}
.help-category-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px;border-bottom:1px solid #eee1cf;padding-bottom:15px}.help-category-heading h2{margin:0;color:#59412d;font-size:26px}.help-category-heading .panel-label{margin:0}
.help-accordion-list{display:grid}.help-accordion-item{border-bottom:1px solid #eadfce}.help-accordion-item:first-child{border-top:1px solid #eadfce}.help-accordion-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 4px;cursor:pointer;list-style:none;color:#5a4737;font-weight:700}.help-accordion-item summary::-webkit-details-marker{display:none}.help-accordion-item summary b{display:grid;place-items:center;flex:0 0 auto;width:26px;height:26px;border:1px solid #dec8a8;border-radius:50%;color:#c96b28;font-size:18px;font-weight:500;transition:.16s ease}.help-accordion-item[open] summary b{transform:rotate(45deg);background:#fff5e6}.help-accordion-body{padding:0 42px 18px 4px;color:#67594c;line-height:1.85}.help-accordion-body p{margin:0 0 10px}.help-accordion-body p:last-child{margin-bottom:0}.help-accordion-body a{text-decoration:underline;text-decoration-color:#dda977;text-underline-offset:3px}.help-category-empty{padding:20px 4px;color:#8a7b6b}
.help-support-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.help-support-links a{display:inline-flex;padding:9px 13px;border:1px solid #dfc7a5;border-radius:999px;background:#fff8eb;color:#755b43;font-weight:700;font-size:13px}
.contact-page-layout{width:min(100% - 40px,820px);margin:0 auto;padding:44px 0 70px}.contact-result{margin-bottom:18px;padding:17px 20px;border-radius:16px}.contact-result strong{display:block;margin-bottom:4px}.contact-result p{margin:0}.contact-result.is-success{border:1px solid #cadbb9;background:#f4faed}.contact-result.is-error{border:1px solid #e9beb4;background:#fff3f0}
.contact-form-card{padding:30px;border:1px solid #dfcdb3;border-radius:24px;background:#fffdf8;box-shadow:8px 9px 0 rgba(108,78,48,.05)}.contact-form-intro{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid #eee1cf}.contact-form-intro h2{margin:4px 0 8px;color:#59412d}.contact-form-intro p:last-child{margin-bottom:0;line-height:1.75}
.orange-contact-form{display:grid;gap:20px}.orange-contact-form>label{display:grid;gap:7px;color:#5e4b3a;font-weight:700}.orange-contact-form label>span b{margin-left:6px;color:#bd5f45;font-size:11px}.orange-contact-form input,.orange-contact-form select,.orange-contact-form textarea{width:100%;padding:11px 12px;border:1px solid #d9c9b4;border-radius:10px;background:#fff;color:#4e4337;font:500 15px/1.6 "Zen Maru Gothic",sans-serif}.orange-contact-form textarea{resize:vertical;min-height:180px}.orange-contact-form small{color:#867565;font-size:12px;font-weight:500;line-height:1.6}.orange-contact-note{padding:13px 15px;border-radius:12px;background:#fff6e8;color:#705d4c;font-size:13px;line-height:1.7}.orange-contact-note p{margin:0}.orange-contact-submit{justify-self:end;border:0;border-radius:999px;background:#e98632;color:#fff;padding:12px 27px;font:700 15px/1 "Zen Maru Gothic",sans-serif;cursor:pointer;box-shadow:0 4px 0 #c96f28}.orange-contact-submit:hover{transform:translateY(1px);box-shadow:0 3px 0 #c96f28}.orange-contact-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.wp-orange-content{width:min(100% - 40px,900px);margin:0 auto;padding:42px 0 70px}.wp-orange-content h2{color:#59412d}.wp-orange-content h3{margin-top:30px;color:#654c36}.wp-orange-content p{line-height:1.85}.wp-orange-content a{text-decoration:underline;text-underline-offset:3px}
.site-footer{display:grid;justify-items:center;gap:12px;text-align:center}.footer-policy-links{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;color:#eadbc9;font-size:12px}.footer-policy-links a{text-decoration:underline;text-decoration-color:#bfa889;text-underline-offset:3px}.ffxiv-rights{display:grid;gap:3px;max-width:760px}.ffxiv-rights p{margin:0;font-size:11px;line-height:1.55;color:#d9c9b6}.ffxiv-rights p:first-child{font-weight:700;color:#f5eadc;white-space:nowrap}
@media(max-width:700px){.help-hub{width:min(100% - 24px,1040px);padding:26px 0 52px}.help-category-tabs{margin:0 -2px;border-radius:14px}.help-category-tab{min-width:116px;padding:10px 12px;font-size:13px}.help-category-panel{padding:21px 17px 24px;border-radius:18px}.help-category-heading{display:block}.help-category-heading h2{font-size:23px;margin-top:4px}.help-accordion-item summary{padding:15px 2px}.help-accordion-body{padding:0 34px 16px 2px}.contact-page-layout{width:min(100% - 24px,820px);padding:28px 0 52px}.contact-form-card{padding:21px 17px;border-radius:19px}.orange-contact-submit{width:100%;justify-content:center}.footer-policy-links span{display:none}.footer-policy-links{gap:8px 15px}.ffxiv-rights{padding:0 10px}}


/* ===== v0.9.85: center footer policy links ===== */
.site-footer .footer-policy-links{
  display:flex !important;
  width:100%;
  margin:0 !important;
  align-items:center;
  justify-content:center !important;
  text-align:center;
}


/* ===== v0.9.87 SITE HELP rich body / BBCode ===== */
.help-accordion-body .help-bb-heading{margin:18px 0 8px;color:#59412d;line-height:1.45}
.help-accordion-body .help-bb-heading-2{font-size:19px}
.help-accordion-body .help-bb-heading-3{font-size:16px}
.help-accordion-body .help-bb-quote{margin:15px 0;padding:12px 15px;border-left:3px solid #dfa56d;background:#fff8ec;color:#6f5b48;border-radius:0 10px 10px 0}
.help-accordion-body .help-bb-center{text-align:center}
.help-accordion-body .help-bb-image{margin:16px auto;max-width:820px}
.help-accordion-body .help-bb-image img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto;border:1px solid #e2d3bd;border-radius:12px;box-shadow:0 5px 16px rgba(73,54,36,.08)}
.help-accordion-body .help-bb-link{text-decoration:underline;text-decoration-color:#dda977;text-underline-offset:3px}
@media(max-width:700px){.help-accordion-body .help-bb-image{margin:13px auto}.help-accordion-body .help-bb-image img{border-radius:9px}}

/* ===== v0.9.91: keep the desktop member menu inside the viewport ===== */
@media (min-width:1101px){
  .desktop-member-dropdown{
    position:fixed;
    top:74px;
    left:50vw;
    right:auto;
    width:min(1100px,calc(100vw - 24px));
    max-height:calc(100vh - 90px);
    overflow-y:auto;
    transform:translateX(-50%);
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  body.admin-bar .desktop-member-dropdown{top:106px}
}
@media (min-width:901px) and (max-width:1040px){
  .desktop-member-dropdown{
    grid-template-columns:repeat(4,minmax(0,1fr));
    width:calc(100vw - 20px);
  }
}


/* ===== v0.9.93: group the public member list by site-only role ===== */
.member-role-group{margin-top:34px}
.member-role-group:first-of-type{margin-top:8px}
.member-role-heading{display:flex;align-items:flex-end;gap:12px;margin:0 0 13px;padding:0 2px 10px;border-bottom:1px solid rgba(109,83,52,.14)}
.member-role-heading .panel-label{margin:0 2px 2px 0}
.member-role-heading h3{margin:0;color:#59412d;font-size:20px;line-height:1.25}
.member-role-heading span{margin-left:auto;color:#9a8169;font-size:11px;font-weight:700}
.member-role-group.is-unassigned .member-role-heading{opacity:.72}
@media(max-width:700px){.member-role-group{margin-top:28px}.member-role-heading{margin-bottom:10px}.member-role-heading h3{font-size:18px}}


/* ===== v0.9.94: mobile room crop + furniture scale ===== */
@media(max-width:700px){
  .member-room-scene,
  .mypage-room-preview-scene{
    --room-item-scale:1.16;
  }
}
@media(max-width:560px){
  .member-room-scene,
  .mypage-room-preview-scene{
    --room-item-scale:1.28;
  }
  .member-room-scene .room-fixed-layer>img,
  .mypage-room-preview-scene .room-fixed-layer>img{
    object-fit:cover;
    object-position:center center;
  }
}

/* v0.9.95 member status */
.member-resident-card.is-resting .member-card-image img{filter:brightness(.48) saturate(.7)}
.member-resident-card.is-resting .member-card-image{position:relative;background:#c8c2b8}
.member-resting-badge{position:absolute;left:10px;bottom:10px;padding:5px 9px;border-radius:999px;background:rgba(43,39,34,.82);color:#fff;font-size:12px;letter-spacing:.04em;font-weight:700}

/* ===== v0.9.103: citrus rank member page ===== */
.orange-members-page{--rank-color:#e98632;--rank-soft:#fff2df}
.orange-members-page .member-list-layout{width:min(1160px,calc(100% - 40px));padding-top:52px}
.orange-members-page .member-list-section>.member-section-heading{text-align:center;margin-bottom:25px}
.orange-members-page .member-list-section>.member-section-heading .panel-label{margin-bottom:5px;letter-spacing:.2em}
.citrus-rank-nav{position:sticky;z-index:15;top:10px;display:flex;justify-content:center;gap:8px;max-width:100%;margin:0 auto 38px;padding:9px;border:1px solid #e3d1b7;border-radius:22px;background:rgba(255,250,240,.94);box-shadow:0 8px 22px rgba(91,67,42,.09);overflow-x:auto;scrollbar-width:none;backdrop-filter:blur(10px)}
body.admin-bar .citrus-rank-nav{top:42px}.citrus-rank-nav::-webkit-scrollbar{display:none}
.citrus-rank-nav a{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-height:38px;padding:7px 11px;border:1px solid transparent;border-radius:999px;color:#705c49;font-size:12px;font-weight:800;transition:.18s ease}
.citrus-rank-nav a i{display:block;width:11px;height:11px;border-radius:50%;background:#e98632;box-shadow:inset -2px -2px 0 rgba(112,69,30,.12)}
.citrus-rank-nav a b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#f2e5d3;color:#836d56;font-size:10px}
.citrus-rank-nav a:hover,.citrus-rank-nav a.is-active{border-color:#e3c59f;background:#fff;color:#b35e25;transform:translateY(-1px)}
.citrus-rank-nav a[data-rank-link="kabosu"] i{background:#73964e}.citrus-rank-nav a[data-rank-link="sudachi"] i{background:#9bbd58}.citrus-rank-nav a[data-rank-link="ponkan"] i{background:#e77e2f}.citrus-rank-nav a[data-rank-link="hassaku"] i{background:#d6a341}.citrus-rank-nav a[data-rank-link="mikan"] i{background:#f09a35}.citrus-rank-nav a[data-rank-link="amanatsu"] i{background:#efa66c}.citrus-rank-nav a[data-rank-link="lemon"] i{background:#d8ca53}
.citrus-rank-list{display:grid;gap:34px}
.member-role-group.citrus-rank{scroll-margin-top:92px;margin:0;padding:22px;border:1px solid color-mix(in srgb,var(--rank-color) 27%,#e5d8c7);border-radius:26px;background:linear-gradient(145deg,#fffdf9 0%,var(--rank-soft) 100%);box-shadow:8px 9px 0 color-mix(in srgb,var(--rank-color) 9%,transparent);overflow:hidden}
.citrus-rank.is-kabosu{--rank-color:#698b45;--rank-soft:#f1f6e9}.citrus-rank.is-sudachi{--rank-color:#92ad4e;--rank-soft:#f5f8e9}.citrus-rank.is-ponkan{--rank-color:#d8752d;--rank-soft:#fff1e2}.citrus-rank.is-hassaku{--rank-color:#c99432;--rank-soft:#fff7df}.citrus-rank.is-mikan{--rank-color:#e98731;--rank-soft:#fff3e3}.citrus-rank.is-amanatsu{--rank-color:#df9360;--rank-soft:#fff0e9}.citrus-rank.is-lemon{--rank-color:#b8aa3d;--rank-soft:#fbf8dc}
.citrus-rank-heading{display:grid;grid-template-columns:62px minmax(120px,190px) minmax(0,1fr);align-items:center;gap:18px;margin:-22px -22px 20px;padding:22px 24px;border-bottom:1px dashed color-mix(in srgb,var(--rank-color) 35%,#dfd2c0);background:rgba(255,255,255,.44)}
.citrus-rank-fruit{position:relative;display:grid;place-items:center;width:54px;height:54px;border:2px solid rgba(255,255,255,.8);border-radius:48% 52% 50% 46%;background:var(--rank-color);color:rgba(255,255,255,.34);box-shadow:inset -6px -7px 0 rgba(76,56,25,.09),0 5px 12px rgba(82,58,31,.1);transform:rotate(-4deg)}
.citrus-rank-fruit span{font-size:19px}.citrus-rank-fruit i{position:absolute;top:-7px;right:4px;width:20px;height:11px;border-radius:100% 0 100% 0;background:#789151;transform:rotate(-23deg)}
.citrus-rank-title .panel-label{margin:0 0 2px;color:var(--rank-color);font-size:10px;letter-spacing:.15em}.citrus-rank-title h3{margin:0;color:#4f4032;font-size:26px;line-height:1.2}
.citrus-rank-copy strong{display:block;margin-bottom:4px;color:var(--rank-color);font-size:14px}.citrus-rank-copy p{margin:0;color:#796a5b;font-size:12px;line-height:1.65}
.citrus-rank-count{display:flex;align-items:baseline;gap:3px;min-width:70px;justify-content:flex-end;color:#8b765f;font-size:12px;font-weight:700}.citrus-rank-count b{color:var(--rank-color);font-size:29px;line-height:1}
.citrus-rank .member-resident-card{border-color:color-mix(in srgb,var(--rank-color) 24%,#e6d6bd);box-shadow:5px 6px 0 color-mix(in srgb,var(--rank-color) 8%,transparent)}
.citrus-rank .member-resident-card:hover{border-color:color-mix(in srgb,var(--rank-color) 48%,#e6d6bd);box-shadow:7px 9px 0 color-mix(in srgb,var(--rank-color) 12%,transparent)}
.citrus-rank .member-card-arrow{color:var(--rank-color)}
.citrus-trial-card{display:flex;align-items:center;justify-content:center;gap:16px;min-height:110px;padding:21px;border:1px dashed color-mix(in srgb,var(--rank-color) 45%,#e4d3bd);border-radius:19px;background:rgba(255,255,255,.52);text-align:left}.citrus-trial-card>span{font-size:37px;filter:saturate(.72)}.citrus-trial-card strong{display:block;color:#5b4637;font-size:18px}.citrus-trial-card p{margin:5px 0 0;color:#887361;font-size:12px}
.citrus-rank-empty{margin:0;padding:28px;text-align:center;border:1px dashed color-mix(in srgb,var(--rank-color) 38%,#ddd);border-radius:17px;background:rgba(255,255,255,.42);color:#93806c;font-size:13px}
.is-rank-motion-ready .citrus-rank{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}.is-rank-motion-ready .citrus-rank.is-visible{opacity:1;transform:none}
@media(max-width:800px){.citrus-rank-nav{justify-content:flex-start;margin-left:-4px;margin-right:-4px}.citrus-rank-heading{grid-template-columns:52px 1fr;gap:12px}.citrus-rank-fruit{width:46px;height:46px}.citrus-rank-copy{grid-column:2/-1}.citrus-rank-title h3{font-size:23px}}
@media(max-width:560px){.orange-members-page .member-list-layout{width:min(100% - 24px,1160px);padding-top:34px}.citrus-rank-nav{top:6px;margin-bottom:25px;padding:7px;border-radius:17px}body.admin-bar .citrus-rank-nav{top:52px}.citrus-rank-nav a{padding:6px 9px}.member-role-group.citrus-rank{padding:14px;border-radius:20px}.citrus-rank-heading{margin:-14px -14px 14px;padding:17px 15px}.citrus-rank-copy{padding-right:3px}.citrus-rank-copy p{font-size:11px}.citrus-rank-count{min-width:52px}.citrus-rank-count b{font-size:24px}.citrus-trial-card{justify-content:flex-start;padding:17px 14px}.citrus-trial-card strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){.citrus-rank,.citrus-rank-nav a{transition:none!important;transform:none!important}}

/* v0.9.111: editable Discord login explanation */
.mypage-login-info .mypage-login-reason p{margin:.55em 0}.mypage-login-info .mypage-login-reason p:first-child{margin-top:0}.mypage-login-info .mypage-login-reason p:last-child{margin-bottom:0}


/* ===== v0.9.119: keep public My Room at desktop-scale on narrow screens =====
 * The public member room is a fixed 16:9 stage on phones/tablets.
 * We crop the left/right edges instead of shrinking the whole room, so furniture
 * keeps roughly the same pixel scale as the max-width desktop presentation.
 */
@media(max-width:700px){
  .member-room-visual:not(.mypage-full-room) > .member-room-scene:not(.is-room-editing){
    width:1080px;
    min-width:1080px;
    height:607.5px;
    min-height:607.5px;
    left:50%;
    transform:translateX(-50%);
    --room-item-scale:1;
  }
  .member-room-visual:not(.mypage-full-room) > .member-room-scene:not(.is-room-editing) .room-fixed-layer>img{
    object-fit:fill;
    object-position:center center;
  }
  /* Keep the profile portrait inside the visible cropped viewport. */
  .member-room-visual:not(.mypage-full-room) > .member-room-scene:not(.is-room-editing) .room-profile-frame{
    right:calc((1080px - 100vw)/2 + 30px);
    bottom:26px;
    width:130px;
    height:130px;
  }
  .member-room-visual:not(.mypage-full-room) > .member-room-scene:not(.is-room-editing) .room-speech-bubble{
    right:calc((1080px - 100vw)/2 + 100px);
    bottom:102px;
  }
}
@media(max-width:560px){
  .member-room-visual:not(.mypage-full-room) > .member-room-scene:not(.is-room-editing){
    --room-item-scale:1;
  }
  .member-room-visual:not(.mypage-full-room) > .member-room-scene:not(.is-room-editing) .room-profile-frame{
    right:calc((1080px - 100vw)/2 + 30px);
    bottom:20px;
    width:108px;
    height:108px;
  }
  .member-room-visual:not(.mypage-full-room) > .member-room-scene:not(.is-room-editing) .room-speech-bubble{
    right:calc((1080px - 100vw)/2 + 80px);
    bottom:88px;
  }
}


/* ===== v0.9.197: public My Room uses 16:9 at every viewport width =====
 * Match My Page and the editor, including tablet and desktop widths.
 * Scale the full stage and overlays together; never use legacy fixed heights.
 */
.member-room-visual:not(.mypage-full-room){
  container-type:inline-size;
}
.member-room-visual:not(.mypage-full-room) > .member-room-scene:not(.is-room-editing){
  width:100%;
  min-width:0;
  height:auto;
  min-height:0;
  aspect-ratio:16 / 9;
  left:auto;
  transform:none;
  --room-item-scale:1;
}
.member-room-visual:not(.mypage-full-room) > .member-room-scene:not(.is-room-editing) .room-fixed-layer>img{
  object-fit:fill;
  object-position:center center;
}
.member-room-visual:not(.mypage-full-room) > .member-room-title{
  top:2.407cqw;
  left:2.593cqw;
  max-width:94.814cqw;
}
.member-room-visual:not(.mypage-full-room) > .member-room-title .panel-label{
  margin-bottom:.556cqw;
  font-size:1.204cqw;
  letter-spacing:.18em;
}
.member-room-visual:not(.mypage-full-room) > .member-room-title h1{
  font-size:4.815cqw;
}
.member-room-visual:not(.mypage-full-room) > .member-room-title .member-room-title-row{
  gap:.833cqw;
}
.member-room-visual:not(.mypage-full-room) > .member-room-title .member-help-icon{
  width:2.315cqw;
  height:2.315cqw;
  border-width:.185cqw;
  font-size:1.481cqw;
}
.member-room-visual:not(.mypage-full-room) > .member-room-scene:not(.is-room-editing) .room-profile-frame{
  right:3.148cqw;
  bottom:3.148cqw;
  width:13.889cqw;
  height:13.889cqw;
}
.member-room-visual:not(.mypage-full-room) > .member-room-scene:not(.is-room-editing) .room-profile-photo{
  padding:.741cqw;
}
.member-room-visual:not(.mypage-full-room) > .member-room-scene:not(.is-room-editing) .room-speech-bubble{
  right:10.37cqw;
  bottom:10.648cqw;
  max-width:38.889cqw;
  padding:1.296cqw 1.667cqw;
  border-width:.185cqw;
  border-radius:2.037cqw;
  font-size:1.481cqw;
  transform:translateY(.741cqw) scale(.98);
}
.member-room-visual:not(.mypage-full-room) > .member-room-scene:not(.is-room-editing) .room-speech-bubble:after{
  right:2.222cqw;
  bottom:-1.111cqw;
  width:1.852cqw;
  height:1.852cqw;
  border-right-width:.185cqw;
  border-bottom-width:.185cqw;
}

/* ===== v0.9.121: limited shop, product details, trial-member privacy, compact notices ===== */

/* Top INFORMATION: keep the current Orange design, but fit five rows much more compactly. */
.notice-list-row{min-height:44px;padding:6px 8px;line-height:1.35}
.notice-category-badge{min-height:24px;padding:3px 8px}
.notice-pager{margin-top:12px}
@media(max-width:700px){
  .notice-list-row{min-height:0;gap:4px 8px;padding:7px 4px}
  .notice-list-row strong{line-height:1.35}
  .notice-pager{margin-top:10px}
}

/* Trial member profiles are visible only inside the FC. */
.member-resident-card.is-members-only{border-color:#e7b88f}
.member-only-card-badge{position:absolute;z-index:5;top:8px;left:8px;display:inline-flex;align-items:center;min-height:22px;padding:4px 8px;border:1px solid rgba(255,255,255,.82);border-radius:999px;background:rgba(105,79,57,.88);color:#fff;font-size:8px;font-weight:800;letter-spacing:.13em;box-shadow:0 3px 10px rgba(72,49,29,.15);backdrop-filter:blur(4px)}
.trial-member-private-notice{display:flex;align-items:center;gap:12px;margin:0 0 15px;padding:11px 14px;border:1px solid #e5c3a4;border-radius:15px;background:#fff4e8;color:#725842}
.trial-member-private-notice span{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#7b614c;color:#fff;font-size:9px;font-weight:800;letter-spacing:.12em}
.trial-member-private-notice p{margin:0;font-size:12px;line-height:1.6}
.citrus-trial-card.is-profile-gate{margin-top:22px;min-height:150px;border-color:#e4b993;background:#fff8ef}
@media(max-width:560px){.member-only-card-badge{top:6px;left:6px;padding:3px 6px;font-size:7px}.trial-member-private-notice{align-items:flex-start;flex-direction:column;gap:7px}}

/* ROOM editing: the scene clips overflow, while JS constrains only the furniture visual center. */
.member-room-scene{overflow:hidden}

/* Shop cards now lead to individual product pages and have private favorites. */
.orange-shop-card{position:relative;cursor:pointer}
.orange-shop-card h3 a{color:inherit;text-decoration:none}
.orange-shop-card-detail-link{display:grid;place-items:center;position:absolute;inset:0;color:inherit;text-decoration:none}
.orange-shop-image.has-image .orange-shop-card-detail-link{position:absolute;inset:0}
.orange-shop-card-detail-link .orange-shop-product-image{position:relative;z-index:1}
.orange-shop-favorite{--favorite-icon-size:18px;position:absolute;z-index:8;top:9px;right:9px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #dfc9ad;border-radius:50%;background:rgba(255,253,248,.92);cursor:pointer;box-shadow:0 4px 12px rgba(86,62,38,.09);transition:transform .15s ease,background .15s ease,border-color .15s ease}
.orange-shop-favorite::before{content:"";display:block;width:var(--favorite-icon-size);height:var(--favorite-icon-size);background:center/contain no-repeat url("assets/images/ui/shop-favorite-outline.svg")}
.orange-shop-favorite:hover{transform:scale(1.05);background:#fff7ed}.orange-shop-favorite.is-favorite{border-color:#e2ad99;background:#fff0ec}.orange-shop-favorite.is-favorite::before{background-image:url("assets/images/ui/shop-favorite-filled.svg")}.orange-shop-favorite:disabled{opacity:.55;cursor:wait}
.orange-shop-limited-badge{position:absolute!important;z-index:7;left:9px;bottom:9px;display:inline-flex!important;width:auto!important;padding:5px 8px;border-radius:999px;background:rgba(145,92,51,.88)!important;color:#fff!important;font-size:9px!important;font-weight:800;letter-spacing:.07em;box-shadow:0 3px 10px rgba(74,47,26,.12)}
.orange-shop-new{z-index:8}

/* Period-limited feature rail: one row, no wrapping, with the site's shared scroll-edge fade. */
.orange-shop-limited-section{margin:0 0 34px;padding:24px 0 3px;border-top:1px solid #ead9c3;border-bottom:1px solid #ead9c3}
.orange-shop-limited-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 4px 14px}
.orange-shop-limited-heading .panel-label{margin:0 0 3px;color:#d97f33;letter-spacing:.15em}.orange-shop-limited-heading h2{margin:0;font-size:24px}.orange-shop-limited-heading>p{margin:0 0 2px;color:#897561;font-size:12px}
.orange-shop-limited-window{overflow-x:auto;overflow-y:hidden;padding:2px 4px 18px}
.orange-shop-limited-track{display:flex;flex-wrap:nowrap;gap:12px;width:max-content;min-width:100%}
.orange-shop-card.is-limited-card{flex:0 0 190px;width:190px}
.orange-shop-card.is-limited-card .orange-shop-card-body{padding:10px 11px 11px}
.orange-shop-card.is-limited-card .orange-shop-card-body h3{font-size:14px;line-height:1.35}
.orange-shop-card.is-limited-card .orange-shop-card-footer{gap:6px;margin-top:7px;padding-top:0;flex-direction:column;align-items:stretch}
.orange-shop-card.is-limited-card .orange-shop-price{font-size:17px}.orange-shop-card.is-limited-card .orange-shop-buy{width:100%;min-width:0;padding:7px 8px;font-size:10px}
.orange-shop-card.is-limited-card .orange-shop-favorite{--favorite-icon-size:16px;width:30px;height:30px}
@media(max-width:700px){.orange-shop-limited-section{margin-bottom:28px;padding-top:20px}.orange-shop-limited-heading{align-items:flex-start;flex-direction:column;gap:4px}.orange-shop-card.is-limited-card{flex-basis:158px;width:158px}.orange-shop-limited-window{margin-right:-4px}.orange-shop-limited-heading h2{font-size:21px}}

/* Product detail page. */
.orange-shop-detail-back{display:inline-flex;margin-bottom:18px}
.orange-shop-detail{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:42px;align-items:start;padding:34px;border:1px solid #e5d4bc;border-radius:28px;background:#fffdf8;box-shadow:7px 8px 0 rgba(111,83,50,.045)}
.orange-shop-detail-visual{position:relative;display:grid;place-items:center;aspect-ratio:1/1;overflow:hidden;border:1px solid #eadbc7;border-radius:22px;background:linear-gradient(145deg,#f5ead9,#fbf5ea)}
.orange-shop-detail-visual>img{display:block;max-width:76%;max-height:76%;object-fit:contain;filter:drop-shadow(0 7px 8px rgba(69,48,29,.10))}
.orange-shop-detail-visual>span:not(.orange-shop-favorite){color:#aa9279;font-size:12px;letter-spacing:.12em}
.orange-shop-detail-copy{padding:6px 2px}.orange-shop-detail-tags{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:11px}.orange-shop-detail-tags .orange-shop-category{margin:0}.orange-shop-detail-limited{display:inline-flex;padding:4px 9px;border-radius:999px;background:#f7dfca;color:#a45e2c;font-size:10px;font-weight:800;letter-spacing:.08em}
.orange-shop-detail h1{margin:0 0 12px;color:#4e4337;font-size:clamp(29px,4vw,44px);line-height:1.2}.orange-shop-detail-price{display:block;margin-bottom:18px;color:#a75f28;font-size:30px}.orange-shop-detail-description{margin:0 0 17px;color:#746454;line-height:1.85}.orange-shop-detail-period{margin:0 0 12px;color:#8c7661;font-size:12px}.orange-shop-detail-unavailable{margin:12px 0;padding:11px 13px;border:1px solid #e4c7b7;border-radius:12px;background:#fff2ea;color:#a05e47;font-size:13px;font-weight:800}.orange-shop-owned-badge{display:inline-flex;margin:0 0 14px;padding:6px 10px;border-radius:999px;background:#edf3e8;color:#637653;font-size:11px;font-weight:800}
.orange-shop-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.orange-shop-detail-actions form{margin:0}.orange-shop-detail-buy,.orange-shop-detail-cart{min-height:44px;padding:11px 20px;border-radius:999px;font:800 13px/1 "Zen Maru Gothic",sans-serif;cursor:pointer}.orange-shop-detail-buy{border:1px solid #d77829;background:#e98632;color:#fff}.orange-shop-detail-cart{border:1px solid #d9bb91;background:#fff6e8;color:#805d40}.orange-shop-detail-buy:disabled,.orange-shop-detail-cart:disabled{border-color:#d7c9b7;background:#ddd4c8;color:#fff;cursor:not-allowed}.orange-shop-detail-limit-note{margin:10px 0 0;color:#806d5a;font-size:11px;line-height:1.7}.orange-shop-cart-open.is-detail{margin-top:18px}
.orange-shop-room-preview-block{margin-top:28px;padding:26px;border:1px solid #e5d4bc;border-radius:24px;background:#fffdf8}.orange-shop-detail-heading .panel-label{margin:0 0 3px;color:#d97f33}.orange-shop-detail-heading h2{margin:0 0 15px;font-size:22px}.orange-shop-room-preview-scene{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border:1px solid #d8c4a7;border-radius:18px;background:#f7f2ea;isolation:isolate}.orange-shop-preview-surface,.orange-shop-preview-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.orange-shop-preview-surface.is-floor{z-index:1}.orange-shop-preview-surface.is-wall{z-index:2}.orange-shop-preview-frame{z-index:5}.orange-shop-preview-product{position:absolute;z-index:5;left:50%;top:80%;display:block;line-height:0;transform:translate(-50%,-100%);transform-origin:center bottom}.orange-shop-preview-product img{display:block;width:100%;height:auto;max-width:none;filter:drop-shadow(0 5px 5px rgba(69,48,29,.12))}.orange-shop-room-preview-note{margin:10px 2px 0;color:#8b7864;font-size:11px;line-height:1.6}
@media(max-width:780px){.orange-shop-detail{grid-template-columns:1fr;gap:24px;padding:22px}.orange-shop-detail-visual{max-width:520px;width:100%;margin:auto}.orange-shop-room-preview-block{padding:18px}.orange-shop-detail-actions{display:grid;grid-template-columns:1fr 1fr}.orange-shop-detail-actions form,.orange-shop-detail-buy,.orange-shop-detail-cart{width:100%}}
@media(max-width:480px){.orange-shop-detail{padding:16px;border-radius:20px}.orange-shop-detail-actions{grid-template-columns:1fr}.orange-shop-detail-price{font-size:25px}.orange-shop-room-preview-block{padding:13px;border-radius:19px}.orange-shop-room-preview-scene{border-radius:13px}}
.orange-shop-favorite .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}


/* ===== v0.9.127: keep My Page mini-room on the same 16:9 stage =====
 * The compact My Page preview must use the same room aspect ratio as the full room,
 * otherwise vertical furniture coordinates drift (floor items float up / shelf items sink down).
 */
.mypage-room-preview-scene{max-width:100%;}


/* ===== v0.9.129: My Page room uses the exact same stage as the member room =====
 * Stop maintaining a separate miniature room geometry. The My Page preview now
 * reuses .member-room-visual + .member-room-scene so furniture x/y/size are
 * rendered against exactly the same stage dimensions as the member page.
 */
.mypage-room-preview.is-room-mirror{
  margin:0 0 26px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.mypage-room-mirror-visual{margin-top:0}
.mypage-room-mirror-actions{margin-top:12px}
.mypage-room-logout-link{border-color:#dfc9aa;background:#fffaf0}

/* Legacy miniature preview geometry is intentionally not used by the mirrored room. */
.mypage-room-preview.is-room-mirror .member-room-scene{
  width:100%;
  aspect-ratio:auto;
}


/* ===== v0.9.130: restore My Page identity overlay without changing room geometry =====
 * Scope is My Page only. Member profile room pages keep their existing MY ROOM title,
 * profile portrait and layout untouched.
 */
.mypage-room-preview.is-room-mirror .mypage-room-user,
.mypage-room-preview.is-room-mirror .mypage-room-logout{z-index:100}
.mypage-room-preview.is-room-mirror .mypage-room-user{top:22px;left:22px}
.mypage-room-preview.is-room-mirror .mypage-room-logout{top:24px;right:24px}
/* No MY ROOM / "name's room" heading is rendered inside My Page. */
@media(max-width:700px){
  .mypage-room-preview.is-room-mirror .mypage-room-user{top:14px;left:14px}
  .mypage-room-preview.is-room-mirror .mypage-room-logout{top:16px;right:14px}
}


/* ===== v0.9.131: My Page room controls inside the room only =====
 * The house icon now opens the owner's public/member room page.
 * Edit actions live inside the My Page room image at bottom-right.
 */
.mypage-room-preview.is-room-mirror .mypage-room-inline-actions{
  position:absolute;
  z-index:101;
  right:22px;
  bottom:20px;
  display:flex;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
}
.mypage-room-preview.is-room-mirror .mypage-room-inline-actions .member-edit-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:8px 14px;
  border:1px solid #d9bb91;
  border-radius:999px;
  background:rgba(255,250,240,.94);
  color:#6a5747;
  box-shadow:0 3px 10px rgba(92,65,38,.07);
  font:700 12px/1.2 "Zen Maru Gothic",sans-serif;
  text-decoration:none;
  backdrop-filter:blur(4px);
}
.mypage-room-preview.is-room-mirror .mypage-room-inline-actions .member-edit-button:hover{
  background:#fff1dc;
  border-color:#d79a62;
}
@media(max-width:700px){
  .mypage-room-preview.is-room-mirror .mypage-room-inline-actions{right:12px;bottom:12px;gap:6px}
  .mypage-room-preview.is-room-mirror .mypage-room-inline-actions .member-edit-button{min-height:30px;padding:6px 9px;font-size:10px}
}

/* ===== v0.9.132: reorganized header navigation + shortcut / notification / account ===== */
@media(min-width:1101px){
  .site-header{gap:24px;padding-left:clamp(18px,3.3vw,54px);padding-right:clamp(18px,3.3vw,54px)}
  .desktop-header-nav{display:flex;align-items:center;gap:22px;margin-left:auto;color:#6d5e4e;font-size:14px}
}
.desktop-header-nav{position:relative}
.header-nav-menu{position:relative;display:flex;align-items:center}
.header-nav-toggle{position:relative;display:inline-flex;align-items:center;gap:7px;padding:10px 2px;border:0;background:transparent;color:#655748;font:700 14px/1.2 "Zen Maru Gothic",sans-serif;white-space:nowrap;cursor:pointer}
.header-nav-toggle::after{content:"";position:absolute;left:2px;bottom:3px;width:0;height:2px;border-radius:999px;background:var(--orange);transition:width .18s ease}
.header-nav-menu.is-open .header-nav-toggle::after,.header-nav-toggle:hover::after,.header-nav-toggle:focus-visible::after{width:calc(100% - 4px)}
.header-nav-caret{width:6px;height:6px;margin-top:-3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .18s ease}
.header-nav-menu.is-open .header-nav-caret{transform:translateY(3px) rotate(225deg)}
.header-nav-dropdown{position:absolute;z-index:1350;top:calc(100% + 10px);display:none;padding:18px;border:1px solid #dfc9ad;border-radius:19px;background:rgba(255,250,240,.985);box-shadow:0 18px 42px rgba(78,59,40,.17);backdrop-filter:blur(10px)}
.header-nav-dropdown::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.header-nav-menu.is-open .header-nav-dropdown{display:block}
.header-nav-dropdown.is-wide{left:-18px;width:min(760px,calc(100vw - 40px))}
.header-nav-dropdown.is-medium{left:50%;width:min(520px,calc(100vw - 40px));transform:translateX(-50%)}
.header-nav-dropdown.is-small{right:-12px;width:min(340px,calc(100vw - 40px))}
.header-nav-dropdown-grid{display:grid;gap:14px}
.header-nav-dropdown-grid.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.header-nav-dropdown-grid.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.header-nav-dropdown-grid.columns-1{grid-template-columns:minmax(0,1fr)}
.header-nav-column{min-width:0}
.header-nav-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;margin:0 3px 7px;padding-bottom:7px;border-bottom:1px solid rgba(120,88,56,.12)}
.header-nav-section-heading strong{font-size:12px;color:#ad7444;letter-spacing:.04em}
.header-nav-section-heading span{padding:2px 7px;border-radius:999px;background:#f1e3cf;color:#9a7d62;font-size:9px;font-weight:800}
.header-nav-links{display:grid;gap:5px}
.header-nav-link{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:9px 10px;border-radius:11px;color:#54483c;transition:background .15s ease,color .15s ease,transform .15s ease}
a.header-nav-link:hover,a.header-nav-link:focus-visible{background:#f3e4ce;color:#9a5c2c;outline:none;transform:translateX(1px)}
.header-nav-link-copy{display:block;min-width:0}
.header-nav-link-copy strong,.header-nav-link-copy small{display:block;min-width:0}
.header-nav-link-copy strong{font-size:13px;line-height:1.35}
.header-nav-link-copy small{margin-top:2px;color:#8b7a68;font-size:10px;font-weight:600;line-height:1.45}
.header-nav-link>b{flex:0 0 auto;color:#b77742;font-size:12px}
.header-nav-link>em{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:#eee0cc;color:#9c8269;font-size:9px;font-style:normal;font-weight:800}
.header-nav-link.is-disabled{opacity:.58;cursor:default}
.header-nav-link.depth-1{margin-left:17px;padding-left:15px}
.header-nav-link.depth-1::before{content:"";position:absolute;left:2px;top:5px;bottom:5px;width:1px;background:#dfcdb6}
.header-nav-community .header-nav-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.header-nav-community .header-nav-link:nth-child(5){grid-column:1/-1}

.header-member-actions{position:relative;z-index:1400;display:flex;align-items:center;gap:7px;flex:0 0 auto}
.header-icon-button{position:relative;display:grid;place-items:center;width:39px;height:39px;min-width:39px;padding:0;border:1px solid #d9c5a9;border-radius:50%;background:#f7ecda;color:#80664e;box-shadow:0 2px 7px rgba(89,65,45,.045);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}
.header-icon-button:hover,.header-icon-button:focus-visible{background:#fff2dd;border-color:#d8b887;color:#a65f2d;outline:none;transform:translateY(-1px)}
.header-action-icon{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.header-star-icon{width:19px;height:19px;fill:rgba(233,134,50,.14);stroke-width:1.65}
.header-account-icon{width:21px;height:21px}
.header-bell-icon{width:20px;height:20px}
.header-member-actions .member-hub{z-index:1410;margin:0}
.header-member-actions .member-sprout-anchor{display:grid;place-items:center;height:auto;margin:0}
.header-member-actions .member-seed-toggle.header-icon-button{width:39px;height:39px;border:1px solid #d9c5a9;border-radius:50%;background:#f7ecda;box-shadow:0 2px 7px rgba(89,65,45,.045)}
.header-member-actions .member-seed-toggle.header-icon-button:hover{background:#fff2dd}
.header-member-actions .member-leaf-menu{top:39px;right:-28px}
.header-member-actions [data-tooltip]::after{content:attr(data-tooltip);position:absolute;z-index:1600;left:50%;top:calc(100% + 8px);padding:5px 8px;border:1px solid #e0ccb0;border-radius:8px;background:#fffaf0;color:#695747;box-shadow:0 5px 13px rgba(71,54,38,.1);font:700 10px/1.2 "Zen Maru Gothic",sans-serif;white-space:nowrap;opacity:0;visibility:hidden;transform:translate(-50%,-3px);transition:.14s ease;pointer-events:none}
.header-member-actions [data-tooltip]:hover::after,.header-member-actions [data-tooltip]:focus-visible::after{opacity:1;visibility:visible;transform:translate(-50%,0)}
.header-member-actions .member-notification-badge{top:-6px;right:-7px;border-color:#fffaf0}

.header-account-menu{position:relative}
.header-account-dropdown{position:absolute;z-index:1500;top:calc(100% + 10px);right:0;display:none;width:286px;padding:12px;border:1px solid #dfc9ad;border-radius:18px;background:#fffaf0;box-shadow:0 18px 42px rgba(78,59,40,.18)}
.header-account-dropdown::before{content:"";position:absolute;top:-11px;right:0;width:64px;height:11px}
.header-account-menu.is-open .header-account-dropdown{display:block}
.header-account-summary{padding:10px 11px 12px;border-bottom:1px solid #ead9c3}
.header-account-summary strong,.header-account-summary span{display:block}
.header-account-summary strong{color:#53463a;font-size:15px}
.header-account-summary span{margin-top:4px;color:#b16b35;font-size:12px;font-weight:800}
.header-account-links{display:grid;gap:3px;padding:8px 0 3px}
.header-account-links.is-secondary{margin-top:5px;padding-top:8px;border-top:1px solid #ead9c3}
.header-account-links a{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:38px;padding:7px 9px;border-radius:10px;color:#5c4d40}
.header-account-links a:hover,.header-account-links a:focus-visible{background:#f3e4ce;color:#975a2d;outline:none}
.account-menu-icon{display:grid;place-items:center;width:22px;height:22px;color:#a36e43;font:800 14px/1 sans-serif}
.header-account-links strong{font-size:12px}
.header-account-links em{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#d95f52;color:#fff;font:800 9px/1 Arial,sans-serif}

/* New mobile menu mirrors the same four information groups. */
.mobile-header-groups{display:grid;gap:8px}
.mobile-header-group{border:1px solid #e4d2ba;border-radius:15px;background:#fffdf8;overflow:hidden}
.mobile-header-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:11px 14px;border:0;background:transparent;color:#5d4e41;font:inherit;cursor:pointer;text-align:left}
.mobile-header-group-toggle strong{font-size:14px}
.mobile-header-group-toggle>span{width:8px;height:8px;margin-right:3px;border-right:2px solid #9a7555;border-bottom:2px solid #9a7555;transform:rotate(45deg);transition:transform .16s ease}
.mobile-header-group.is-open .mobile-header-group-toggle>span{transform:rotate(225deg) translate(-2px,-2px)}
.mobile-header-group-panel{padding:0 10px 10px;border-top:1px solid #eee0ce}
.mobile-header-group-panel[hidden]{display:none!important}
.mobile-header-subheading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:11px 4px 4px;color:#a86d3d;font-size:11px;font-weight:800}
.mobile-header-subheading em{padding:2px 6px;border-radius:999px;background:#f0e2cf;color:#9c8269;font-size:9px;font-style:normal}
.mobile-header-link{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 10px;border-radius:11px;color:#55483c}
a.mobile-header-link:hover{background:#f6ead7}
.mobile-header-link>span{display:grid;gap:1px;min-width:0}
.mobile-header-link strong{font-size:13px}
.mobile-header-link small{color:#8a7968;font-size:10px}
.mobile-header-link>b{color:#b77742;font-size:12px}
.mobile-header-link>em{padding:3px 7px;border-radius:999px;background:#eee0cc;color:#9c8269;font-size:9px;font-style:normal;font-weight:800}
.mobile-header-link.is-disabled{opacity:.55}
.mobile-header-link.depth-1{margin-left:16px;padding-left:15px}
.mobile-header-link.depth-1::before{content:"";position:absolute;left:3px;top:7px;bottom:7px;width:1px;background:#dfcdb6}
.mobile-shortcut-section,.mobile-help-nav{width:min(100%,620px);margin:18px auto 0;padding-top:17px;border-top:1px solid #eadbc6}
.mobile-shortcut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.mobile-shortcut-grid a{display:block;min-width:0;padding:10px 11px;border:1px solid #e4d2ba;border-radius:12px;background:#fffdf8}
.mobile-shortcut-grid strong,.mobile-shortcut-grid small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mobile-shortcut-grid strong{font-size:12px}.mobile-shortcut-grid small{margin-top:2px;color:#8b7968;font-size:9px}
.mobile-notification-link,.mobile-help-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;min-height:48px;padding:9px 13px;border:1px solid #e4d2ba;border-radius:13px;background:#fffdf8;color:#55483c}
.mobile-notification-link>span{font-size:13px;font-weight:800}.mobile-notification-link>em{display:grid;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 5px;border-radius:999px;background:#d95f52;color:#fff;font:800 9px/1 Arial,sans-serif}.mobile-notification-link>b,.mobile-help-link>b{color:#b77742}
.mobile-help-link>span{display:grid;gap:2px}.mobile-help-link strong{font-size:13px}.mobile-help-link small{color:#8b7968;font-size:10px}

@media(max-width:1100px){
  .desktop-header-nav{display:none!important}
  .header-member-actions{margin-left:0;gap:6px}
  .header-member-actions .member-sprout-anchor{display:none!important}
  .header-icon-button{width:40px;height:40px;min-width:40px}
  .header-account-dropdown{position:fixed;top:68px;right:12px;width:min(286px,calc(100vw - 24px))}
  .header-member-actions [data-tooltip]::after{display:none}
}
@media(max-width:620px){
  .site-header{gap:9px;padding-left:10px;padding-right:10px}
  .brand{min-width:0;margin-right:auto;font-size:18px}
  .brand-copy{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .header-notification-button{display:none}
  .header-member-actions{gap:0}
  .header-icon-button{width:38px;height:38px;min-width:38px}
  .mobile-shortcut-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:420px){
  .brand-copy{max-width:150px}
  .mobile-shortcut-grid{grid-template-columns:1fr}
}


/* ===== v0.9.133: center desktop header navigation and dropdown panels ===== */
@media(min-width:1101px){
  /* Keep the brand on the left and member actions on the right while the
     four main navigation labels stay visually centered in the viewport. */
  .site-header{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    column-gap:24px;
  }
  .site-header>.brand{justify-self:start;min-width:0}
  .desktop-header-nav{
    position:static;
    justify-self:center;
    margin-left:0;
    gap:clamp(20px,1.6vw,30px);
  }
  .header-member-actions{justify-self:end}

  /* Dropdowns belong to the header as a whole rather than to the individual
     label. Centering every panel prevents the wide FC menu from running off
     the right edge of the screen. */
  .header-nav-menu{position:static}
  .header-nav-dropdown,
  .header-nav-dropdown.is-wide,
  .header-nav-dropdown.is-medium,
  .header-nav-dropdown.is-small{
    left:50%;
    right:auto;
    transform:translateX(-50%);
  }
  .header-nav-dropdown.is-wide{width:min(820px,calc(100vw - 72px))}
  .header-nav-dropdown.is-medium{width:min(560px,calc(100vw - 72px))}
  .header-nav-dropdown.is-small{width:min(360px,calc(100vw - 72px))}
}


/* ===== v0.9.134: viewport-safe header wrapping ===== */
@media(min-width:1101px){
  /* Never let the centered navigation or its panels create horizontal overflow. */
  .site-header{width:100%;max-width:100%}
  .desktop-header-nav{
    min-width:0;
    max-width:100%;
    flex-wrap:wrap;
    justify-content:center;
    row-gap:0;
  }
  .header-nav-dropdown,
  .header-nav-dropdown.is-wide,
  .header-nav-dropdown.is-medium,
  .header-nav-dropdown.is-small{
    box-sizing:border-box;
    max-width:calc(100vw - 32px);
    max-height:calc(100vh - 96px);
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
  }

  /* Columns wrap automatically when the viewport is too narrow instead of
     squeezing content off screen. A wide panel is normally 3 columns, then
     naturally becomes 2 / 1 columns as available width decreases. */
  .header-nav-dropdown-grid.columns-2,
  .header-nav-dropdown-grid.columns-3{
    grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))!important;
  }
  .header-nav-dropdown-grid.columns-1{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .header-nav-column,
  .header-nav-links,
  .header-nav-link,
  .header-nav-link-copy{min-width:0;max-width:100%}
  .header-nav-section-heading{flex-wrap:wrap}
  .header-nav-section-heading strong,
  .header-nav-link-copy strong,
  .header-nav-link-copy small{
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }
}

/* On smaller desktop / tablet-landscape widths, move the four main labels to
   a second centered row. This is an intentional wrap, not horizontal clipping. */
@media(min-width:1101px) and (max-width:1240px){
  .site-header{
    height:auto;
    min-height:74px;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "brand actions"
      "nav nav";
    row-gap:2px;
    column-gap:18px;
    padding-top:7px;
    padding-bottom:7px;
  }
  .site-header>.brand{grid-area:brand;max-width:100%}
  .desktop-header-nav{
    grid-area:nav;
    justify-self:center;
    width:100%;
    gap:clamp(14px,2.2vw,24px);
  }
  .header-member-actions{grid-area:actions}
}

/* If an unusually long header label is configured, let the label itself wrap
   rather than widening the page. */
@media(min-width:1101px) and (max-width:1240px){
  .header-nav-toggle{
    max-width:180px;
    white-space:normal;
    text-align:center;
    justify-content:center;
  }
}

/* ===== v0.9.135: Orange-style custom shortcut panel ===== */
/* The shortcut remains the fast personal launcher opened by ★, but the old
   seed / sprouting-leaf decoration has been retired. It now uses the same
   cream paper, rounded border, spacing, and orange accents as the site header. */
.member-shortcut-menu.member-leaf-menu{
  position:absolute!important;
  z-index:1500!important;
  top:calc(100% + 10px)!important;
  right:0!important;
  left:auto!important;
  width:min(410px,calc(100vw - 32px))!important;
  height:auto!important;
  min-height:0!important;
  max-height:calc(100vh - 92px)!important;
  box-sizing:border-box!important;
  padding:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  border:1px solid #dfc9ad!important;
  border-radius:19px!important;
  background:rgba(255,250,240,.99)!important;
  box-shadow:0 18px 42px rgba(78,59,40,.18)!important;
  backdrop-filter:blur(10px);
  color:#55483c!important;
  opacity:0;
  pointer-events:none!important;
  transform:translateY(-6px) scale(.985)!important;
  transform-origin:top right!important;
  transition:opacity .15s ease,transform .18s ease!important;
  overscroll-behavior:contain;
}
.member-shortcut-menu.member-leaf-menu::before{
  content:"";
  position:absolute;
  top:-11px;
  right:0;
  width:62px;
  height:11px;
}
.member-hub.is-open .member-shortcut-menu.member-leaf-menu{
  opacity:1!important;
  pointer-events:auto!important;
  transform:none!important;
}
.member-shortcut-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 17px 14px;
  border-bottom:1px solid #ead9c3;
  background:linear-gradient(180deg,rgba(255,253,248,.94),rgba(255,249,238,.72));
}
.member-shortcut-header>div{display:grid;gap:4px;min-width:0}
.member-shortcut-kicker{
  margin:0!important;
  color:#c67b3f;
  font-size:9px;
  font-weight:900;
  line-height:1;
  letter-spacing:.16em;
}
.member-shortcut-header strong{
  color:#54473b;
  font-size:15px;
  line-height:1.35;
}
.member-shortcut-mark{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:34px;
  height:34px;
  border:1px solid #e2c8a7;
  border-radius:50%;
  background:#f7ead5;
  color:#b56d35;
}
.member-shortcut-mark svg{display:block;width:17px;height:17px;fill:rgba(233,134,50,.14);stroke:currentColor;stroke-width:1.55;stroke-linejoin:round}
.member-shortcut-links{display:grid;gap:4px;padding:10px}
.member-shortcut-link{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 16px;
  align-items:center;
  gap:10px;
  min-width:0;
  min-height:54px;
  padding:8px 10px;
  border-radius:12px;
  color:#584a3d;
  transition:background .15s ease,color .15s ease,transform .15s ease;
}
a.member-shortcut-link:hover,
a.member-shortcut-link:focus-visible{
  background:#f3e4ce;
  color:#975a2d;
  outline:none;
  transform:translateX(1px);
}
.member-shortcut-link.is-preparing{opacity:.56;cursor:default}
.member-shortcut-number{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border:1px solid #e4ceb1;
  border-radius:10px;
  background:#fffdf8;
  color:#b87945;
  font:900 9px/1 "Zen Maru Gothic",sans-serif;
  letter-spacing:.06em;
}
.member-shortcut-copy{display:block;min-width:0}
.member-shortcut-copy strong,
.member-shortcut-copy small{display:block;min-width:0;white-space:normal;overflow-wrap:anywhere}
.member-shortcut-copy strong{font-size:13px;line-height:1.35}
.member-shortcut-copy small{margin-top:2px;color:#8b7a68;font-size:10px;font-weight:600;line-height:1.4}
.member-shortcut-link>b{justify-self:end;color:#b77742;font-size:15px;font-weight:700}
.member-shortcut-edit{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:46px;
  padding:10px 17px;
  border-top:1px solid #ead9c3;
  background:rgba(247,236,218,.48);
  color:#795f49;
  font-size:11px;
  font-weight:900;
  letter-spacing:.01em;
}
.member-shortcut-edit:hover,.member-shortcut-edit:focus-visible{background:#f3e4ce;color:#975a2d;outline:none}
.member-shortcut-edit b{color:#b77742;font-size:13px}

/* Mobile uses the same visual language instead of a separate leaf concept. */
.mobile-shortcut-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}
.mobile-shortcut-heading>div{display:grid;gap:4px;min-width:0}
.mobile-shortcut-heading .mobile-nav-kicker{margin:0}
.mobile-shortcut-heading strong{color:#584a3d;font-size:14px;line-height:1.3}
.mobile-shortcut-heading>a{
  flex:0 0 auto;
  padding:5px 9px;
  border:1px solid #e0c8aa;
  border-radius:999px;
  background:#fffaf0;
  color:#a66a3d;
  font-size:10px;
  font-weight:800;
}
.mobile-shortcut-grid a{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 12px;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:9px 10px;
  border:1px solid #e4d2ba;
  border-radius:12px;
  background:#fffdf8;
  color:#584a3d;
}
.mobile-shortcut-grid a:hover,.mobile-shortcut-grid a:focus-visible{background:#f3e4ce;color:#975a2d;outline:none}
.mobile-shortcut-grid a>span:not(.mobile-shortcut-number){display:block;min-width:0}
.mobile-shortcut-number{
  display:grid!important;
  place-items:center;
  width:27px;
  height:27px;
  border:1px solid #e4ceb1;
  border-radius:9px;
  background:#fffaf0;
  color:#b87945;
  font-size:8px!important;
  font-weight:900;
}
.mobile-shortcut-grid a>b{justify-self:end;color:#b77742;font-size:13px}
.mobile-shortcut-grid strong,.mobile-shortcut-grid small{white-space:normal;overflow-wrap:anywhere}

@media(max-width:1240px) and (min-width:1101px){
  .member-shortcut-menu.member-leaf-menu{width:min(390px,calc(100vw - 28px))!important}
}


/* ===== v0.9.136: Orange notification dropdown ===== */
.header-notification-menu{position:relative;z-index:1420}
.header-notification-dropdown{
  position:absolute;z-index:1520;top:calc(100% + 10px);right:-48px;
  display:none;width:min(390px,calc(100vw - 28px));max-height:calc(100vh - 92px);
  box-sizing:border-box;overflow:hidden;border:1px solid #dfc9ad;border-radius:19px;
  background:rgba(255,250,240,.99);box-shadow:0 18px 42px rgba(78,59,40,.18);backdrop-filter:blur(10px);color:#55483c
}
.header-notification-dropdown::before{content:"";position:absolute;top:-11px;right:38px;width:64px;height:11px}
.header-notification-menu.is-open .header-notification-dropdown{display:block}
.header-notification-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px 13px;border-bottom:1px solid #ead9c3;background:linear-gradient(180deg,rgba(255,253,248,.96),rgba(255,249,238,.75))}
.header-notification-heading>div{display:grid;gap:3px;min-width:0}
.header-notification-heading p{margin:0;color:#c67b3f;font-size:9px;font-weight:900;line-height:1;letter-spacing:.15em}
.header-notification-heading strong{font-size:15px;line-height:1.35;color:#54473b}
.header-notification-heading button{flex:0 0 auto;padding:5px 9px;border:1px solid #dfc6a8;border-radius:999px;background:#fffaf0;color:#a56a3d;font:800 10px/1.2 "Zen Maru Gothic",sans-serif;cursor:pointer}
.header-notification-heading button:hover:not(:disabled),.header-notification-heading button:focus-visible:not(:disabled){background:#f3e4ce;color:#975a2d;outline:none}
.header-notification-heading button:disabled{opacity:.55;cursor:default}
.header-notification-list{max-height:min(480px,calc(100vh - 155px));overflow-y:auto;overscroll-behavior:contain;padding:7px}
.header-notification-item{display:grid;grid-template-columns:9px 31px minmax(0,1fr);align-items:start;gap:8px;min-width:0;padding:10px 9px;border-radius:12px;color:#584a3d;transition:background .15s ease,color .15s ease}
.header-notification-item:hover,.header-notification-item:focus-visible{background:#f3e4ce;color:#975a2d;outline:none}
.header-notification-item+.header-notification-item{border-top:1px solid rgba(231,215,193,.68);border-radius:0}
.header-notification-item+.header-notification-item:hover,.header-notification-item+.header-notification-item:focus-visible{border-radius:12px;border-top-color:transparent}
.header-notification-dot{width:7px;height:7px;margin-top:8px;border-radius:50%;background:transparent}
.header-notification-item.is-unread .header-notification-dot{background:#e98632;box-shadow:0 0 0 3px rgba(233,134,50,.1)}
.header-notification-icon{display:grid;place-items:center;width:30px;height:30px;border:1px solid #e3cdb1;border-radius:10px;background:#fffdf8;font-size:15px;line-height:1}
.header-notification-copy{display:block;min-width:0}
.header-notification-copy strong,.header-notification-copy small,.header-notification-copy time{display:block;min-width:0;white-space:normal;overflow-wrap:anywhere}
.header-notification-copy strong{color:#56483c;font-size:12px;line-height:1.4}
.header-notification-item.is-unread .header-notification-copy strong{font-weight:900}
.header-notification-copy small{margin-top:2px;color:#7f6f60;font-size:10px;font-weight:600;line-height:1.45}
.header-notification-copy time{margin-top:4px;color:#aa8e73;font-size:9px;font-style:normal;font-weight:700;line-height:1.2}
.header-notification-empty{display:grid;justify-items:center;gap:5px;padding:30px 18px 32px;text-align:center;color:#7f6f60}
.header-notification-empty>span{display:grid;place-items:center;width:42px;height:42px;margin-bottom:3px;border:1px solid #e2cbb0;border-radius:50%;background:#fffdf8;font-size:19px}
.header-notification-empty strong{color:#665548;font-size:13px}.header-notification-empty small{font-size:10px;line-height:1.6}
.mobile-notification-link{width:100%;font:inherit;cursor:pointer;text-align:left}
@media(max-width:1100px){
  .header-notification-dropdown{position:fixed;top:68px;right:12px;width:min(390px,calc(100vw - 24px));max-height:calc(100vh - 82px)}
  .header-notification-list{max-height:calc(100vh - 150px)}
}
@media(max-width:620px){
  .header-notification-dropdown{top:66px;left:12px;right:12px;width:auto;max-height:calc(100vh - 80px)}
  .header-notification-list{max-height:calc(100vh - 148px)}
}


/* ===== v0.9.137: compact top notices + live recruitment copy + exact mobile My Page ROOM ===== */
/* The INFORMATION / お知らせ heading was intentionally removed; start the filters without a dead gap. */
.notice-board.notice-board-dynamic{padding-top:38px}
.notice-board.notice-board-dynamic .notice-category-tabs{margin-top:0}
@media(max-width:700px){
  .notice-board.notice-board-dynamic{padding-top:34px}
}

/* My Page only: on phones/tablets, keep the entire room on one true 16:9 coordinate stage.
 * Furniture remains percentage-positioned against the same stage, while the My Page overlays
 * scale from the same container width instead of switching to unrelated mobile pixel values. */
@media(max-width:700px){
  .mypage-room-preview.is-room-mirror .mypage-room-mirror-visual{
    container-type:inline-size;
  }
  .mypage-room-preview.is-room-mirror .member-room-scene{
    position:relative;
    width:100%;
    min-width:0;
    height:auto;
    min-height:0;
    aspect-ratio:16 / 9;
    left:auto;
    transform:none;
    --room-item-scale:1;
  }
  .mypage-room-preview.is-room-mirror .member-room-scene .room-fixed-layer>img{
    object-fit:fill;
    object-position:center center;
  }
  .mypage-room-preview.is-room-mirror .mypage-room-user{
    top:2.037cqw;
    left:2.037cqw;
    gap:1.111cqw;
    padding:.926cqw 1.296cqw .926cqw .926cqw;
    border-radius:1.667cqw;
  }
  .mypage-room-preview.is-room-mirror .mypage-room-avatar{
    width:5.37cqw;
    height:5.37cqw;
    border-width:.37cqw;
  }
  .mypage-room-preview.is-room-mirror .mypage-room-user>div{gap:.278cqw}
  .mypage-room-preview.is-room-mirror .mypage-room-user strong{font-size:1.667cqw}
  .mypage-room-preview.is-room-mirror .mypage-room-user small{font-size:1.204cqw}
  .mypage-room-preview.is-room-mirror .mypage-room-edit-icon{
    width:3.148cqw;
    height:3.148cqw;
    margin-left:.463cqw;
    border-radius:50%;
  }
  .mypage-room-preview.is-room-mirror .mypage-room-edit-icon svg{
    width:1.574cqw;
    height:1.574cqw;
  }
  .mypage-room-preview.is-room-mirror .mypage-room-logout{
    top:2.222cqw;
    right:2.222cqw;
    padding:.833cqw 1.296cqw;
    font-size:1.204cqw;
  }
  .mypage-room-preview.is-room-mirror .mypage-room-inline-actions{
    right:2.037cqw;
    bottom:1.852cqw;
    gap:.833cqw;
    flex-wrap:nowrap;
  }
  .mypage-room-preview.is-room-mirror .mypage-room-inline-actions .member-edit-button{
    min-height:3.333cqw;
    padding:.741cqw 1.296cqw;
    font-size:1.111cqw;
    white-space:nowrap;
  }
}
@media(max-width:420px){
  /* Keep controls tappable at very narrow widths without changing room/furniture geometry. */
  .mypage-room-preview.is-room-mirror .mypage-room-user strong{font-size:max(10px,1.667cqw)}
  .mypage-room-preview.is-room-mirror .mypage-room-user small{font-size:max(8px,1.204cqw)}
  .mypage-room-preview.is-room-mirror .mypage-room-logout{font-size:max(8px,1.204cqw)}
  .mypage-room-preview.is-room-mirror .mypage-room-inline-actions .member-edit-button{font-size:max(8px,1.111cqw)}
}


/* ===== v0.9.139: keep My Page room 16:9 at every responsive width =====
 * v0.9.137 only applied the 16:9 override below 700px. Tablet widths above
 * that breakpoint therefore fell back to the legacy 500px min-height and
 * distorted the shared room coordinate system. My Page now always uses one
 * 16:9 stage, and its overlays scale from that same stage width.
 */
.mypage-room-preview.is-room-mirror .mypage-room-mirror-visual{
  container-type:inline-size;
}
.mypage-room-preview.is-room-mirror .member-room-scene{
  position:relative;
  width:100%;
  min-width:0;
  height:auto;
  min-height:0;
  aspect-ratio:16 / 9;
  left:auto;
  transform:none;
  --room-item-scale:1;
}
.mypage-room-preview.is-room-mirror .member-room-scene .room-fixed-layer>img{
  object-fit:fill;
  object-position:center center;
}
.mypage-room-preview.is-room-mirror .mypage-room-user{
  top:2.037cqw;
  left:2.037cqw;
  gap:1.111cqw;
  padding:.926cqw 1.296cqw .926cqw .926cqw;
  border-radius:1.667cqw;
}
.mypage-room-preview.is-room-mirror .mypage-room-avatar{
  width:5.37cqw;
  height:5.37cqw;
  border-width:.37cqw;
}
.mypage-room-preview.is-room-mirror .mypage-room-user>div{gap:.278cqw}
.mypage-room-preview.is-room-mirror .mypage-room-user strong{font-size:1.667cqw}
.mypage-room-preview.is-room-mirror .mypage-room-user small{font-size:1.204cqw}
.mypage-room-preview.is-room-mirror .mypage-room-edit-icon{
  width:3.148cqw;
  height:3.148cqw;
  margin-left:.463cqw;
  border-radius:50%;
}
.mypage-room-preview.is-room-mirror .mypage-room-edit-icon svg{
  width:1.574cqw;
  height:1.574cqw;
}
.mypage-room-preview.is-room-mirror .mypage-room-logout{
  top:2.222cqw;
  right:2.222cqw;
  padding:.833cqw 1.296cqw;
  font-size:1.204cqw;
}
.mypage-room-preview.is-room-mirror .mypage-room-inline-actions{
  right:2.037cqw;
  bottom:1.852cqw;
  gap:.833cqw;
  flex-wrap:nowrap;
}
.mypage-room-preview.is-room-mirror .mypage-room-inline-actions .member-edit-button{
  min-height:3.333cqw;
  padding:.741cqw 1.296cqw;
  font-size:1.111cqw;
  white-space:nowrap;
}

/* ===== v0.9.140: garden hub / farm / chocobo stable ===== */
.garden-section-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 38px}
.garden-section-nav-item{display:flex;flex-direction:column;gap:3px;min-width:0;padding:15px 18px;border:1px solid #e1c8a6;border-radius:18px;background:#fffaf0;color:#514536;text-decoration:none;box-shadow:4px 5px 0 rgba(108,78,48,.045);transition:transform .15s ease,border-color .15s ease,background .15s ease}
.garden-section-nav-item:hover{transform:translateY(-1px);border-color:#e99a55;background:#fff7e9}
.garden-section-nav-item.is-active{border-color:#e98632;background:#fdf0dc;box-shadow:inset 0 0 0 1px rgba(233,134,50,.12),4px 5px 0 rgba(108,78,48,.045)}
.garden-section-nav-item strong{font-size:16px;line-height:1.35}.garden-section-nav-item span{font-size:11px;color:#8b7b68;line-height:1.5}
.garden-hub-layout{padding-top:44px}.garden-current-section,.garden-archive-section{margin-top:58px}.garden-section-heading-simple{margin-bottom:20px}
.garden-current-card{overflow:hidden;border:1px solid #e4d1b5;border-radius:26px;background:#fffdf8;box-shadow:9px 10px 0 rgba(108,78,48,.055)}
.garden-current-card.is-archive{border-color:#d8c6b1}
.garden-current-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:25px 28px 20px}.garden-current-head .panel-label{margin:0 0 5px}.garden-current-head h3{margin:0;font-size:clamp(24px,3vw,34px)}
.garden-record-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding-top:3px;color:#8b7762;font-size:12px;white-space:nowrap}
.garden-main-shot{position:relative;margin:0 20px;aspect-ratio:16/9;overflow:hidden;border-radius:20px;background:#efe5d5}.garden-main-shot img{display:block;width:100%;height:100%;object-fit:cover}
.garden-main-shot-empty{display:grid;place-items:center;align-content:center;gap:7px;border:1px dashed #d5b98f;background:linear-gradient(135deg,#f8ecda,#f7f3e7);color:#9c7650;text-align:center}.garden-main-shot-empty span{font-size:13px;font-weight:900;letter-spacing:.18em}.garden-main-shot-empty p{margin:0 20px;font-size:13px}
.garden-current-intro{margin:22px 28px 0;font-size:15px;line-height:1.9;color:#65584b}
.garden-area-intro{margin:26px 20px 20px;padding:24px 26px;border:1px solid #eadbc6;border-radius:19px;background:#fffaf2}.garden-area-intro>.panel-label{margin:0 0 3px}.garden-area-intro>h3{margin:0 0 15px;font-size:22px}.garden-area-content{line-height:1.9}.garden-area-content>*:first-child{margin-top:0}.garden-area-content>*:last-child{margin-bottom:0}.garden-area-content img{max-width:100%;height:auto;border-radius:14px}
.garden-back-current{margin:0;padding:0 28px 24px}.garden-back-current a,.garden-admin-link{color:#bd6b29;font-weight:800;text-decoration:none}.garden-current-empty{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);gap:25px;align-items:center;padding:20px}.garden-current-empty .garden-main-shot{margin:0}.garden-current-empty h3{margin:0 0 8px;font-size:23px}.garden-current-empty p{line-height:1.8}
.garden-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.garden-archive-card{overflow:hidden;border:1px solid #e1cfb6;border-radius:19px;background:#fffdf8;color:inherit;text-decoration:none;box-shadow:5px 6px 0 rgba(108,78,48,.04);transition:transform .15s ease,border-color .15s ease}.garden-archive-card:hover,.garden-archive-card.is-selected{transform:translateY(-2px);border-color:#e38c42}.garden-archive-card>img,.garden-archive-thumb-empty{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#f3eadc}.garden-archive-thumb-empty{display:grid;place-items:center;color:#ad8a62;font-size:11px;font-weight:900;letter-spacing:.16em}.garden-archive-card>div{padding:14px 16px 17px}.garden-archive-card time{display:block;margin-bottom:3px;color:#9a8874;font-size:11px}.garden-archive-card h3{margin:0;font-size:17px;line-height:1.5}.garden-archive-card p{margin:5px 0 0;color:#8b7864;font-size:11px}.garden-archive-empty{padding:24px;border:1px dashed #dcc4a2;border-radius:18px;background:#fffaf0;color:#88735d}
.garden-farm-care{width:min(100% - 40px,1180px);margin:0 auto 90px}.garden-farm-care .garden-care-card{max-width:680px;margin:0 auto}.garden-point-wait{margin:0 0 12px;padding:12px 15px;border:1px solid #ead8bd;border-radius:14px;background:#fff8e9;color:#8e683e;font-size:13px;font-weight:700}
.chocobo-stable-layout{padding-top:44px}.chocobo-status-message{margin-bottom:18px}.chocobo-intro-card{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0 0 28px;padding:25px 28px;border:1px solid #e2ceb2;border-radius:22px;background:#fffdf8;box-shadow:6px 7px 0 rgba(108,78,48,.045)}.chocobo-intro-card .panel-label{margin:0 0 4px}.chocobo-intro-card h2{margin:0 0 8px;font-size:27px}.chocobo-intro-card p{margin:0;line-height:1.8}.chocobo-intro-card>span{font-size:50px}
.chocobo-care-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.chocobo-care-card{position:relative;padding:27px;border:1px solid #dfc9aa;border-radius:23px;background:#fffaf0;box-shadow:6px 7px 0 rgba(108,78,48,.045)}.chocobo-care-card.is-clean{background:#f8fbf5;border-color:#cad8bc}.chocobo-care-icon{position:absolute;right:22px;top:20px;font-size:34px}.chocobo-care-card>.panel-label{margin:0 0 4px}.chocobo-care-card h2{max-width:78%;margin:0 0 9px;font-size:24px}.chocobo-care-card>p{line-height:1.75}.chocobo-storage{display:grid;gap:0;margin:20px 0;border:1px solid rgba(119,91,57,.16);border-radius:15px;overflow:hidden;background:rgba(255,255,255,.62)}.chocobo-storage>div{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:11px 13px;border-bottom:1px solid rgba(119,91,57,.12)}.chocobo-storage>div:last-child{border-bottom:0}.chocobo-storage dt{color:#9a7552;font-size:12px;font-weight:800}.chocobo-storage dd{margin:0;font-size:13px;font-weight:700}
.chocobo-care-card form{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.chocobo-care-card button{max-width:100%;border:0;border-radius:999px;background:#e98632;color:#fff;padding:12px 18px;font:inherit;font-size:13px;font-weight:900;cursor:pointer}.chocobo-care-card.is-clean button{background:#7b9560}.chocobo-care-card button:disabled{background:#b9ad9e;cursor:not-allowed}.chocobo-care-card small{color:#887765;font-size:11px}.chocobo-login-note{margin-top:18px!important;padding:11px 13px;border-radius:12px;background:rgba(255,255,255,.58);font-size:12px}.chocobo-extra-note{margin-top:28px;padding:25px 28px;border:1px solid #e2ceb2;border-radius:22px;background:#fffdf8}.chocobo-extra-note h2{margin:0 0 12px}.chocobo-extra-note .panel-label{margin:0 0 4px}
@media(max-width:900px){.garden-section-nav{grid-template-columns:1fr}.garden-section-nav-item{padding:13px 16px}.garden-current-head{flex-direction:column;gap:9px}.garden-record-meta{align-items:flex-start}.garden-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.garden-current-empty{grid-template-columns:1fr}.chocobo-care-grid{grid-template-columns:1fr}}
@media(max-width:560px){.garden-hub-layout,.chocobo-stable-layout{padding-top:30px}.garden-current-section,.garden-archive-section{margin-top:42px}.garden-current-head{padding:20px 19px 16px}.garden-main-shot{margin:0 12px;border-radius:15px}.garden-current-intro{margin:18px 19px 0}.garden-area-intro{margin:20px 12px 12px;padding:18px}.garden-back-current{padding:0 19px 20px}.garden-archive-grid{grid-template-columns:1fr}.garden-current-empty{padding:12px}.garden-farm-care{width:min(100% - 24px,1180px);margin-bottom:70px}.chocobo-intro-card{align-items:flex-start;padding:21px}.chocobo-intro-card>span{font-size:38px}.chocobo-care-card{padding:22px 19px}.chocobo-care-card h2{font-size:21px}.chocobo-storage>div{grid-template-columns:78px 1fr}.chocobo-care-card button{width:100%}}


/* ===== v0.9.141: My Room editor uses the same permanent 16:9 stage =====
 * The edit view previously fell back to the legacy responsive room rules
 * (500/430px minimum heights and mobile furniture scaling). Keep editing on
 * the same coordinate plane as the saved room at every viewport width.
 */
.mypage-room-edit-mode .member-room-visual.mypage-full-room{
  container-type:inline-size;
}
.mypage-room-edit-mode .mypage-full-room > .member-room-scene.is-room-editing{
  position:relative;
  width:100%;
  min-width:0;
  height:auto;
  min-height:0;
  aspect-ratio:16 / 9;
  left:auto;
  transform:none;
  --room-item-scale:1;
}
.mypage-room-edit-mode .mypage-full-room > .member-room-scene.is-room-editing .room-fixed-layer>img{
  width:100%;
  height:100%;
  object-fit:fill;
  object-position:center center;
}
/* Keep the editor portrait/bubble proportional to the same 1080-wide room stage. */
.mypage-room-edit-mode .mypage-full-room > .member-room-scene.is-room-editing .room-profile-frame{
  right:3.148cqw;
  bottom:3.148cqw;
  width:13.889cqw;
  height:13.889cqw;
}
.mypage-room-edit-mode .mypage-full-room > .member-room-scene.is-room-editing .room-profile-photo{
  padding:.741cqw;
}
.mypage-room-edit-mode .mypage-full-room > .member-room-scene.is-room-editing .room-speech-bubble{
  right:10.37cqw;
  bottom:10.648cqw;
  max-width:38.889cqw;
  padding:1.296cqw 1.667cqw;
  border-width:.185cqw;
  border-radius:2.037cqw;
  font-size:1.481cqw;
}
.mypage-room-edit-mode .mypage-full-room > .member-room-scene.is-room-editing .room-speech-bubble:after{
  right:2.222cqw;
  bottom:-1.111cqw;
  width:1.852cqw;
  height:1.852cqw;
  border-right-width:.185cqw;
  border-bottom-width:.185cqw;
}


/* ===== v0.9.143: shared chocobo stable condition ===== */
.chocobo-condition-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 24px;align-items:center;margin:0 0 28px;padding:23px 26px;border:1px solid #e1cfb5;border-radius:22px;background:#fffdf8;box-shadow:6px 7px 0 rgba(108,78,48,.045)}
.chocobo-condition-copy .panel-label{margin:0 0 4px}.chocobo-condition-copy h2{margin:0 0 7px;font-size:25px}.chocobo-condition-copy p{margin:0;line-height:1.75;color:#67584a}.chocobo-condition-copy small{display:block;margin-top:7px;color:#9a8067;font-size:11px;font-weight:700}
.chocobo-condition-state{display:grid;place-items:center;min-width:112px;padding:15px 18px;border:1px solid #dbc7aa;border-radius:18px;background:#fff9ef;text-align:center}.chocobo-condition-state span{font-size:10px;font-weight:800;color:#9b7c5f;letter-spacing:.1em}.chocobo-condition-state strong{margin-top:2px;font-size:24px;line-height:1.25;color:#665344}.chocobo-condition-card.is-clean .chocobo-condition-state{border-color:#bfd1ad;background:#f6faef}.chocobo-condition-card.is-clean .chocobo-condition-state strong{color:#66804e}.chocobo-condition-card.is-normal .chocobo-condition-state{border-color:#e4cf9d;background:#fff8e6}.chocobo-condition-card.is-normal .chocobo-condition-state strong{color:#9a7232}.chocobo-condition-card.is-bad .chocobo-condition-state{border-color:#dfb5a8;background:#fff2ee}.chocobo-condition-card.is-bad .chocobo-condition-state strong{color:#a45b49}
.chocobo-condition-flow{grid-column:1/-1;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:center;padding-top:15px;border-top:1px solid #eadcc8}.chocobo-condition-flow>span{display:grid;gap:2px;padding:10px 12px;border-radius:13px;background:#f8f3eb;text-align:center;font-size:13px;font-weight:900;color:#655647}.chocobo-condition-flow>span small{font-size:9px;font-weight:700;color:#9a8773}.chocobo-condition-flow>b{color:#c8ae8f;font-size:14px}
.chocobo-condition-card.is-clean .chocobo-condition-flow .is-clean,.chocobo-condition-card.is-normal .chocobo-condition-flow .is-normal,.chocobo-condition-card.is-bad .chocobo-condition-flow .is-bad{box-shadow:inset 0 0 0 1px #dbb98f;background:#fff4e5;color:#9b642f}
@media(max-width:700px){.chocobo-condition-card{grid-template-columns:1fr;padding:21px}.chocobo-condition-state{justify-self:start;min-width:96px}.chocobo-condition-flow{grid-template-columns:1fr;gap:6px}.chocobo-condition-flow>b{transform:rotate(90deg);justify-self:center}}

/* ===== v0.9.144: shared chocobo actions + planter care ===== */
.garden-farm-care .garden-care-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.garden-farm-care .garden-care-card{max-width:none;margin:0;box-shadow:5px 6px 0 rgba(108,78,48,.04)}
.garden-planter-care-card{background:#fffdf5}
.chocobo-confirm-modal[hidden]{display:none!important}
.chocobo-confirm-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:20px}
.chocobo-confirm-backdrop{position:absolute;inset:0;background:rgba(55,43,31,.5);backdrop-filter:blur(3px)}
.chocobo-confirm-dialog{position:relative;z-index:1;width:min(100%,470px);box-sizing:border-box;padding:30px 30px 25px;border:1px solid #e2c8a7;border-radius:24px;background:#fffaf0;box-shadow:0 24px 70px rgba(55,40,26,.27);color:#554638}
.chocobo-confirm-dialog .panel-label{margin:0 0 5px;color:#dd7d2c}
.chocobo-confirm-dialog h2{margin:0 0 12px;font-size:26px}
.chocobo-confirm-dialog>p:not(.panel-label){margin:0;color:#756454;line-height:1.8;font-size:14px}
.chocobo-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
.chocobo-confirm-actions button{min-width:94px;padding:11px 18px;border-radius:999px;font:inherit;font-weight:900;cursor:pointer}
.chocobo-confirm-actions .is-cancel{border:1px solid #d9c5aa;background:#fff;color:#715f4c}
.chocobo-confirm-actions .is-ok{border:1px solid #df7d2e;background:#e98632;color:#fff}
body.chocobo-confirm-open{overflow:hidden}
@media(max-width:620px){.garden-farm-care .garden-care-grid{grid-template-columns:1fr}.chocobo-confirm-dialog{padding:25px 21px 21px}.chocobo-confirm-actions{display:grid;grid-template-columns:1fr 1fr}.chocobo-confirm-actions button{width:100%;min-width:0}}


/* ===== v0.9.147: FCフリマ ===== */
.orange-freemarket-shell{width:min(1180px,calc(100% - 32px));margin:46px auto 80px;color:var(--ink)}
.orange-freemarket-hero{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;padding:28px 30px;border:1px solid rgba(126,91,55,.16);border-radius:24px;background:linear-gradient(135deg,#fffaf0,#f7ead7);box-shadow:0 14px 38px rgba(91,67,42,.08)}
.orange-freemarket-hero h1{margin:2px 0 8px;font-size:clamp(30px,5vw,44px)}.orange-freemarket-hero p{margin:0;max-width:720px;line-height:1.8;color:var(--muted)}
.orange-freemarket-balance{min-width:160px;padding:15px 20px;border-radius:18px;background:#fff;text-align:right;box-shadow:0 6px 18px rgba(91,67,42,.08)}.orange-freemarket-balance span{display:block;color:var(--muted);font-size:12px}.orange-freemarket-balance strong{display:block;margin-top:3px;color:var(--orange);font-size:26px}
.orange-freemarket-rulebar{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 0}.orange-freemarket-rulebar span{padding:9px 13px;border:1px solid rgba(126,91,55,.14);border-radius:999px;background:#fff;color:var(--muted);font-size:12px}.orange-freemarket-rulebar strong{color:var(--ink)}
.orange-freemarket-alert{margin:18px 0 0;padding:13px 16px;border-radius:14px;font-weight:700}.orange-freemarket-alert.is-success{background:#edf8ee;color:#315c38}.orange-freemarket-alert.is-error{background:#fff0ed;color:#a33d2c}
.orange-freemarket-section{margin-top:42px}.orange-freemarket-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:16px}.orange-freemarket-heading h2{margin:2px 0 0;font-size:25px}.orange-freemarket-heading>p{max-width:560px;margin:0;color:var(--muted);font-size:13px;line-height:1.8;text-align:right}
.orange-freemarket-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.orange-freemarket-card{overflow:hidden;border:1px solid rgba(126,91,55,.15);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(85,62,39,.07)}
.orange-freemarket-image{display:grid;place-items:center;aspect-ratio:1/1;background:#f8f2e9;overflow:hidden}.orange-freemarket-image img{width:100%;height:100%;object-fit:contain}.orange-freemarket-image span{font-size:11px;color:#a49685;letter-spacing:.08em}
.orange-freemarket-card-body{padding:15px}.orange-freemarket-tags{display:flex;justify-content:space-between;gap:8px;align-items:center}.orange-freemarket-tags span{padding:4px 8px;border-radius:999px;background:#f6eadb;color:#8d6642;font-size:10px;font-weight:700}.orange-freemarket-tags em{font-style:normal;color:#9b8874;font-size:10px}.orange-freemarket-card h3{min-height:2.8em;margin:10px 0 8px;font-size:15px;line-height:1.4}.orange-freemarket-price{display:block;color:var(--orange);font-size:20px}.orange-freemarket-card form{margin-top:12px}.orange-freemarket-card button,.orange-freemarket-sell-action button{width:100%;padding:11px 14px;border:0;border-radius:999px;background:var(--orange);color:#fff;font:inherit;font-size:13px;font-weight:700;line-height:1.2;cursor:pointer}.orange-freemarket-card button:disabled{background:#cfc5b9;color:#fff;cursor:not-allowed}
.orange-freemarket-empty{display:grid;gap:5px;padding:30px;border:1px dashed rgba(126,91,55,.26);border-radius:18px;background:rgba(255,250,240,.65);text-align:center}.orange-freemarket-empty span{color:var(--muted);font-size:13px}
.orange-freemarket-sell-section{padding-top:12px;border-top:1px solid rgba(126,91,55,.12)}.orange-freemarket-sell-grid{display:grid;gap:10px}.orange-freemarket-sell-card{display:grid;grid-template-columns:86px minmax(0,1fr) 150px;gap:16px;align-items:center;padding:12px 14px;border:1px solid rgba(126,91,55,.14);border-radius:16px;background:#fff}.orange-freemarket-sell-image{display:grid;place-items:center;width:86px;height:70px;overflow:hidden;border-radius:12px;background:#f8f2e9}.orange-freemarket-sell-image img{width:100%;height:100%;object-fit:contain}.orange-freemarket-sell-image span{font-size:9px;color:#a49685}.orange-freemarket-sell-copy>span{color:#9a7757;font-size:11px}.orange-freemarket-sell-copy h3{margin:3px 0;font-size:15px}.orange-freemarket-sell-copy small{color:var(--muted)}.orange-freemarket-sell-action{text-align:right}.orange-freemarket-sell-action>strong{display:block;margin-bottom:7px;color:var(--orange);font-size:18px}.orange-freemarket-sell-action form{margin:0}.orange-freemarket-footnote{margin:28px 0 0;color:var(--muted);font-size:12px;line-height:1.8}
@media(max-width:980px){.orange-freemarket-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.orange-freemarket-shell{width:min(100% - 20px,1180px);margin-top:24px}.orange-freemarket-hero{display:grid;padding:22px 18px;border-radius:20px}.orange-freemarket-balance{width:100%;box-sizing:border-box;text-align:left}.orange-freemarket-heading{display:block}.orange-freemarket-heading>p{margin-top:7px;text-align:left}.orange-freemarket-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.orange-freemarket-sell-card{grid-template-columns:72px minmax(0,1fr);gap:11px}.orange-freemarket-sell-image{width:72px;height:62px}.orange-freemarket-sell-action{grid-column:1/-1;display:grid;grid-template-columns:1fr 120px;align-items:center;text-align:left}.orange-freemarket-sell-action>strong{margin:0}.orange-freemarket-sell-action form{width:120px}}
@media(max-width:430px){.orange-freemarket-grid{grid-template-columns:1fr 1fr}.orange-freemarket-card-body{padding:12px}.orange-freemarket-card h3{font-size:13px}.orange-freemarket-price{font-size:18px}.orange-freemarket-tags{display:grid;gap:5px;justify-items:start}}


/* ===== v0.9.150: Orange FC Recycle Shop / retro 2D market UI ===== */
.orange-recycle-shell{width:min(1240px,calc(100% - 32px));margin:42px auto 84px;color:var(--ink)}
.orange-recycle-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:18px;align-items:stretch;overflow:hidden;min-height:270px;padding:22px;border:1px solid #cfa36d;border-radius:28px;background:linear-gradient(180deg,rgba(236,213,172,.92),rgba(205,169,117,.94)),repeating-linear-gradient(90deg,rgba(91,58,31,.08) 0 2px,transparent 2px 110px);box-shadow:0 16px 38px rgba(82,54,31,.12)}
.orange-recycle-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 18%,rgba(255,252,226,.42),transparent 25%),linear-gradient(90deg,rgba(90,56,31,.06),transparent 28%,rgba(90,56,31,.06));mix-blend-mode:multiply}
.orange-recycle-signboard{position:relative;z-index:2;align-self:center;max-width:690px;padding:26px 28px 24px;border:3px solid #8e633d;border-radius:22px;background:#fff4d9;box-shadow:inset 0 0 0 5px rgba(189,139,84,.16),0 8px 0 rgba(109,72,42,.16);text-align:center}
.orange-recycle-signboard .panel-label{margin:0 0 4px;color:#b66e2d;letter-spacing:.18em}.orange-recycle-signboard h1{margin:0;color:#5f3f29;font-size:clamp(30px,4.5vw,50px);line-height:1.18}.orange-recycle-signboard>span{display:block;margin-top:5px;color:#98704e;font-size:12px;font-weight:900;letter-spacing:.22em}.orange-recycle-signboard>p:last-child{margin:16px 0 0;color:#715b46;font-size:14px;line-height:1.85}
.orange-recycle-shopkeeper{position:relative;z-index:2;align-self:stretch;margin:0;overflow:hidden;border:3px solid rgba(110,72,40,.58);border-radius:22px;background:#b88857;box-shadow:inset 0 0 0 4px rgba(255,244,217,.15)}.orange-recycle-shopkeeper img{display:block;width:100%;height:100%;min-height:220px;object-fit:cover;object-position:center center}
.orange-recycle-balance{position:absolute;z-index:4;top:20px;right:20px;min-width:136px;padding:10px 14px;border:2px solid #8c603d;border-radius:14px;background:#fff6e3;box-shadow:0 5px 0 rgba(107,68,39,.16);text-align:right}.orange-recycle-balance span{display:block;color:#8a6b4f;font-size:10px;font-weight:800}.orange-recycle-balance strong{display:block;margin-top:2px;color:#d97224;font-size:22px}
.orange-recycle-alert{margin:16px 0 0;padding:12px 15px;border-radius:13px;font-weight:800}.orange-recycle-alert.is-success{border:1px solid #cbdabf;background:#f1f8eb;color:#48653c}.orange-recycle-alert.is-error{border:1px solid #e4beb3;background:#fff1ed;color:#9d4d3b}
.orange-recycle-storefront{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;margin-top:18px}
.orange-recycle-guide{align-self:start;overflow:hidden;border:2px solid #b98b58;border-radius:20px;background:#fff6df;box-shadow:0 9px 24px rgba(82,54,31,.08)}.orange-recycle-guide-title{display:flex;align-items:center;gap:9px;padding:16px 18px;border-bottom:1px solid #ddbf93;background:#f3ddb5;color:#68482f}.orange-recycle-guide-title>span{font-size:22px}.orange-recycle-guide-title strong{font-size:16px}
.orange-recycle-guide-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:16px 17px;border-bottom:1px dashed #dec39d}.orange-recycle-guide-row>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #d5a468;border-radius:50%;background:#fffaf0;color:#d2762c;font-weight:900}.orange-recycle-guide-row strong{display:block;margin-bottom:4px;color:#62482f;font-size:13px}.orange-recycle-guide-row p{margin:0;color:#806a55;font-size:12px;line-height:1.7}.orange-recycle-guide-row b{color:#d36d25}.orange-recycle-guide-note{padding:15px 17px;background:#f9ebcf;color:#8c623e;font-size:11px;line-height:1.7}
.orange-recycle-main{min-width:0;overflow:hidden;border:2px solid #b98b58;border-radius:22px;background:#fff8e9;box-shadow:0 10px 26px rgba(82,54,31,.09)}
.orange-recycle-tabs{display:flex;gap:0;padding:0 22px;background:linear-gradient(#e8c996,#dcb67f);border-bottom:2px solid #b98b58}.orange-recycle-tabs button{min-width:190px;padding:15px 24px;border:0;border-left:1px solid rgba(118,80,45,.16);border-right:1px solid rgba(255,255,255,.26);background:rgba(255,249,234,.72);color:#6f543c;font:inherit;font-weight:900;cursor:pointer}.orange-recycle-tabs button.is-active{background:#ed852e;color:#fff;box-shadow:inset 0 -3px 0 rgba(145,77,25,.18)}
.orange-recycle-panel{padding:18px}.orange-recycle-panel[hidden]{display:none!important}
.orange-recycle-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.orange-recycle-filters{display:flex;gap:7px;flex-wrap:wrap}.orange-recycle-filters button{min-width:72px;padding:8px 13px;border:1px solid #d7b382;border-radius:999px;background:#fffdf7;color:#735942;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.orange-recycle-filters button.is-active{border-color:#e67e2e;background:#ee8a37;color:#fff}.orange-recycle-sort{display:flex;align-items:center;gap:8px;color:#7e674f;font-size:11px;font-weight:800}.orange-recycle-sort select{padding:7px 30px 7px 10px;border:1px solid #d7b382;border-radius:10px;background:#fffdf7;color:#654e3a;font:inherit;font-size:12px}
.orange-recycle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.orange-recycle-card{overflow:hidden;border:1px solid #d8b98f;border-radius:15px;background:#fffef9;box-shadow:0 4px 0 rgba(121,79,43,.06)}.orange-recycle-card[hidden]{display:none!important}.orange-recycle-image{display:grid;place-items:center;aspect-ratio:1/1;overflow:hidden;border-bottom:1px solid #ead8bc;background:linear-gradient(145deg,#fffdf7,#f3eadc)}.orange-recycle-image img{display:block;width:100%;height:100%;padding:10px;box-sizing:border-box;object-fit:contain}.orange-recycle-image span{color:#a59078;font-size:10px}.orange-recycle-card-body{padding:11px}.orange-recycle-card-meta{display:flex;justify-content:space-between;gap:6px;align-items:center}.orange-recycle-card-meta span{padding:3px 7px;border-radius:999px;background:#769d7b;color:#fff;font-size:9px;font-weight:900}.orange-recycle-card-meta em{font-style:normal;color:#90745a;font-size:9px}.orange-recycle-card h3{min-height:2.8em;margin:8px 0 7px;color:#5d4836;font-size:13px;line-height:1.4}.orange-recycle-card-price{display:grid;gap:2px}.orange-recycle-card-price small{color:#9b8168;font-size:9px;text-decoration:line-through}.orange-recycle-card-price strong{color:#e16f22;font-size:20px}.orange-recycle-card form{margin-top:9px}.orange-recycle-card button,.orange-recycle-sell-action button{width:100%;padding:10px 12px;border:0;border-radius:9px;background:#ef7e28;color:#fff;font:inherit;font-size:12px;font-weight:900;cursor:pointer;box-shadow:inset 0 -2px 0 rgba(137,70,21,.18)}.orange-recycle-card button:disabled{background:#c9c0b4;cursor:not-allowed}
.orange-recycle-filter-empty,.orange-recycle-empty{display:grid;gap:5px;padding:34px 20px;border:1px dashed #d6b88f;border-radius:14px;background:#fffdf7;color:#715b46;text-align:center}.orange-recycle-filter-empty{margin-top:8px}.orange-recycle-empty span{color:#927c65;font-size:12px}
.orange-recycle-sell-intro{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:15px;padding:2px 2px 13px;border-bottom:1px dashed #dec39d}.orange-recycle-sell-intro h2{margin:2px 0 0;color:#604a37;font-size:22px}.orange-recycle-sell-intro>p{max-width:520px;margin:0;color:#816b56;font-size:12px;line-height:1.7;text-align:right}.orange-recycle-sell-intro strong{color:#d66f24}
.orange-recycle-sell-grid{display:grid;gap:9px}.orange-recycle-sell-card{display:grid;grid-template-columns:82px minmax(0,1fr) 170px;gap:14px;align-items:center;padding:10px;border:1px solid #dec39d;border-radius:14px;background:#fffef9}.orange-recycle-sell-image{display:grid;place-items:center;width:82px;height:68px;overflow:hidden;border-radius:10px;background:#f5eddf}.orange-recycle-sell-image img{width:100%;height:100%;object-fit:contain}.orange-recycle-sell-image span{font-size:9px;color:#a08b74}.orange-recycle-sell-copy>span{color:#8a6c50;font-size:10px;font-weight:800}.orange-recycle-sell-copy h3{margin:3px 0;color:#604b39;font-size:14px}.orange-recycle-sell-copy small{color:#9a836d;font-size:10px}.orange-recycle-sell-action{text-align:right}.orange-recycle-sell-action>small{display:block;color:#9c836a;font-size:9px;text-decoration:line-through}.orange-recycle-sell-action>strong{display:block;margin:2px 0 7px;color:#df7024;font-size:17px}.orange-recycle-sell-action form{margin:0}
.orange-recycle-footnote{margin:20px 2px 0;color:#8d7965;font-size:11px;line-height:1.75}
@media(max-width:1050px){.orange-recycle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.orange-recycle-storefront{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:820px){.orange-recycle-shell{width:min(100% - 20px,1240px);margin-top:24px}.orange-recycle-hero{grid-template-columns:1fr;min-height:0;padding:14px}.orange-recycle-signboard{max-width:none}.orange-recycle-shopkeeper{height:210px}.orange-recycle-balance{top:auto;right:24px;bottom:24px}.orange-recycle-storefront{grid-template-columns:1fr}.orange-recycle-guide{display:grid;grid-template-columns:1fr 1fr}.orange-recycle-guide-title,.orange-recycle-guide-note{grid-column:1/-1}.orange-recycle-guide-row{border-bottom:1px dashed #dec39d}.orange-recycle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.orange-recycle-tabs{padding:0}.orange-recycle-tabs button{flex:1;min-width:0}.orange-recycle-toolbar,.orange-recycle-sell-intro{align-items:flex-start;flex-direction:column}.orange-recycle-sell-intro>p{text-align:left}}
@media(max-width:560px){.orange-recycle-signboard{padding:20px 16px}.orange-recycle-signboard>p:last-child{font-size:12px}.orange-recycle-shopkeeper{height:180px}.orange-recycle-balance{right:14px;bottom:14px;min-width:110px;padding:8px 10px}.orange-recycle-balance strong{font-size:18px}.orange-recycle-guide{grid-template-columns:1fr}.orange-recycle-guide-title,.orange-recycle-guide-note{grid-column:auto}.orange-recycle-panel{padding:12px}.orange-recycle-tabs button{padding:12px 8px;font-size:12px}.orange-recycle-toolbar{gap:10px}.orange-recycle-sort{width:100%;justify-content:space-between}.orange-recycle-sort select{flex:1}.orange-recycle-grid{gap:8px}.orange-recycle-card-body{padding:9px}.orange-recycle-card h3{font-size:12px}.orange-recycle-card-price strong{font-size:17px}.orange-recycle-sell-card{grid-template-columns:66px minmax(0,1fr)}.orange-recycle-sell-image{width:66px;height:58px}.orange-recycle-sell-action{grid-column:1/-1;display:grid;grid-template-columns:1fr 120px;gap:8px;align-items:center;text-align:left}.orange-recycle-sell-action>small,.orange-recycle-sell-action>strong{grid-column:1;margin:0}.orange-recycle-sell-action form{grid-column:2;grid-row:1/3}.orange-recycle-sell-action button{height:100%}}

/* ROOM clipping guarantee: furniture may extend outside, but only the in-room portion is visible. */
.member-room-scene,.mypage-room-preview-scene{overflow:hidden!important}


/* ===== v0.9.151: simple Orange recycle shop ===== */
.orange-recycle-shell{width:min(1180px,calc(100% - 32px));margin:42px auto 78px;color:var(--ink)}
.orange-recycle-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:116px;padding:22px 26px;border:1px solid rgba(213,147,77,.26);border-radius:22px;background:#fffaf1;box-shadow:0 8px 24px rgba(92,63,39,.05)}
.orange-recycle-title{display:flex;align-items:center;gap:16px;min-width:0}
.orange-recycle-mascot{display:grid;place-items:center;width:78px;height:78px;flex:0 0 78px;margin:0;overflow:hidden}
.orange-recycle-mascot img{display:block;width:100%;height:100%;object-fit:contain}
.orange-recycle-title .panel-label{margin:0 0 4px;color:#c98343;font-size:10px;font-weight:800;letter-spacing:.16em}
.orange-recycle-title h1{margin:0;color:#5e4938;font-size:clamp(28px,4vw,40px);line-height:1.25}
.orange-recycle-balance{position:static;min-width:150px;padding:13px 16px;border:1px solid rgba(213,147,77,.28);border-radius:16px;background:#fff;text-align:right;box-shadow:none}
.orange-recycle-balance span{display:block;color:#9b826d;font-size:10px;font-weight:700}
.orange-recycle-balance strong{display:block;margin-top:2px;color:var(--orange);font-size:22px}
.orange-recycle-alert{margin:14px 0 0;padding:11px 14px;border-radius:12px;font-size:13px;font-weight:700}
.orange-recycle-alert.is-success{border:1px solid #d8e5cf;background:#f5faf1;color:#536b48}
.orange-recycle-alert.is-error{border:1px solid #ead0c8;background:#fff5f2;color:#985444}
.orange-recycle-storefront{display:block;margin-top:18px}
.orange-recycle-main{overflow:hidden;border:1px solid rgba(213,147,77,.24);border-radius:22px;background:#fffdf8;box-shadow:0 8px 24px rgba(92,63,39,.045)}
.orange-recycle-tabs{display:flex;padding:0;border:0;border-bottom:1px solid rgba(213,147,77,.22);background:#faf4ea}
.orange-recycle-tabs button{flex:0 0 auto;min-width:180px;padding:14px 24px;border:0;border-right:1px solid rgba(213,147,77,.18);background:transparent;color:#7b654f;font:inherit;font-size:13px;font-weight:800;cursor:pointer;box-shadow:none}
.orange-recycle-tabs button.is-active{background:#fff;color:var(--orange);box-shadow:inset 0 -2px 0 var(--orange)}
.orange-recycle-panel{padding:22px}.orange-recycle-panel[hidden]{display:none!important}
.orange-recycle-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.orange-recycle-filters{display:flex;gap:7px;flex-wrap:wrap}.orange-recycle-filters button{min-width:70px;padding:8px 14px;border:1px solid #dfd0bd;border-radius:999px;background:#fff;color:#6f5b48;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.orange-recycle-filters button.is-active{border-color:#e8a15f;background:#fff1e4;color:#c86f24}
.orange-recycle-sort{display:flex;align-items:center;gap:8px;color:#8f7864;font-size:11px;font-weight:700}.orange-recycle-sort select{padding:8px 30px 8px 10px;border:1px solid #dfd0bd;border-radius:10px;background:#fff;color:#665343;font:inherit;font-size:12px}
.orange-recycle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.orange-recycle-card{overflow:hidden;border:1px solid #e4d8c8;border-radius:16px;background:#fff;box-shadow:none}.orange-recycle-card[hidden]{display:none!important}
.orange-recycle-image{display:grid;place-items:center;aspect-ratio:1/1;overflow:hidden;border-bottom:1px solid #eee4d7;background:#faf7f2}.orange-recycle-image img{display:block;width:100%;height:100%;padding:12px;box-sizing:border-box;object-fit:contain}.orange-recycle-image span{color:#a69685;font-size:10px}
.orange-recycle-card-body{padding:13px}.orange-recycle-card-meta{display:flex;justify-content:space-between;gap:6px;align-items:center}.orange-recycle-card-meta span{padding:3px 8px;border-radius:999px;background:#f4eee6;color:#7c6a58;font-size:9px;font-weight:800}.orange-recycle-card-meta em{font-style:normal;color:#9a8571;font-size:9px}.orange-recycle-card h3{min-height:2.8em;margin:9px 0 7px;color:#594738;font-size:14px;line-height:1.4}
.orange-recycle-card-price{display:block}.orange-recycle-card-price small{display:none!important}.orange-recycle-card-price strong{color:var(--orange);font-size:20px}.orange-recycle-card form{margin-top:10px}.orange-recycle-card button,.orange-recycle-sell-action button{width:100%;padding:10px 12px;border:0;border-radius:999px;background:var(--orange);color:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer;box-shadow:none}.orange-recycle-card button:disabled{background:#cec6bc;cursor:not-allowed}
.orange-recycle-filter-empty,.orange-recycle-empty{padding:32px 20px;border:1px dashed #ddd0c0;border-radius:14px;background:#fcfaf6;color:#735f4d;text-align:center}.orange-recycle-filter-empty{margin-top:8px}
.orange-recycle-sell-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:16px;padding:0 0 14px;border-bottom:1px solid #eee3d5}.orange-recycle-sell-intro .panel-label{margin:0 0 2px;color:#bb8b61;font-size:9px;letter-spacing:.14em}.orange-recycle-sell-intro h2{margin:0;color:#594738;font-size:21px}.orange-recycle-sell-intro>p{margin:0;color:#8f7965;font-size:12px;line-height:1.6;text-align:right}.orange-recycle-sell-intro strong{color:inherit}
.orange-recycle-sell-grid{display:grid;gap:9px}.orange-recycle-sell-card{display:grid;grid-template-columns:82px minmax(0,1fr) 145px;gap:14px;align-items:center;padding:11px 12px;border:1px solid #e4d8c8;border-radius:14px;background:#fff}.orange-recycle-sell-image{display:grid;place-items:center;width:82px;height:68px;overflow:hidden;border-radius:10px;background:#faf7f2}.orange-recycle-sell-image img{width:100%;height:100%;object-fit:contain}.orange-recycle-sell-image span{font-size:9px;color:#a08b74}.orange-recycle-sell-copy>span{color:#8b7562;font-size:10px;font-weight:700}.orange-recycle-sell-copy h3{margin:3px 0;color:#594738;font-size:14px}.orange-recycle-sell-copy small{color:#9a8775;font-size:10px}.orange-recycle-sell-action{text-align:right}.orange-recycle-sell-action>small{display:none!important}.orange-recycle-sell-action>strong{display:block;margin:0 0 7px;color:var(--orange);font-size:17px}.orange-recycle-sell-action form{margin:0}
.orange-recycle-guide,.orange-recycle-footnote,.orange-recycle-signboard,.orange-recycle-shopkeeper{display:none!important}
@media(max-width:900px){.orange-recycle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.orange-recycle-shell{width:min(100% - 20px,1180px);margin-top:24px}.orange-recycle-hero{padding:16px 18px}.orange-recycle-mascot{width:64px;height:64px;flex-basis:64px}.orange-recycle-balance{min-width:112px;padding:10px 12px}.orange-recycle-title h1{font-size:26px}.orange-recycle-tabs button{flex:1;min-width:0;padding:12px 8px}.orange-recycle-panel{padding:14px}.orange-recycle-toolbar,.orange-recycle-sell-intro{align-items:flex-start;flex-direction:column}.orange-recycle-sell-intro>p{text-align:left}.orange-recycle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.orange-recycle-sell-card{grid-template-columns:68px minmax(0,1fr)}.orange-recycle-sell-image{width:68px;height:60px}.orange-recycle-sell-action{grid-column:1/-1;display:grid;grid-template-columns:1fr 120px;gap:8px;align-items:center;text-align:left}.orange-recycle-sell-action>strong{margin:0}.orange-recycle-sell-action form{width:120px}}
@media(max-width:440px){.orange-recycle-hero{align-items:flex-start}.orange-recycle-title{gap:10px}.orange-recycle-mascot{width:54px;height:54px;flex-basis:54px}.orange-recycle-title h1{font-size:22px}.orange-recycle-balance{min-width:92px;padding:9px 10px}.orange-recycle-balance strong{font-size:18px}.orange-recycle-card-body{padding:10px}.orange-recycle-card h3{font-size:12px}.orange-recycle-card-price strong{font-size:17px}}

/* ===== v0.9.153: recycle campaign badge ===== */
.orange-recycle-campaign{display:inline-flex;align-items:center;justify-content:center;margin:12px 0 0;padding:7px 12px;border:1px solid rgba(233,134,50,.28);border-radius:999px;background:#fff7ec;color:#c9661f;font-size:12px;font-weight:700;letter-spacing:.02em}

/* ===== v0.9.154: recycle shop filter empty state ===== */
.orange-recycle-filter-empty[hidden]{display:none!important}

/* ===== v0.9.155: submarine previous voyage duration shortcut ===== */
.orange-submarine-same-duration{grid-column:1/-1;justify-self:start;padding:8px 14px;border:1px solid #d8b88f;border-radius:999px;background:#fff8ec;color:#765d43;font:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}
.orange-submarine-same-duration:hover:not(:disabled){background:#fff0d8;border-color:#cf9658;color:#6c5135}
.orange-submarine-same-duration:disabled{cursor:not-allowed;opacity:.42}



/* ===== v0.9.156: 3-FC submarine parts board ===== */
.orange-submarine-view-tabs{display:flex;gap:8px;margin:12px 0 22px;padding:5px;border:1px solid #e7d6c0;border-radius:16px;background:#fffaf2;width:max-content;max-width:100%}
.orange-submarine-view-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 16px;border-radius:11px;color:#786552;font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}
.orange-submarine-view-tabs a:hover{background:#fff1dc;color:#8b572f}.orange-submarine-view-tabs a.is-active{background:#e98632;color:#fff}
.orange-submarine-parts{display:grid;gap:18px}
.orange-submarine-parts-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.orange-submarine-parts-fc-card{display:grid;gap:4px;padding:15px 17px;border:1px solid #e2d1ba;border-radius:17px;background:#fffdf8;color:#5e4d3e;text-decoration:none;box-shadow:4px 5px 0 rgba(111,83,50,.035)}
.orange-submarine-parts-fc-card:hover{border-color:#d79a62;background:#fff8ee}.orange-submarine-parts-fc-card.is-active{border-color:#dc9c62;background:#fff2e2;box-shadow:inset 0 0 0 1px rgba(233,134,50,.14)}
.orange-submarine-parts-fc-card span{font-size:11px;font-weight:800;color:#8d745d}.orange-submarine-parts-fc-card strong{font-size:22px;color:#9b5b2d}.orange-submarine-parts-fc-card small{font-size:11px;color:#8d7965}
.orange-submarine-parts-form{display:grid;gap:18px}
.orange-submarine-parts-savebar{position:sticky;top:10px;z-index:18;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border:1px solid #e0c7a8;border-radius:18px;background:rgba(255,253,248,.96);box-shadow:0 10px 24px rgba(91,63,37,.09);backdrop-filter:blur(10px)}
body.admin-bar .orange-submarine-parts-savebar{top:42px}.orange-submarine-parts-savebar .panel-label{margin:0 0 3px;color:var(--orange);font-size:9px;letter-spacing:.15em}.orange-submarine-parts-savebar h2{margin:0 0 4px;font-size:22px}.orange-submarine-parts-savebar p:last-child{margin:0;color:#85715d;font-size:12px}
.orange-submarine-parts-savebar button,.orange-submarine-parts-bottom-save button,.orange-submarine-parts-transfer button{flex:0 0 auto;padding:10px 16px;border:1px solid #d77829;border-radius:999px;background:#e98632;color:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.orange-submarine-parts-savebar button:hover,.orange-submarine-parts-bottom-save button:hover,.orange-submarine-parts-transfer button:hover{filter:brightness(.97)}
.orange-submarine-parts-form.is-dirty .orange-submarine-parts-savebar{border-color:#dc9857;box-shadow:0 10px 26px rgba(194,118,51,.14)}
.orange-submarine-parts-section,.orange-submarine-parts-transfer,.orange-submarine-parts-history{padding:20px;border:1px solid #e5d4bd;border-radius:22px;background:#fffdf8;box-shadow:5px 6px 0 rgba(111,83,50,.035)}
.orange-submarine-parts-table-wrap,.orange-submarine-chest-table-wrap{overflow-x:auto;margin-top:12px;border:1px solid #eadfce;border-radius:16px;background:#fff}
.orange-submarine-parts-table,.orange-submarine-chest-table{width:100%;min-width:820px;border-collapse:separate;border-spacing:0}
.orange-submarine-parts-table th,.orange-submarine-parts-table td,.orange-submarine-chest-table th,.orange-submarine-chest-table td{padding:11px 10px;border-right:1px solid #eee4d6;border-bottom:1px solid #eee4d6;vertical-align:middle}
.orange-submarine-parts-table tr:last-child>* ,.orange-submarine-chest-table tr:last-child>*{border-bottom:0}.orange-submarine-parts-table tr>*:last-child,.orange-submarine-chest-table tr>*:last-child{border-right:0}
.orange-submarine-parts-table thead th,.orange-submarine-chest-table thead th{position:sticky;top:0;background:#f8f1e7;color:#75614e;font-size:11px;text-align:left;z-index:2}
.orange-submarine-parts-table tbody th,.orange-submarine-chest-table tbody th{width:170px;background:#fffaf3;text-align:left}.orange-submarine-parts-table tbody th strong,.orange-submarine-chest-table tbody th strong{display:block;color:#58483b;font-size:13px}.orange-submarine-parts-table tbody th small,.orange-submarine-chest-table tbody th small{display:block;margin-top:3px;color:#a08a74;font-size:10px}
.orange-submarine-parts-table select,.orange-submarine-chest-table input,.orange-submarine-parts-transfer select,.orange-submarine-parts-transfer input{width:100%;min-width:0;padding:9px 10px;border:1px solid #dec9ad;border-radius:10px;background:#fff;color:#55463a;font:inherit;font-size:12px}
.orange-submarine-parts-table select{min-width:145px}.orange-submarine-part-readonly{display:inline-block;font-size:12px;font-weight:700;color:#6f5c4b}
.orange-submarine-chest-table tbody tr.is-modified th{background:#fff3e8}.orange-submarine-chest-table tbody tr.is-modified:first-of-type th{border-top:2px solid #e0b88f}
.orange-submarine-chest-table td{min-width:142px}.orange-submarine-chest-table td label{display:block}.orange-submarine-chest-table td input{width:66px;text-align:center;font-weight:800;color:#8d562f}.orange-submarine-chest-table td>small{display:block;margin-top:6px;color:#8e7a67;font-size:9px;line-height:1.45}.orange-submarine-chest-table td.has-equipped>small{color:#a45d2c;font-weight:800}
.orange-submarine-parts-bottom-save{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:2px 2px 0;color:#87735f;font-size:11px}
.orange-submarine-parts-transfer{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.8fr);gap:22px;align-items:end}.orange-submarine-parts-transfer .panel-label{margin:0 0 4px;color:var(--orange);font-size:9px;letter-spacing:.15em}.orange-submarine-parts-transfer h2{margin:0 0 6px;font-size:20px}.orange-submarine-parts-transfer p:last-child{margin:0;color:#87735f;font-size:11px;line-height:1.6}.orange-submarine-parts-transfer form{display:grid;grid-template-columns:1.4fr .8fr .5fr 1.1fr auto;gap:8px;align-items:end}.orange-submarine-parts-transfer label{display:grid;gap:4px}.orange-submarine-parts-transfer label>span{font-size:9px;font-weight:800;color:#7c6956}.orange-submarine-parts-transfer button{min-height:38px}
.orange-submarine-parts-history-list{display:grid;gap:8px;margin-top:12px}.orange-submarine-parts-history-list article{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:14px;align-items:center;padding:11px 12px;border:1px solid #eadfce;border-radius:13px;background:#fff}.orange-submarine-parts-history-list time{color:#9c8875;font-size:10px}.orange-submarine-parts-history-list strong{display:block;color:#5d4a3b;font-size:12px}.orange-submarine-parts-history-list p{margin:2px 0 0;color:#83705e;font-size:10px}.orange-submarine-parts-history-list p span{padding:0 4px;color:#c07c43}.orange-submarine-parts-history-list article>small{color:#9a846f;font-size:9px;white-space:nowrap}
.orange-submarine-part-selects{display:grid;gap:8px;margin:0;padding:12px;border:1px solid #eadcca;border-radius:14px}.orange-submarine-part-selects legend{padding:0 5px;color:#6e5a48;font-size:10px;font-weight:800}.orange-submarine-part-selects>small{color:#9b8a78;font-size:9px}.orange-submarine-fields.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.orange-submarine-parts-overview{grid-template-columns:1fr}.orange-submarine-parts-transfer{grid-template-columns:1fr}.orange-submarine-parts-transfer form{grid-template-columns:repeat(2,minmax(0,1fr))}.orange-submarine-parts-transfer button{grid-column:1/-1}.orange-submarine-fields.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.orange-submarine-view-tabs{width:100%}.orange-submarine-view-tabs a{flex:1}.orange-submarine-parts-savebar{position:static;align-items:flex-start;flex-direction:column}.orange-submarine-parts-savebar button{width:100%}.orange-submarine-parts-section,.orange-submarine-parts-transfer,.orange-submarine-parts-history{padding:16px}.orange-submarine-parts-bottom-save{align-items:stretch;flex-direction:column}.orange-submarine-parts-bottom-save button{width:100%}.orange-submarine-parts-history-list article{grid-template-columns:1fr;gap:4px}.orange-submarine-parts-transfer form{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.orange-submarine-fields.four,.orange-submarine-parts-transfer form{grid-template-columns:1fr}}


/* ===== v0.9.157: auto-save parts board + all-FC locator ===== */
.orange-submarine-parts-title{padding:2px 2px 0}.orange-submarine-parts-title .panel-label{margin:0 0 3px;color:var(--orange);font-size:9px;letter-spacing:.15em}.orange-submarine-parts-title h2{margin:0;font-size:22px;color:#58483b}
.orange-submarine-global-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);gap:14px;align-items:start;margin-top:12px}
.orange-submarine-global-table-wrap{overflow-x:auto;border:1px solid #eadfce;border-radius:16px;background:#fff}
.orange-submarine-global-table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0}
.orange-submarine-global-table th,.orange-submarine-global-table td{padding:9px;border-right:1px solid #eee4d6;border-bottom:1px solid #eee4d6;vertical-align:middle;text-align:center}.orange-submarine-global-table tr:last-child>*{border-bottom:0}.orange-submarine-global-table tr>*:last-child{border-right:0}
.orange-submarine-global-table thead th{position:sticky;top:0;z-index:4;background:#f8f1e7;color:#75614e;font-size:11px;text-align:center}.orange-submarine-global-table thead th:first-child{text-align:left}
.orange-submarine-global-table tbody th{position:sticky;left:0;z-index:2;width:170px;background:#fffaf3;text-align:left}.orange-submarine-global-table tbody tr.is-modified th{background:#fff3e8}.orange-submarine-global-table tbody th strong{font-size:12px;color:#58483b}
.orange-submarine-global-part{display:flex;align-items:baseline;justify-content:center;gap:3px;width:100%;min-height:42px;padding:7px;border:1px solid transparent;border-radius:10px;background:transparent;color:#765d49;font:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.orange-submarine-global-part:hover{background:#fff3e2;border-color:#e4c49f}.orange-submarine-global-part.is-active{background:#ffead2;border-color:#d98d4c;box-shadow:inset 0 0 0 1px rgba(217,141,76,.12)}.orange-submarine-global-part strong{font-size:18px;color:#9b5b2d}.orange-submarine-global-part small{font-size:9px;color:#9a826c}
.orange-submarine-global-location{position:sticky;top:14px;min-height:170px;padding:16px;border:1px solid #e1cdb3;border-radius:17px;background:#fffaf2;box-shadow:3px 4px 0 rgba(111,83,50,.035)}body.admin-bar .orange-submarine-global-location{top:46px}.orange-submarine-global-location .panel-label{margin:0 0 3px;color:var(--orange);font-size:9px;letter-spacing:.15em}.orange-submarine-global-location h3{margin:0 0 7px;font-size:17px;color:#594838}.orange-submarine-global-location-hint,.orange-submarine-global-location-empty{margin:0;color:#8a7561;font-size:11px;line-height:1.65}.orange-submarine-global-location [data-global-location-list]{display:grid;gap:8px}.orange-submarine-global-location article{padding:10px 11px;border:1px solid #eadbc7;border-radius:12px;background:#fff}.orange-submarine-global-location article>strong{display:block;margin-bottom:6px;color:#5d4a3a;font-size:12px}.orange-submarine-global-location article>div{display:flex;flex-wrap:wrap;gap:5px}.orange-submarine-global-location article span{display:inline-flex;gap:5px;align-items:center;padding:4px 7px;border-radius:999px;background:#f8efe3;color:#806b58;font-size:9px}.orange-submarine-global-location article b{color:#9b5b2d}
/* Keep both the row labels and the four part headers visible while scrolling. */
.orange-submarine-parts-table thead th,.orange-submarine-chest-table thead th{position:sticky;top:0;z-index:4}.orange-submarine-parts-table thead th:first-child,.orange-submarine-chest-table thead th:first-child,.orange-submarine-global-table thead th:first-child{left:0;z-index:6}.orange-submarine-parts-table tbody th,.orange-submarine-chest-table tbody th{position:sticky;left:0;z-index:2}.orange-submarine-parts-table-wrap,.orange-submarine-chest-table-wrap,.orange-submarine-global-table-wrap{scrollbar-gutter:stable}
body.admin-bar .orange-submarine-parts-table thead th,body.admin-bar .orange-submarine-chest-table thead th,body.admin-bar .orange-submarine-global-table thead th{top:32px}
/* Auto-save feedback is intentionally local to the edited field; no save bar follows the page. */
.orange-submarine-parts select.is-saving,.orange-submarine-parts input.is-saving{border-color:#dfa15f!important;box-shadow:0 0 0 2px rgba(223,161,95,.13)}.orange-submarine-parts select.is-saved,.orange-submarine-parts input.is-saved{border-color:#9fbd8b!important;box-shadow:0 0 0 2px rgba(130,165,108,.12)}.orange-submarine-parts input.is-save-error,.orange-submarine-parts select.is-save-error{border-color:#d67a68!important;box-shadow:0 0 0 2px rgba(214,122,104,.12)}
.orange-submarine-parts-fc-card small em{font-style:normal}.orange-submarine-parts-fc-card small b{font-weight:800}
@media(max-width:900px){.orange-submarine-global-layout{grid-template-columns:1fr}.orange-submarine-global-location{position:static}}
@media(max-width:782px){body.admin-bar .orange-submarine-parts-table thead th,body.admin-bar .orange-submarine-chest-table thead th,body.admin-bar .orange-submarine-global-table thead th{top:46px}}
@media(max-width:700px){.orange-submarine-global-table{min-width:650px}.orange-submarine-global-location{min-height:0}.orange-submarine-parts-title h2{font-size:20px}}


/* ===== v0.9.159: submarine navigation order (view -> FC) ===== */
.orange-submarine-shell>.orange-submarine-view-tabs{margin:24px 0 8px}
.orange-submarine-shell>.orange-submarine-fc-tabs{margin:8px 0 22px}

/* ===== v0.9.160: shared submarine crafting board + automatic Eorzea DB icons ===== */
.orange-submarine-craft{display:grid;gap:18px;margin-top:18px}
.orange-craft-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:2px 2px 0}
.orange-craft-heading .panel-label{margin:0 0 3px;color:var(--orange);font-size:9px;letter-spacing:.15em}
.orange-craft-heading h2{margin:0;color:#58483b;font-size:24px}
.orange-craft-heading>span{display:inline-flex;align-items:center;min-height:30px;padding:5px 11px;border:1px solid #e2c7a9;border-radius:999px;background:#fff7eb;color:#a36a3d;font-size:10px;font-weight:800;white-space:nowrap}
.orange-craft-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.orange-craft-summary article{display:grid;gap:4px;padding:14px 16px;border:1px solid #e6d5bf;border-radius:16px;background:#fffdf8;box-shadow:4px 5px 0 rgba(111,83,50,.035)}
.orange-craft-summary span{color:#8c7763;font-size:10px;font-weight:800}
.orange-craft-summary strong{color:#9d5d2f;font-size:23px;line-height:1}.orange-craft-summary strong small{font-size:10px;color:#9a8068}
.orange-craft-panel{padding:20px;border:1px solid #e5d4bd;border-radius:22px;background:#fffdf8;box-shadow:5px 6px 0 rgba(111,83,50,.035)}
.orange-craft-add{display:grid;grid-template-columns:minmax(220px,1fr) 100px auto;gap:9px;align-items:end;margin:14px 0 16px;padding:13px;border:1px solid #eadfce;border-radius:15px;background:#fffaf3}
.orange-craft-add label{display:grid;gap:5px}.orange-craft-add label>span{color:#806b57;font-size:9px;font-weight:800}
.orange-craft-add select,.orange-craft-add input,.orange-craft-material-table input,.orange-craft-plan-qty input{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #dec9ad;border-radius:10px;background:#fff;color:#55463a;font:inherit;font-size:12px}
.orange-craft-add button,.orange-craft-plan-qty button{min-height:38px;padding:8px 13px;border:1px solid #d77829;border-radius:10px;background:#e98632;color:#fff;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.orange-craft-add button:hover,.orange-craft-plan-qty button:hover{filter:brightness(.97)}
.orange-craft-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.orange-craft-plan-card{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:13px 14px;border:1px solid #eadfce;border-radius:15px;background:#fff}
.orange-craft-item{display:inline-flex;align-items:center;gap:9px;min-width:0;color:#5e4c3e}
.orange-craft-item-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;overflow:hidden;border:1px solid #e4d7c6;border-radius:10px;background:linear-gradient(145deg,#f8f3ec,#eee5da);color:#bca992;font-size:17px}
.orange-craft-item-icon img{display:block;width:100%;height:100%;object-fit:contain}
.orange-craft-item-name{min-width:0;font-size:12px;font-weight:800;line-height:1.45;overflow-wrap:anywhere}
.orange-craft-item.has-db-link{cursor:pointer}.orange-craft-item.has-db-link:hover .orange-craft-item-name{text-decoration:underline;text-decoration-color:#dfa15f;text-underline-offset:3px}.orange-craft-item.has-db-link:focus-visible{outline:2px solid #dc8c48;outline-offset:4px;border-radius:8px}
.orange-craft-plan-card>.orange-craft-item{flex:1 1 auto}.orange-craft-plan-qty{display:grid;grid-template-columns:auto 34px 60px 34px auto;gap:5px;align-items:center;flex:0 0 auto}.orange-craft-plan-qty>span{color:#8d7864;font-size:9px;font-weight:800}.orange-craft-plan-qty input{text-align:center;padding:8px 5px}.orange-craft-plan-qty button{min-width:34px;padding:7px 8px}.orange-craft-plan-qty .orange-craft-plan-remove{border-color:#decfbe;background:#fffaf3;color:#8d7158}
.orange-craft-material-table-wrap{overflow-x:auto;margin-top:13px;border:1px solid #eadfce;border-radius:16px;background:#fff;scrollbar-gutter:stable}
.orange-craft-material-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}
.orange-craft-material-table th,.orange-craft-material-table td{padding:10px;border-right:1px solid #eee4d6;border-bottom:1px solid #eee4d6;vertical-align:middle;text-align:left}.orange-craft-material-table tr:last-child>*{border-bottom:0}.orange-craft-material-table tr>*:last-child{border-right:0}
.orange-craft-material-table thead th{position:sticky;top:0;z-index:3;background:#f8f1e7;color:#75614e;font-size:10px;white-space:nowrap}.orange-craft-material-table thead th:first-child{left:0;z-index:5}.orange-craft-material-table tbody td:first-child{position:sticky;left:0;z-index:2;min-width:220px;background:#fff}
.orange-craft-material-table td:nth-child(2),.orange-craft-material-table td:nth-child(3),.orange-craft-material-table td:nth-child(4){width:90px}.orange-craft-material-table input{max-width:82px;text-align:right}.orange-craft-material-table small{color:#806d5b;font-size:10px;line-height:1.55}
.orange-craft-material-table .is-missing{color:#c5683d}.orange-craft-material-table .is-complete{color:#66895a}
.orange-submarine-craft input.is-saving,.orange-submarine-craft select.is-saving,.orange-submarine-craft button.is-saving{border-color:#dfa15f!important;box-shadow:0 0 0 2px rgba(223,161,95,.13)}
.orange-submarine-craft input.is-saved,.orange-submarine-craft select.is-saved,.orange-submarine-craft button.is-saved{border-color:#9fbd8b!important;box-shadow:0 0 0 2px rgba(130,165,108,.12)}
.orange-submarine-craft input.is-save-error,.orange-submarine-craft select.is-save-error,.orange-submarine-craft button.is-save-error{border-color:#d67a68!important;box-shadow:0 0 0 2px rgba(214,122,104,.12)}
body.admin-bar .orange-craft-material-table thead th{top:32px}
@media(max-width:900px){.orange-craft-plan-grid{grid-template-columns:1fr}.orange-craft-plan-card{align-items:flex-start;flex-direction:column}.orange-craft-plan-qty{width:100%;grid-template-columns:auto 36px minmax(60px,90px) 36px auto}}
@media(max-width:700px){.orange-craft-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.orange-craft-summary article{padding:12px 10px}.orange-craft-summary strong{font-size:19px}.orange-craft-panel{padding:16px}.orange-craft-add{grid-template-columns:1fr 85px}.orange-craft-add button{grid-column:1/-1}.orange-craft-heading h2{font-size:21px}.orange-craft-plan-qty{grid-template-columns:1fr 36px 70px 36px}.orange-craft-plan-qty>span{grid-column:1/-1}.orange-craft-plan-qty .orange-craft-plan-remove{grid-column:1/-1;width:100%}}
@media(max-width:782px){body.admin-bar .orange-craft-material-table thead th{top:46px}}
@media(max-width:480px){.orange-craft-summary{grid-template-columns:1fr}.orange-craft-add{grid-template-columns:1fr}.orange-craft-heading{align-items:flex-start}.orange-craft-item-icon{flex-basis:38px;width:38px;height:38px}}
.orange-craft-item-icon:empty::before{content:"";width:18px;height:18px;border-radius:6px;background:#ded2c4;opacity:.65}

/* ===== v0.9.162: synchronized crafting board + material actions ===== */
.orange-craft-plan-groups{display:grid;gap:16px}
.orange-craft-plan-group{display:grid;gap:8px}
.orange-craft-plan-group>h3{margin:0;padding:0 2px;color:#8d6e52;font-size:12px;letter-spacing:.08em}
.orange-craft-item-name-button{min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-size:12px;font-weight:800;line-height:1.45;text-align:left;overflow-wrap:anywhere;cursor:pointer}
.orange-craft-item-name-button:hover{text-decoration:underline;text-decoration-color:#dfa15f;text-underline-offset:3px}
.orange-craft-item-name-button:focus-visible{outline:2px solid #dc8c48;outline-offset:3px;border-radius:5px}
.orange-craft-item-icon.has-db-link{cursor:pointer}
.orange-craft-item-icon.has-db-link:focus-visible{outline:2px solid #dc8c48;outline-offset:3px}
.orange-craft-detail-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:24px}
.orange-craft-detail-modal[hidden]{display:none!important}
.orange-craft-detail-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(55,43,33,.48);backdrop-filter:blur(4px);cursor:default}
.orange-craft-detail-dialog{position:relative;z-index:1;width:min(900px,100%);max-height:min(82vh,780px);overflow:auto;box-sizing:border-box;padding:22px;border:1px solid #e2c9aa;border-radius:22px;background:#fffdf8;box-shadow:0 24px 70px rgba(58,43,30,.28)}
.orange-craft-detail-dialog>header{position:sticky;top:-22px;z-index:8;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:-22px -22px 16px;padding:20px 22px 14px;border-bottom:1px solid #eee1d0;background:#fffdf8}
.orange-craft-detail-dialog>header .panel-label{margin:0 0 4px;color:var(--orange);font-size:9px;letter-spacing:.15em}
.orange-craft-detail-dialog>header h2{margin:0;color:#58483b;font-size:21px;line-height:1.35}
.orange-craft-detail-close{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;padding:0;border:1px solid #dfccb2;border-radius:50%;background:#fff8ee;color:#765f4a;font:inherit;font-size:21px;line-height:1;cursor:pointer}
.orange-craft-detail-close:hover{background:#f9edde}
.orange-craft-detail-body{display:grid;gap:13px}
.orange-craft-detail-summary{display:grid;gap:4px;padding:13px 15px;border:1px solid #eadac6;border-radius:14px;background:#fff9f0}
.orange-craft-detail-summary>span{color:#987c61;font-size:9px;font-weight:800;letter-spacing:.08em}
.orange-craft-detail-summary>strong{color:#594a3e;font-size:14px}
.orange-craft-detail-summary>p{margin:2px 0 0;color:#806c59;font-size:11px}
.orange-craft-detail-note,.orange-craft-detail-complete{margin:0;padding:11px 13px;border-radius:12px;color:#7d6956;font-size:11px;line-height:1.65}
.orange-craft-detail-note{border:1px solid #eadcc9;background:#fffaf3}
.orange-craft-detail-complete{border:1px solid #d8e1ca;background:#f7faef;color:#667451}
.orange-craft-detail-table-wrap{margin-top:0}
.orange-craft-detail-table{min-width:690px}
body.orange-craft-detail-open{overflow:hidden}
@media(max-width:700px){.orange-craft-detail-modal{padding:12px}.orange-craft-detail-dialog{max-height:88vh;padding:16px;border-radius:18px}.orange-craft-detail-dialog>header{top:-16px;margin:-16px -16px 14px;padding:16px}.orange-craft-detail-dialog>header h2{font-size:18px}.orange-craft-detail-table{min-width:640px}}

.orange-craft-item-status-wrap{display:inline-flex;align-items:center;gap:7px;min-width:0}
.orange-craft-can-make{display:inline-grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border:1px solid #b8cfaa;border-radius:50%;background:#f3f8ed;color:#628657;font-size:12px;font-weight:900;line-height:1}
.orange-craft-detail-header-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.orange-craft-detail-tools{display:flex;align-items:center;gap:8px}
.orange-craft-detail-tools[hidden]{display:none!important}
.orange-craft-detail-icon-button{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;padding:0;border:1px solid #dfccb2;border-radius:50%;background:#fff8ee;color:#765f4a;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.orange-craft-detail-icon-button:hover:not(:disabled){background:#f9edde;transform:translateY(-1px)}
.orange-craft-detail-icon-button:disabled{opacity:.4;cursor:wait}
.orange-craft-detail-icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.orange-craft-detail-icon-button.is-copied{border-color:#a9c69b;background:#f0f7ea;color:#5f8555}
.orange-craft-lodestone-button img{display:block;width:23px;height:23px;object-fit:contain;pointer-events:none}
.orange-craft-detail-summary-with-action{display:flex;align-items:center;justify-content:space-between;gap:14px}
.orange-craft-detail-summary-with-action>div{display:grid;gap:4px;min-width:0}
.orange-craft-complete-button{flex:0 0 auto;min-width:82px;padding:9px 15px;border:1px solid #d77829;border-radius:999px;background:#e98632;color:#fff;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.orange-craft-complete-button:hover:not(:disabled){filter:brightness(.97)}
.orange-craft-complete-button:disabled{border-color:#d9cfbf;background:#eee7dc;color:#a29687;cursor:not-allowed}
.orange-craft-usage-list{display:grid;gap:8px}
.orange-craft-usage-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;border:1px solid #eadcc9;border-radius:12px;background:#fff}
.orange-craft-usage-list article>div{display:grid;gap:3px;min-width:0}
.orange-craft-usage-list strong{color:#594a3e;font-size:12px}
.orange-craft-usage-list span{color:#927a64;font-size:9px}
.orange-craft-usage-list p{margin:0;color:#806c59;font-size:10px;white-space:nowrap}
.orange-craft-usage-list p b{color:#c5683d;font-size:12px}
@media(max-width:700px){.orange-craft-detail-header-actions{gap:6px}.orange-craft-detail-icon-button,.orange-craft-detail-close{flex-basis:34px;width:34px;height:34px}.orange-craft-detail-summary-with-action{align-items:flex-start;flex-direction:column}.orange-craft-complete-button{width:100%}.orange-craft-usage-list article{align-items:flex-start;flex-direction:column;gap:7px}.orange-craft-usage-list p{white-space:normal}}


/* ===== v0.9.164: visual submarine parts operation plan ===== */
.orange-submarine-operation-plan{display:grid;gap:22px;margin-top:20px;padding-bottom:28px}
.orange-submarine-plan-intro,.orange-submarine-plan-section{border:1px solid #e4d2bb;border-radius:24px;background:#fffdf8;box-shadow:5px 6px 0 rgba(111,83,50,.035)}
.orange-submarine-plan-intro{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:24px;align-items:center;padding:28px 30px;background:linear-gradient(135deg,#fffdf8 0%,#fff6e8 100%)}
.orange-submarine-plan-intro .panel-label,.orange-submarine-plan-section .panel-label{margin:0 0 5px;color:#db7b2c;letter-spacing:.13em;font-weight:800}
.orange-submarine-plan-intro h2,.orange-submarine-plan-section-heading h2{margin:0;color:#58483b;font-size:clamp(25px,3vw,34px);line-height:1.35}
.orange-submarine-plan-intro>div>p:last-child{max-width:760px;margin:12px 0 0;color:#756452;line-height:1.85}
.orange-submarine-plan-intro-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.orange-submarine-plan-intro-points span{display:grid;place-items:center;min-height:112px;padding:12px;border:1px solid #ebd7bc;border-radius:18px;background:#fff;text-align:center;color:#80684f;font-weight:800;line-height:1.45}
.orange-submarine-plan-intro-points b{display:block;color:#dc7829;font-size:32px;line-height:1}
.orange-submarine-plan-section{padding:24px}
.orange-submarine-plan-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}
.orange-submarine-plan-section-heading>span,.orange-submarine-plan-section-heading>a{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border:1px solid #e5cfb4;border-radius:999px;background:#fff8ed;color:#8b694e;font-weight:800;white-space:nowrap}
.orange-submarine-plan-section-heading>a:hover{background:#fff0d9;border-color:#d99c5d}
.orange-submarine-plan-route{display:grid;grid-template-columns:minmax(180px,1fr) 38px minmax(180px,1fr) 38px minmax(180px,1fr) 38px minmax(180px,1fr) 38px minmax(180px,1fr);gap:0;align-items:stretch;overflow-x:auto;padding:4px 2px 12px;scrollbar-gutter:stable}
.orange-submarine-plan-stage{position:relative;display:grid;grid-template-rows:auto auto auto 1fr;gap:11px;min-width:180px;padding:16px;border:1px solid #e7d8c4;border-radius:18px;background:#fff}
.orange-submarine-plan-stage:nth-of-type(3){border-color:#cfd4e6;background:#f9faff}
.orange-submarine-plan-stage:nth-of-type(4){border-color:#d9dfc7;background:#fbfcf6}
.orange-submarine-plan-stage:nth-of-type(5){border-color:#d7dfc9;background:#f7faef}
.orange-submarine-plan-stage>header{display:flex;align-items:center;justify-content:space-between;gap:7px}
.orange-submarine-plan-stage>header>span{color:#d67627;font-weight:900}
.orange-submarine-plan-stage>header>b{padding:5px 8px;border-radius:999px;background:#6f7898;color:#fff;font-size:16px;line-height:1}
.orange-submarine-plan-stage h3{margin:0;color:#5b4b3d;font-size:19px;line-height:1.45}
.orange-submarine-plan-stage>p{align-self:end;margin:0;padding-top:5px;color:#806f5d;line-height:1.65}
.orange-submarine-plan-stage-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.orange-submarine-plan-flow-arrow{position:relative;display:block;align-self:center;height:2px;margin:0 7px;background:#d9b58c}
.orange-submarine-plan-flow-arrow::after{content:"";position:absolute;right:-1px;top:50%;width:9px;height:9px;border-top:2px solid #d39a61;border-right:2px solid #d39a61;transform:translateY(-50%) rotate(45deg)}
.orange-submarine-plan-part{position:relative;display:flex;align-items:center;gap:8px;min-width:0;padding:7px 9px;border:1px solid #eadfce;border-radius:13px;background:#fff;color:#5e4c3e}
.orange-submarine-plan-part.is-modified{border-color:#d4d9e8;background:#fbfbff}
.orange-submarine-plan-part-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;overflow:hidden;border:1px solid #e4d7c6;border-radius:10px;background:linear-gradient(145deg,#f8f3ec,#eee5da);color:#bca992;font:inherit;cursor:pointer}
.orange-submarine-plan-part.is-modified .orange-submarine-plan-part-icon{border-color:#d2d7e4;background:linear-gradient(145deg,#f2f4fb,#e6e9f4)}
.orange-submarine-plan-part-icon img{display:block;width:100%;height:100%;object-fit:contain}
.orange-submarine-plan-part-icon.has-db-link:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(103,79,53,.12)}
.orange-submarine-plan-part-copy{display:grid;min-width:0;line-height:1.25}
.orange-submarine-plan-part-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5c4a3c;font-weight:900}
.orange-submarine-plan-part-copy small{color:#927a63;font-weight:700}
.orange-submarine-plan-part-qty{margin-left:auto;padding:3px 7px;border-radius:999px;background:#fff1dd;color:#bd6626;font-weight:900;white-space:nowrap}
.orange-submarine-plan-part.is-modified .orange-submarine-plan-part-qty{background:#edf0f8;color:#657092}
.orange-submarine-plan-handoff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.orange-submarine-plan-handoff-card{display:grid;gap:14px;padding:18px;border:1px solid #e6d5bf;border-radius:18px;background:#fff}
.orange-submarine-plan-handoff-card.is-modified{border-color:#cfd5e7;background:#fafbff}.orange-submarine-plan-handoff-card.is-normal,.orange-submarine-plan-handoff-card.is-level15{grid-column:1/-1}.orange-submarine-plan-pair-rails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.orange-submarine-plan-handoff-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.orange-submarine-plan-handoff-card>header span{color:#9a7657;font-weight:800}
.orange-submarine-plan-handoff-card>header h3{margin:4px 0 0;color:#59483a;font-size:20px}
.orange-submarine-plan-handoff-card>header>b{padding:7px 10px;border-radius:999px;background:#707b9d;color:#fff;white-space:nowrap}
.orange-submarine-plan-mini-parts{display:flex;gap:6px}.orange-submarine-plan-mini-parts .orange-submarine-plan-part{padding:5px}.orange-submarine-plan-mini-parts .orange-submarine-plan-part-copy{display:none}
.orange-submarine-plan-mod-set{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.orange-submarine-plan-mod-set .orange-submarine-plan-part{padding:5px;justify-content:center}.orange-submarine-plan-mod-set .orange-submarine-plan-part-copy{display:none}
.orange-submarine-plan-ship-rail{display:grid;grid-template-columns:auto minmax(24px,1fr) auto minmax(24px,1fr) auto minmax(24px,1fr) auto;align-items:center;gap:7px;padding:11px;border-radius:15px;background:#fff8ed}
.orange-submarine-plan-ship-rail.is-short{grid-template-columns:auto minmax(24px,1fr) auto minmax(24px,1fr) auto;background:#f4f6fb}
.orange-submarine-plan-ship-rail>span{display:grid;place-items:center;min-height:54px;padding:8px 10px;border:1px solid #e0c7aa;border-radius:12px;background:#fff;color:#6e5845;font-weight:900;text-align:center;line-height:1.35;white-space:nowrap}
.orange-submarine-plan-ship-rail.is-short>span{border-color:#ced4e4}.orange-submarine-plan-ship-rail>span.is-release{border-style:dashed;background:#fffdf9;color:#8b715d}
.orange-submarine-plan-ship-rail>i{position:relative;height:2px;background:#d5a875}.orange-submarine-plan-ship-rail.is-short>i{background:#aeb8d2}
.orange-submarine-plan-ship-rail>i::after{content:"";position:absolute;right:0;top:50%;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;color:#c48c54;transform:translateY(-50%) rotate(45deg)}
.orange-submarine-plan-ship-rail.is-short>i::after{color:#8b98bc}
.orange-submarine-plan-key-message{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:13px;padding:15px 18px;border:1px solid #e7c9a4;border-radius:17px;background:#fff6e8;text-align:center}
.orange-submarine-plan-key-message strong{color:#69513f;font-size:20px}.orange-submarine-plan-key-message strong>b{color:#df7928;font-size:25px}.orange-submarine-plan-key-message span{color:#806b59}
.orange-submarine-plan-progress-note{margin:-7px 0 18px;color:#806f5d;line-height:1.7}
.orange-submarine-plan-target-groups{display:grid;gap:18px}.orange-submarine-plan-target-groups>div>h3{display:flex;align-items:center;gap:8px;margin:0 0 9px;color:#685544}.orange-submarine-plan-target-groups>div>h3 span{padding:4px 8px;border-radius:999px;background:#eef1f8;color:#69738e}
.orange-submarine-plan-target-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.orange-submarine-plan-target-card{display:grid;gap:8px;padding:10px;border:1px solid #eadfce;border-radius:16px;background:#fff}
.orange-submarine-plan-target-card.is-ready{border-color:#cbdabd;background:#f8fbf3}
.orange-submarine-plan-target-card>.orange-submarine-plan-part{border:0;padding:3px;background:transparent}
.orange-submarine-plan-target-status{display:grid;gap:5px}.orange-submarine-plan-target-status>span{color:#c26b2b;font-weight:900}.orange-submarine-plan-target-card.is-ready .orange-submarine-plan-target-status>span{color:#638356}.orange-submarine-plan-target-status small{color:#81705f;line-height:1.5}.orange-submarine-plan-target-status i{display:block;height:7px;overflow:hidden;border-radius:999px;background:#eee5d9}.orange-submarine-plan-target-status i>em{display:block;height:100%;border-radius:inherit;background:#e7a25f;transition:width .25s ease}.orange-submarine-plan-target-card.is-ready .orange-submarine-plan-target-status i>em{background:#91ad78}
.orange-submarine-plan-current-box{margin-top:19px;padding:17px;border:1px solid #e4d1b9;border-radius:18px;background:#fff8ed}
.orange-submarine-plan-current-box>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.orange-submarine-plan-current-box>header span{color:#a16f43;font-weight:800}.orange-submarine-plan-current-box>header h3{margin:2px 0 0;color:#5d4b3d}.orange-submarine-plan-current-box>header a{padding:7px 11px;border:1px solid #dfc3a2;border-radius:999px;background:#fff;color:#875f3f;font-weight:800}
.orange-submarine-plan-current-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.orange-submarine-plan-current-item{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #eadac6;border-radius:14px;background:#fff;min-width:0}.orange-submarine-plan-current-item>div{display:grid;gap:2px;min-width:0}.orange-submarine-plan-current-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5e4c3d}.orange-submarine-plan-current-item span{color:#8d7560}.orange-submarine-plan-current-item span b{color:#d16f26}.orange-submarine-plan-current-empty{margin:0;color:#806f5d}
.orange-submarine-plan-goal-node{position:relative;display:grid;place-items:center;width:min(100%,580px);margin:4px auto 42px;padding:18px 22px;border:2px solid #d5dfc7;border-radius:18px;background:#f7faef;text-align:center}.orange-submarine-plan-goal-node>span{color:#71855c;font-weight:900}.orange-submarine-plan-goal-node>strong{margin-top:4px;color:#526047;font-size:22px}.orange-submarine-plan-goal-node::after{content:"";position:absolute;left:50%;top:100%;width:2px;height:28px;background:#d1ba9b}
.orange-submarine-plan-branch-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px}.orange-submarine-plan-branch-grid::before{content:"";position:absolute;left:25%;right:25%;top:-15px;border-top:2px solid #d1ba9b}.orange-submarine-plan-branch-card{position:relative;display:grid;gap:14px;padding:20px;border:1px solid #e0d4c4;border-radius:20px;background:#fff}.orange-submarine-plan-branch-card::before{content:"";position:absolute;left:50%;bottom:100%;width:2px;height:15px;background:#d1ba9b}.orange-submarine-plan-branch-card.is-stay{border-color:#cbd9bd;background:#f9fbf5}.orange-submarine-plan-branch-card.is-carry{border-color:#d7dced;background:#fafbff}.orange-submarine-plan-branch-card header span{font-weight:900}.orange-submarine-plan-branch-card.is-stay header span{color:#6d8759}.orange-submarine-plan-branch-card.is-carry header span{color:#687397}.orange-submarine-plan-branch-card header h3{margin:4px 0 0;color:#59483b;font-size:22px}.orange-submarine-plan-branch-card>p{margin:0;color:#7d6a57;line-height:1.7}
.orange-submarine-plan-branch-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.orange-submarine-plan-carry-groups{display:grid;gap:13px}.orange-submarine-plan-carry-groups>div>b{display:inline-flex;margin-bottom:7px;padding:4px 8px;border-radius:999px;background:#eef1f8;color:#66718f}.orange-submarine-plan-carry-groups>div>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.orange-submarine-plan-next-arrow{display:flex;align-items:center;justify-content:center;gap:10px;margin:19px 0 11px;color:#9b724f;font-weight:900}.orange-submarine-plan-next-arrow i{position:relative;width:70px;height:2px;background:#d4b28d}.orange-submarine-plan-next-arrow i:last-child::after{content:"";position:absolute;right:0;top:50%;width:9px;height:9px;border-top:2px solid #b98253;border-right:2px solid #b98253;transform:translateY(-50%) rotate(45deg)}
.orange-submarine-plan-next-build{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.4fr);gap:18px;align-items:center;padding:22px;border:2px solid #e9a25e;border-radius:20px;background:linear-gradient(135deg,#fff9ee,#fff2df)}.orange-submarine-plan-next-build>div:first-child>span{color:#cf7027;font-weight:900;letter-spacing:.08em}.orange-submarine-plan-next-build h3{margin:4px 0 7px;color:#5a4839;font-size:24px}.orange-submarine-plan-next-build>div:first-child>strong{color:#dc792b;font-size:30px}.orange-submarine-plan-next-parts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.orange-submarine-plan-next-build>p{grid-column:1/-1;margin:0;padding-top:2px;color:#7e6a57;line-height:1.7;text-align:center}
.orange-submarine-plan-source{margin:0 4px;color:#857565;line-height:1.7}.orange-submarine-plan-source a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1120px){.orange-submarine-plan-intro{grid-template-columns:1fr}.orange-submarine-plan-route{grid-template-columns:minmax(205px,1fr) 35px minmax(205px,1fr) 35px minmax(205px,1fr) 35px minmax(205px,1fr) 35px minmax(205px,1fr)}.orange-submarine-plan-handoff-grid{grid-template-columns:1fr 1fr}.orange-submarine-plan-handoff-card.is-normal{grid-column:1/-1}.orange-submarine-plan-target-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.orange-submarine-plan-current-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.orange-submarine-view-tabs{overflow-x:auto;justify-content:flex-start}.orange-submarine-view-tabs a{flex:0 0 auto}.orange-submarine-plan-intro,.orange-submarine-plan-section{padding:18px}.orange-submarine-plan-intro-points{grid-template-columns:repeat(3,minmax(0,1fr))}.orange-submarine-plan-route{display:flex;flex-direction:column;overflow:visible}.orange-submarine-plan-stage{min-width:0}.orange-submarine-plan-flow-arrow{align-self:center;width:2px;height:34px;margin:4px 0;background:#d9b58c}.orange-submarine-plan-flow-arrow::after{right:auto;left:50%;top:auto;bottom:0;transform:translate(-50%,0) rotate(135deg)}.orange-submarine-plan-handoff-grid{grid-template-columns:1fr}.orange-submarine-plan-handoff-card.is-normal,.orange-submarine-plan-handoff-card.is-level15{grid-column:auto}.orange-submarine-plan-pair-rails{grid-template-columns:1fr}.orange-submarine-plan-target-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.orange-submarine-plan-branch-grid{grid-template-columns:1fr;gap:18px}.orange-submarine-plan-branch-grid::before{display:none}.orange-submarine-plan-branch-card::before{display:none}.orange-submarine-plan-goal-node{margin-bottom:18px}.orange-submarine-plan-goal-node::after{display:none}.orange-submarine-plan-next-build{grid-template-columns:1fr}.orange-submarine-plan-next-parts{grid-template-columns:repeat(2,minmax(0,1fr))}.orange-submarine-plan-current-grid{grid-template-columns:1fr}.orange-submarine-plan-section-heading{align-items:flex-start;flex-direction:column}.orange-submarine-plan-key-message{align-items:flex-start;flex-direction:column;text-align:left}}
@media(max-width:560px){.orange-submarine-plan-intro-points{grid-template-columns:1fr}.orange-submarine-plan-intro-points span{min-height:72px;grid-template-columns:auto 1fr;justify-content:center;gap:8px}.orange-submarine-plan-intro-points b{display:inline}.orange-submarine-plan-stage-parts,.orange-submarine-plan-target-grid,.orange-submarine-plan-branch-parts,.orange-submarine-plan-carry-groups>div>div,.orange-submarine-plan-next-parts{grid-template-columns:1fr 1fr}.orange-submarine-plan-ship-rail{grid-template-columns:1fr}.orange-submarine-plan-ship-rail>i{width:2px;height:22px;justify-self:center}.orange-submarine-plan-ship-rail>i::after{right:auto;left:50%;top:auto;bottom:0;transform:translate(-50%,0) rotate(135deg)}.orange-submarine-plan-ship-rail.is-short{grid-template-columns:1fr}.orange-submarine-plan-mini-parts{flex-wrap:wrap}.orange-submarine-plan-mod-set{grid-template-columns:repeat(2,minmax(0,1fr))}.orange-submarine-plan-current-box>header{align-items:flex-start;flex-direction:column}.orange-submarine-plan-part-copy strong{white-space:normal}.orange-submarine-plan-part{padding:7px}}


/* ===== v0.9.166: readable part-name labels in submarine route map ===== */
.orange-submarine-operation-plan-v2{display:grid;gap:20px}
.orange-submarine-plan-intro.is-simple{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);padding:24px 26px}
.orange-submarine-plan-intro.is-simple>div:first-child>p:not(.panel-label){max-width:760px;font-size:16px;line-height:1.8}
.orange-submarine-plan-intro.is-simple>div:first-child>p strong{color:#684e39;font-size:18px}
.orange-submarine-map-section{overflow:hidden}
.orange-submarine-map-scroll{overflow-x:auto;margin:14px -4px 0;padding:4px 4px 12px;scrollbar-gutter:stable}
.orange-submarine-map-board{display:grid;grid-template-columns:92px repeat(5,minmax(210px,1fr));grid-template-rows:auto repeat(4,128px);min-width:1210px;overflow:hidden;border:1px solid #ead8c1;border-radius:20px;background:#fffdf8}
.orange-submarine-map-corner{display:grid;place-items:center;padding:13px 8px;border-right:1px solid #eadfce;border-bottom:1px solid #eadfce;background:#f7efe4;color:#8d7259;font-size:14px;font-weight:900}
.orange-submarine-map-stage-head{display:grid;gap:7px;align-content:start;padding:13px 11px 12px;border-right:1px solid #eadfce;border-bottom:1px solid #eadfce;background:#fff8ee;text-align:center}
.orange-submarine-map-stage-head:last-of-type{border-right:0}
.orange-submarine-map-stage-head>span{color:#b87843;font-size:12px;font-weight:900;letter-spacing:.08em}
.orange-submarine-map-stage-head>strong{color:#59483a;font-size:17px;line-height:1.2}
.orange-submarine-map-config{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;min-width:0}
.orange-submarine-map-part{display:grid;justify-items:center;gap:3px;min-width:0}
.orange-submarine-map-part .orange-submarine-plan-part-icon{width:36px;height:36px;min-width:36px;border-radius:9px}
.orange-submarine-map-part small{display:grid;align-items:start;width:100%;min-height:30px;color:#796653;font-size:12px;font-weight:900;line-height:1.15;text-align:center;overflow-wrap:anywhere}
.orange-submarine-map-ship-label{display:grid;place-items:center;padding:10px 7px;border-right:1px solid #eadfce;border-bottom:1px solid #eadfce;background:#faf2e7;text-align:center}
.orange-submarine-map-ship-label b{color:#624d3d;font-size:17px}.orange-submarine-map-ship-label span{margin-top:2px;color:#9a8069;font-size:11px}
.orange-submarine-map-cell{position:relative;display:grid;place-items:center;padding:9px;border-right:1px solid #f0e6d9;border-bottom:1px solid #eadfce;background:#fff;isolation:isolate}
.orange-submarine-map-cell:nth-child(6n){border-right:0}
.orange-submarine-map-track{position:absolute;left:0;right:0;top:50%;height:3px;background:#e7d5bf;transform:translateY(-50%);z-index:-1}
.orange-submarine-map-cell:first-of-type .orange-submarine-map-track{left:50%}
.orange-submarine-map-cell-card{position:relative;width:100%;box-sizing:border-box;padding:8px 7px 7px;border:1px solid #e8dac8;border-radius:13px;background:#fffdf9;box-shadow:0 2px 0 rgba(99,73,49,.03)}
.orange-submarine-map-cell.is-set-a .orange-submarine-map-cell-card{border-color:#abc4dc;background:#f6faff;box-shadow:inset 0 0 0 1px rgba(90,137,178,.08)}
.orange-submarine-map-cell.is-set-b .orange-submarine-map-cell-card{border-color:#c8b9dc;background:#fbf8ff;box-shadow:inset 0 0 0 1px rgba(125,91,165,.08)}
.orange-submarine-map-cell.is-handoff .orange-submarine-map-cell-card{border-style:dashed}
.orange-submarine-map-cell-note{display:block;margin-top:5px;padding:3px 6px;border-radius:999px;background:#edf4fa;color:#5d7e9c;font-size:11px;text-align:center}
.orange-submarine-map-cell.is-set-b .orange-submarine-map-cell-note{background:#f2edf8;color:#806c99}
.orange-submarine-map-handoffs{display:grid;gap:9px;margin-top:15px}
.orange-submarine-map-handoffs>article{display:grid;grid-template-columns:minmax(310px,.9fr) minmax(0,1.1fr);gap:16px;align-items:center;padding:13px 15px;border:1px solid #e5d7c5;border-radius:16px;background:#fff}
.orange-submarine-map-handoffs>article.is-shark{border-color:#e2c49f;background:#fffaf2}
.orange-submarine-map-handoffs>article.is-normal-set{border-color:#d8d1c5;background:#fcfaf6}
.orange-submarine-map-handoffs>article.is-mod-set{border-color:#c8d2df;background:#f9fbfe}
.orange-submarine-map-handoff-title{display:flex;align-items:center;gap:10px;min-width:0}.orange-submarine-map-handoff-title>span{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#f1e4d3;color:#9b6b40;font-size:12px;font-weight:900}.orange-submarine-map-handoff-title>strong{min-width:0;color:#624f40;font-size:16px;line-height:1.4}.orange-submarine-map-handoff-title>div{display:flex;gap:4px;margin-left:auto}.orange-submarine-map-handoff-title .orange-submarine-map-part small{display:none}.orange-submarine-map-handoff-title .orange-submarine-plan-part-icon{width:32px;height:32px;min-width:32px}
.orange-submarine-map-node-line{display:grid;grid-template-columns:auto minmax(25px,1fr) auto minmax(25px,1fr) auto minmax(25px,1fr) auto;gap:7px;align-items:center}.orange-submarine-map-node-line b,.orange-submarine-map-split-lines b{display:grid;place-items:center;min-height:40px;padding:7px 10px;border:1px solid #dfcfbc;border-radius:12px;background:#fff;color:#624e3d;font-size:14px;white-space:nowrap}.orange-submarine-map-node-line i,.orange-submarine-map-split-lines i{position:relative;height:3px;border-radius:999px;background:#df9d60}.orange-submarine-map-node-line i::after,.orange-submarine-map-split-lines i::after{content:"";position:absolute;right:0;top:50%;width:8px;height:8px;border-top:2px solid #c97b39;border-right:2px solid #c97b39;transform:translateY(-50%) rotate(45deg)}
.orange-submarine-map-split-lines{display:grid;grid-template-columns:1fr 1fr;gap:10px}.orange-submarine-map-split-lines>div{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center}.orange-submarine-map-split-lines.is-ab>div{grid-template-columns:28px auto 1fr auto}.orange-submarine-map-split-lines em{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#6f98bc;color:#fff;font-style:normal;font-weight:900}.orange-submarine-map-split-lines>div:nth-child(2) em{background:#9279ad}.orange-submarine-map-split-lines.is-ab>div:first-child i{background:#91b2ce}.orange-submarine-map-split-lines.is-ab>div:nth-child(2) i{background:#b3a0c9}
.orange-submarine-plan-key-message.is-map-key{margin-top:10px}
.orange-submarine-plan-key-message.is-map-key strong{font-size:18px}.orange-submarine-plan-key-message.is-map-key strong>b{font-size:22px}
.orange-submarine-plan-inherit-section.is-simple-flow{overflow:hidden}
.orange-submarine-flow-final{display:grid;justify-items:center;margin-top:12px}
.orange-submarine-flow-final-node{display:grid;justify-items:center;gap:8px;width:min(100%,610px);box-sizing:border-box;padding:18px 22px;border:2px solid #d4dfc8;border-radius:18px;background:#f8fbf3;text-align:center}.orange-submarine-flow-final-node>span{color:#6c8159;font-size:13px;font-weight:900}.orange-submarine-flow-final-node>.orange-submarine-map-config{width:min(100%,300px)}.orange-submarine-flow-final-node>strong{color:#556348;font-size:19px}
.orange-submarine-flow-split{position:relative;width:min(70%,620px);height:48px}.orange-submarine-flow-split::before{content:"";position:absolute;left:50%;top:0;width:2px;height:22px;background:#d3baa0;transform:translateX(-50%)}.orange-submarine-flow-split::after{content:"";position:absolute;left:0;right:0;top:22px;height:2px;background:#d3baa0}.orange-submarine-flow-split i{position:absolute;top:22px;width:2px;height:26px;background:#d3baa0}.orange-submarine-flow-split i:first-child{left:0}.orange-submarine-flow-split i:last-child{right:0}
.orange-submarine-flow-branches{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:100%}.orange-submarine-flow-branches>article{display:grid;gap:14px;padding:18px;border:1px solid #dfd4c5;border-radius:18px;background:#fff}.orange-submarine-flow-branches>article.is-stay{border-color:#cedbbf;background:#fafcf6}.orange-submarine-flow-branches>article.is-carry{border-color:#d5dcea;background:#fafbff}.orange-submarine-flow-branches header{display:flex;align-items:end;justify-content:space-between;gap:12px}.orange-submarine-flow-branches header span{font-size:14px;font-weight:900}.orange-submarine-flow-branches .is-stay header span{color:#6d8759}.orange-submarine-flow-branches .is-carry header span{color:#697695}.orange-submarine-flow-branches header strong{color:#5c4a3b;font-size:18px}.orange-submarine-flow-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.orange-submarine-flow-carry-groups{display:grid;gap:11px}.orange-submarine-flow-carry-groups>div>b{display:inline-block;margin-bottom:6px;padding:4px 8px;border-radius:999px;background:#eef1f7;color:#697493;font-size:13px}.orange-submarine-flow-carry-groups>div>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.orange-submarine-flow-to-next{display:flex;align-items:center;gap:10px;margin:15px 0 9px;color:#9c744f;font-size:14px;font-weight:900}.orange-submarine-flow-to-next i{position:relative;width:82px;height:3px;background:#d4ae86}.orange-submarine-flow-to-next i::after{content:"";position:absolute;right:0;top:50%;width:9px;height:9px;border-top:2px solid #bc7e49;border-right:2px solid #bc7e49;transform:translateY(-50%) rotate(45deg)}
.orange-submarine-plan-next-build.is-focus{width:100%;box-sizing:border-box;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);padding:20px}.orange-submarine-plan-next-build.is-focus h3{font-size:22px}.orange-submarine-plan-next-build.is-focus>div:first-child>strong{font-size:23px}
.orange-submarine-plan-progress-compact{display:grid;gap:12px;padding:20px;border:1px solid #e4d2bc;border-radius:20px;background:#fffaf2;box-shadow:4px 5px 0 rgba(111,83,50,.03)}
.orange-submarine-plan-progress-main{display:flex;align-items:end;justify-content:space-between;gap:18px}.orange-submarine-plan-progress-main .panel-label{margin:0 0 3px;color:var(--orange);font-size:12px;letter-spacing:.13em}.orange-submarine-plan-progress-main h2{margin:0;color:#59483a;font-size:22px}.orange-submarine-plan-progress-number{display:flex;align-items:baseline;gap:7px}.orange-submarine-plan-progress-number strong{color:#da7628;font-size:30px}.orange-submarine-plan-progress-number span{color:#806d5a;font-size:15px}
.orange-submarine-plan-progress-bar{height:10px;overflow:hidden;border-radius:999px;background:#eee3d5}.orange-submarine-plan-progress-bar i{display:block;height:100%;border-radius:inherit;background:#e79b53;transition:width .25s ease}
.orange-submarine-plan-target-chips{display:flex;flex-wrap:wrap;gap:6px}.orange-submarine-plan-target-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #e4d7c6;border-radius:999px;background:#fff;color:#765f4b;font-size:13px}.orange-submarine-plan-target-chip>i{width:8px;height:8px;border-radius:50%;background:#dfa064}.orange-submarine-plan-target-chip>b{font-size:13px}.orange-submarine-plan-target-chip>em{font-style:normal;color:#bd6a2d;font-size:12px;font-weight:900}.orange-submarine-plan-target-chip.is-ready{border-color:#cbd9be;background:#f8fbf4}.orange-submarine-plan-target-chip.is-ready>i{background:#88a772}.orange-submarine-plan-target-chip.is-ready>em{color:#658555}
.orange-submarine-plan-progress-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:2px}.orange-submarine-plan-progress-actions>span{color:#84705d;font-size:14px}.orange-submarine-plan-progress-actions>a{padding:8px 12px;border:1px solid #dfc19e;border-radius:999px;background:#fff;color:#8e6038;font-size:14px;font-weight:900}

/* Parts / crafting: no tiny 9–12px UI text. Match the fleet-management body size. */
.orange-submarine-parts-fc-card span,.orange-submarine-parts-fc-card small,
.orange-submarine-parts-savebar .panel-label,.orange-submarine-parts-savebar p:last-child,
.orange-submarine-parts-savebar button,.orange-submarine-parts-bottom-save button,.orange-submarine-parts-transfer button,
.orange-submarine-parts-table thead th,.orange-submarine-chest-table thead th,
.orange-submarine-parts-table tbody th strong,.orange-submarine-chest-table tbody th strong,
.orange-submarine-parts-table tbody th small,.orange-submarine-chest-table tbody th small,
.orange-submarine-parts-table select,.orange-submarine-chest-table input,.orange-submarine-parts-transfer select,.orange-submarine-parts-transfer input,
.orange-submarine-part-readonly,.orange-submarine-chest-table td>small,.orange-submarine-parts-bottom-save,
.orange-submarine-parts-transfer .panel-label,.orange-submarine-parts-transfer p:last-child,.orange-submarine-parts-transfer label>span,
.orange-submarine-parts-history-list time,.orange-submarine-parts-history-list strong,.orange-submarine-parts-history-list p,.orange-submarine-parts-history-list article>small,
.orange-submarine-part-selects legend,.orange-submarine-part-selects>small,
.orange-submarine-parts-title .panel-label,.orange-submarine-global-table thead th,.orange-submarine-global-table tbody th strong,
.orange-submarine-global-part small,.orange-submarine-global-location .panel-label,.orange-submarine-global-location-hint,.orange-submarine-global-location-empty,
.orange-submarine-global-location article>strong,.orange-submarine-global-location article span{font-size:16px}

.orange-craft-heading .panel-label,.orange-craft-heading>span,.orange-craft-summary span,.orange-craft-summary strong small,
.orange-craft-add label>span,.orange-craft-add select,.orange-craft-add input,.orange-craft-material-table input,.orange-craft-plan-qty input,
.orange-craft-add button,.orange-craft-plan-qty button,.orange-craft-item-name,.orange-craft-plan-qty>span,
.orange-craft-material-table thead th,.orange-craft-material-table small,.orange-craft-plan-group>h3,.orange-craft-item-name-button,
.orange-craft-detail-dialog>header .panel-label,.orange-craft-detail-summary>span,.orange-craft-detail-summary>p,
.orange-craft-detail-note,.orange-craft-detail-complete,.orange-craft-complete-button,
.orange-craft-usage-list strong,.orange-craft-usage-list span,.orange-craft-usage-list p,.orange-craft-usage-list p b{font-size:16px}
.orange-craft-detail-summary>strong{font-size:18px}
.orange-craft-can-make{width:24px;height:24px;flex-basis:24px;font-size:16px}

@media(max-width:900px){
 .orange-submarine-plan-intro.is-simple{grid-template-columns:1fr}
 .orange-submarine-map-handoffs>article{grid-template-columns:1fr}
 .orange-submarine-flow-branches{grid-template-columns:1fr}.orange-submarine-flow-split{display:none}
 .orange-submarine-plan-next-build.is-focus{grid-template-columns:1fr}
}
@media(max-width:620px){
 .orange-submarine-map-section{margin-left:-2px;margin-right:-2px}
 .orange-submarine-map-handoff-title{align-items:flex-start;flex-wrap:wrap}.orange-submarine-map-handoff-title>div{margin-left:0}
 .orange-submarine-map-node-line{grid-template-columns:1fr}.orange-submarine-map-node-line i{width:3px;height:20px;justify-self:center}.orange-submarine-map-node-line i::after{right:auto;left:50%;top:auto;bottom:0;transform:translate(-50%,0) rotate(135deg)}
 .orange-submarine-map-split-lines{grid-template-columns:1fr}.orange-submarine-map-split-lines>div{grid-template-columns:auto 1fr auto}
 .orange-submarine-map-split-lines.is-ab>div{grid-template-columns:28px auto 1fr auto}
 .orange-submarine-flow-parts,.orange-submarine-flow-carry-groups>div>div,.orange-submarine-plan-next-parts{grid-template-columns:1fr 1fr}
 .orange-submarine-plan-progress-main,.orange-submarine-plan-progress-actions{align-items:flex-start;flex-direction:column}
}
.orange-submarine-parts-table td,.orange-submarine-chest-table td,.orange-submarine-global-table td,.orange-craft-material-table td{font-size:16px}
.orange-submarine-map-part.is-modified .orange-submarine-plan-part-icon{border-color:#d2d7e4;background:linear-gradient(145deg,#f2f4fb,#e6e9f4)}
.orange-submarine-map-stage-head:nth-child(4){background:#f6f8fd}.orange-submarine-map-stage-head:nth-child(5){background:#f8faF2}.orange-submarine-map-stage-head:nth-child(6){background:#f4f8ed}


/* ===== v0.9.169: dim completed submarine crafting materials ===== */
.orange-craft-material-table tbody tr[data-craft-material-row]{transition:background-color .18s ease,opacity .18s ease}
.orange-craft-material-table tbody tr.is-stock-complete>td{
  background:rgba(111,108,103,.14)!important;
  color:#8c8882;
}
.orange-craft-material-table tbody tr.is-stock-complete>td:first-child{
  background:rgba(219,216,211,.94)!important;
}
.orange-craft-material-table tbody tr.is-stock-complete .orange-craft-item,
.orange-craft-material-table tbody tr.is-stock-complete td>strong,
.orange-craft-material-table tbody tr.is-stock-complete td>b,
.orange-craft-material-table tbody tr.is-stock-complete td>small{
  opacity:.58;
}
.orange-craft-material-table tbody tr.is-stock-complete .orange-craft-item-icon{
  filter:grayscale(1);
  opacity:.56;
}
.orange-craft-material-table tbody tr.is-stock-complete .orange-craft-item-name-button,
.orange-craft-material-table tbody tr.is-stock-complete .orange-craft-item-name{
  color:#77736e;
}
.orange-craft-material-table tbody tr.is-stock-complete input[data-craft-stock]{
  border-color:#cbc6bf;
  background:rgba(245,243,240,.86);
  color:#7c7872;
}
.orange-craft-material-table tbody tr.is-stock-complete [data-craft-left].is-complete{
  color:#77736e;
  opacity:.72;
}
.orange-craft-material-table tbody tr.is-stock-complete .orange-craft-can-make{
  border-color:#bdbab5;
  background:#e6e3df;
  color:#77736e;
  filter:grayscale(1);
  opacity:.62;
}
.orange-craft-material-table tbody tr.is-stock-complete:hover>td{
  background:rgba(111,108,103,.18)!important;
}
.orange-craft-material-table tbody tr.is-stock-complete:hover>td:first-child{
  background:rgba(209,206,201,.96)!important;
}

/* ===== v0.9.171: five-step submarine crafting workflow ===== */
.orange-submarine-craft.is-restanet-flow{display:grid;gap:18px}
.orange-submarine-craft.is-restanet-flow .orange-craft-heading{padding:0 2px 4px}
.orange-craft-shared-status{display:inline-flex!important;align-items:center;gap:8px!important;min-height:38px!important;padding:7px 14px!important;border:1px solid #d7c4ac!important;border-radius:999px!important;background:#fffaf3!important;color:#79614c!important;font-size:16px!important;font-weight:800}
.orange-craft-shared-status i{width:9px;height:9px;border-radius:50%;background:#79a16a;box-shadow:0 0 0 4px rgba(121,161,106,.14)}
.orange-craft-flow-nav{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:9px;padding:16px 18px;border:1px solid #e4d4c0;border-radius:18px;background:#fffdf9;box-shadow:4px 5px 0 rgba(111,83,50,.03)}
.orange-craft-flow-nav>a{display:flex;align-items:center;gap:8px;color:#655142;text-decoration:none;font-size:16px;font-weight:900;white-space:nowrap}
.orange-craft-flow-nav>a>b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e98632;color:#fff;font-size:17px;box-shadow:0 3px 9px rgba(215,119,37,.18)}
.orange-craft-flow-nav>i{height:2px;border-radius:999px;background:#e4c9aa}
.orange-craft-flow-note{margin:0!important;padding:12px 15px;border-left:4px solid #e8a15f;border-radius:10px;background:#fff7ec;color:#725d4b!important;font-size:16px!important;line-height:1.75!important}
.orange-craft-step{scroll-margin-top:90px;padding:22px;border:1px solid #e4d3bf;border-radius:22px;background:#fffdf9;box-shadow:5px 6px 0 rgba(111,83,50,.035)}
.orange-craft-step.is-primary{border-color:#e1b47e;background:#fffaf2;box-shadow:5px 6px 0 rgba(198,115,42,.06)}
.orange-craft-step-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.orange-craft-step-head>b{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#e98632;color:#fff;font-size:21px;box-shadow:0 4px 11px rgba(215,119,37,.18)}
.orange-craft-step-head>div:first-of-type{min-width:0;flex:1 1 auto}
.orange-craft-step-head h2{margin:0;color:#59483a;font-size:23px;line-height:1.35}
.orange-craft-step-head p{margin:4px 0 0!important;color:#806c59!important;font-size:16px!important;line-height:1.65!important}
.orange-craft-step-tools{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.orange-craft-filter{display:inline-flex;align-items:center;gap:8px;margin-left:auto;padding:7px 11px;border:1px solid #dfcfbc;border-radius:999px;background:#fff;color:#755f4c;font-size:16px;font-weight:800;white-space:nowrap;cursor:pointer}
.orange-craft-filter input{width:18px;height:18px;accent-color:#df7d2b}
.orange-craft-copy-missing{min-height:38px;padding:8px 13px;border:1px solid #d6792b;border-radius:10px;background:#e98632;color:#fff;font:800 16px/1.2 inherit;cursor:pointer}
.orange-craft-copy-missing:hover{filter:brightness(.97)}
.orange-craft-step.is-hide-complete .is-stock-complete{display:none!important}
.orange-submarine-craft.is-restanet-flow .orange-craft-add{margin:0 0 16px;background:#fffaf3}
.orange-submarine-craft.is-restanet-flow .orange-craft-add label>span,
.orange-submarine-craft.is-restanet-flow .orange-craft-add select,
.orange-submarine-craft.is-restanet-flow .orange-craft-add input,
.orange-submarine-craft.is-restanet-flow .orange-craft-add button,
.orange-submarine-craft.is-restanet-flow .orange-craft-plan-group>h3,
.orange-submarine-craft.is-restanet-flow .orange-craft-plan-qty>span,
.orange-submarine-craft.is-restanet-flow .orange-craft-plan-qty input,
.orange-submarine-craft.is-restanet-flow .orange-craft-plan-qty button,
.orange-submarine-craft.is-restanet-flow .orange-craft-item-name,
.orange-submarine-craft.is-restanet-flow .orange-craft-item-name-button,
.orange-submarine-craft.is-restanet-flow .orange-craft-material-table th,
.orange-submarine-craft.is-restanet-flow .orange-craft-material-table td,
.orange-submarine-craft.is-restanet-flow .orange-craft-material-table input,
.orange-submarine-craft.is-restanet-flow .orange-craft-material-table small{font-size:16px!important}
.orange-submarine-craft.is-restanet-flow .orange-craft-material-table{min-width:820px}
.orange-submarine-craft.is-restanet-flow .orange-craft-material-table th{background:#f7efe4}
.orange-submarine-craft.is-restanet-flow .orange-craft-material-table td:first-child{min-width:260px}
.orange-submarine-craft.is-restanet-flow .orange-craft-item-icon{flex-basis:46px;width:46px;height:46px;border-radius:11px}
.orange-submarine-craft.is-restanet-flow .orange-craft-can-make{width:auto;height:auto;min-width:0;flex:0 0 auto;padding:4px 8px;border:1px solid #b9d1aa;border-radius:999px;background:#edf7e8;color:#5f8452;font-size:14px!important;font-weight:900;line-height:1.2}
.orange-craft-work-list{display:grid;gap:9px}
.orange-craft-work-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid #e5d7c6;border-radius:15px;background:#fff;transition:opacity .18s ease,background .18s ease}
.orange-craft-work-main{display:flex;align-items:center;gap:18px;min-width:0}
.orange-craft-work-main>.orange-craft-item{min-width:240px}
.orange-craft-work-count{display:flex;gap:16px;flex-wrap:wrap;color:#765f4d;font-size:16px}
.orange-craft-work-count span{white-space:nowrap}.orange-craft-work-count b{color:#5f4a39;font-size:17px}
.orange-craft-work-action{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.orange-craft-work-action>small{width:100%;color:#8a7562;font-size:16px;text-align:right}
.orange-craft-work-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f0ebe4;color:#85715f;font-size:16px;font-weight:900;white-space:nowrap}
.orange-craft-work-status.is-ready{background:#edf7e8;color:#5e8352}.orange-craft-work-status.is-done{background:#e4e2df;color:#77736e}
.orange-craft-work-card .orange-craft-complete-button{min-width:88px;font-size:16px!important}
.orange-craft-work-card.is-stock-complete{background:rgba(218,215,210,.55);color:#827d77}
.orange-craft-work-card.is-stock-complete .orange-craft-item{opacity:.56;filter:grayscale(1)}
.orange-craft-work-card.is-stock-complete .orange-craft-work-count{opacity:.62}
.orange-craft-finished-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.orange-craft-finished-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #e5d7c6;border-radius:16px;background:#fff}
.orange-craft-finished-card.is-ready{border-color:#bed2b0;background:#f6fbf3}
.orange-craft-finished-copy{display:grid;justify-items:end;gap:5px;text-align:right}
.orange-craft-finished-copy strong{color:#7c6048;font-size:20px}.orange-craft-finished-copy span{color:#8a745f;font-size:16px;font-weight:800}
.orange-craft-finished-card.is-ready .orange-craft-finished-copy span{color:#5e8352}
@media(max-width:980px){.orange-craft-flow-nav{grid-template-columns:repeat(5,1fr)}.orange-craft-flow-nav>i{display:none}.orange-craft-flow-nav>a{justify-content:center;flex-direction:column;gap:5px;text-align:center}.orange-craft-step-head{align-items:flex-start;flex-wrap:wrap}.orange-craft-step-tools,.orange-craft-filter{margin-left:56px}.orange-craft-work-card{grid-template-columns:1fr}.orange-craft-work-action{justify-content:flex-start}.orange-craft-work-action>small{text-align:left}.orange-craft-finished-grid{grid-template-columns:1fr}}
@media(max-width:620px){.orange-craft-flow-nav{padding:12px 8px;gap:4px}.orange-craft-flow-nav>a{font-size:13px}.orange-craft-flow-nav>a>b{width:32px;height:32px}.orange-craft-step{padding:16px}.orange-craft-step-head>b{flex-basis:38px;width:38px;height:38px}.orange-craft-step-head h2{font-size:20px}.orange-craft-step-tools,.orange-craft-filter{margin-left:0;width:100%}.orange-craft-filter{box-sizing:border-box;justify-content:center}.orange-craft-copy-missing{width:100%}.orange-craft-work-main{align-items:flex-start;flex-direction:column;gap:9px}.orange-craft-work-main>.orange-craft-item{min-width:0}.orange-craft-work-count{gap:10px}}

/* ===== v0.9.172: compact expandable crafting manager ===== */
.orange-submarine-craft.is-compact-accordion{gap:10px;margin-top:14px}
.orange-submarine-craft.is-compact-accordion .orange-craft-heading{padding:0 2px 6px}
.orange-submarine-craft.is-compact-accordion .orange-craft-heading .panel-label{font-size:16px!important;letter-spacing:.1em}
.orange-submarine-craft.is-compact-accordion .orange-craft-heading h2{font-size:24px}
.orange-submarine-craft.is-compact-accordion .orange-craft-shared-status{font-size:16px!important}
.orange-craft-accordion{display:grid;gap:7px}
.orange-craft-accordion>.orange-craft-step{padding:0;margin:0;border:1px solid #dfd2c3;border-radius:11px;background:#fff;box-shadow:none;overflow:hidden;scroll-margin-top:86px}
.orange-craft-accordion>.orange-craft-step.is-primary{border-color:#e1c19e;background:#fff}
.orange-craft-accordion>.orange-craft-step>summary{display:grid;grid-template-columns:38px minmax(0,1fr) auto 22px;align-items:center;gap:10px;min-height:58px;box-sizing:border-box;padding:8px 13px;list-style:none;cursor:pointer;background:#fff;color:#55473b;user-select:none}
.orange-craft-accordion>.orange-craft-step>summary::-webkit-details-marker{display:none}
.orange-craft-accordion>.orange-craft-step>summary:hover{background:#fffaf3}
.orange-craft-accordion>.orange-craft-step[open]>summary{border-bottom:1px solid #eee2d4;background:#fffaf4}
.orange-craft-accordion>.orange-craft-step.is-primary>summary{box-shadow:inset 4px 0 0 #e98632}
.orange-craft-step-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e98632;color:#fff;font-size:17px;font-weight:900;line-height:1}
.orange-craft-accordion>.orange-craft-step>summary>strong{min-width:0;font-size:18px;line-height:1.35}
.orange-craft-step-summary{color:#8a7562;font-size:16px;font-weight:700;white-space:nowrap}
.orange-craft-step-summary>b{color:#6b5542;font-size:16px}
.orange-craft-step-chevron{width:9px;height:9px;border-right:2px solid #9c8068;border-bottom:2px solid #9c8068;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}
.orange-craft-step[open] .orange-craft-step-chevron{transform:rotate(225deg) translate(-1px,-1px)}
.orange-craft-step-body{padding:12px 13px 14px;background:#fffdf9}
.orange-craft-inline-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:0 0 9px}
.orange-submarine-craft.is-compact-accordion .orange-craft-filter{margin:0;padding:6px 10px;border-radius:8px;font-size:16px}
.orange-submarine-craft.is-compact-accordion .orange-craft-copy-missing{min-height:36px;padding:7px 11px;border-radius:8px;font-size:16px}

.orange-submarine-craft.is-compact-accordion .orange-craft-add{display:grid;grid-template-columns:minmax(260px,1fr) 90px auto;gap:7px;align-items:end;margin:0 0 10px;padding:9px 10px;border-radius:9px;background:#fff8ef}
.orange-submarine-craft.is-compact-accordion .orange-craft-add label{gap:4px}
.orange-submarine-craft.is-compact-accordion .orange-craft-add label>span,
.orange-submarine-craft.is-compact-accordion .orange-craft-add select,
.orange-submarine-craft.is-compact-accordion .orange-craft-add input,
.orange-submarine-craft.is-compact-accordion .orange-craft-add button{font-size:16px!important}
.orange-submarine-craft.is-compact-accordion .orange-craft-add select,
.orange-submarine-craft.is-compact-accordion .orange-craft-add input{padding:7px 9px;border-radius:7px}
.orange-submarine-craft.is-compact-accordion .orange-craft-add button{min-height:37px;padding:7px 12px;border-radius:7px}

.orange-craft-plan-compact{display:grid;gap:8px}
.orange-craft-plan-compact-group{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px;align-items:start}
.orange-craft-plan-compact-group>h3{margin:0;padding:10px 4px;color:#967659;font-size:16px!important;line-height:1.3;text-align:center}
.orange-craft-plan-compact-list{display:grid;border:1px solid #eadfd2;border-radius:9px;background:#fff;overflow:hidden}
.orange-craft-plan-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:6px 9px;border-bottom:1px solid #eee5db;background:#fff}
.orange-craft-plan-row:last-child{border-bottom:0}
.orange-craft-plan-row>.orange-craft-item{min-width:0;flex:1 1 auto}
.orange-craft-plan-row .orange-craft-item-icon{flex-basis:38px!important;width:38px!important;height:38px!important;border-radius:8px!important}
.orange-craft-plan-row .orange-craft-plan-qty{display:grid;grid-template-columns:auto 32px 56px 32px auto;gap:4px;align-items:center;flex:0 0 auto}
.orange-craft-plan-row .orange-craft-plan-qty>span,
.orange-craft-plan-row .orange-craft-plan-qty input,
.orange-craft-plan-row .orange-craft-plan-qty button{font-size:16px!important}
.orange-craft-plan-row .orange-craft-plan-qty input{padding:6px 4px;border-radius:7px}
.orange-craft-plan-row .orange-craft-plan-qty button{min-width:32px;min-height:32px;padding:4px 7px;border-radius:7px}

.orange-craft-compact-list{display:grid;border:1px solid #e7d9ca;border-radius:9px;background:#fff;overflow:hidden}
.orange-craft-compact-row{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(125px,auto);align-items:center;gap:10px;min-height:54px;padding:6px 10px;border-bottom:1px solid #eee5db;background:#fff;transition:background .16s ease,opacity .16s ease}
.orange-craft-compact-row:last-child{border-bottom:0}
.orange-craft-compact-row:hover{background:#fffaf5}
.orange-craft-compact-item{min-width:0}
.orange-craft-compact-row .orange-craft-item{min-width:0}
.orange-craft-compact-row .orange-craft-item-icon{flex-basis:40px!important;width:40px!important;height:40px!important;border-radius:8px!important}
.orange-craft-compact-row .orange-craft-item-name,
.orange-craft-compact-row .orange-craft-item-name-button{font-size:16px!important;line-height:1.35;text-align:left}
.orange-craft-compact-row .orange-craft-can-make{padding:3px 7px!important;border-radius:999px!important;font-size:15px!important}
.orange-craft-compact-values{display:grid;grid-template-columns:86px 116px 86px;gap:5px;align-items:center}
.orange-craft-compact-values>span,
.orange-craft-compact-values>label{display:grid;grid-template-columns:1fr;gap:1px;align-items:center;justify-items:end;min-width:0}
.orange-craft-compact-values small{color:#917b68;font-size:16px!important;line-height:1.2}
.orange-craft-compact-values b{color:#604e40;font-size:16px;line-height:1.35}
.orange-craft-compact-values input{width:100%;max-width:100px;box-sizing:border-box;padding:6px 7px;border:1px solid #ddccb9;border-radius:7px;background:#fff;color:#55463a;font:inherit;font-size:16px!important;text-align:right}
.orange-craft-compact-values [data-craft-left].is-missing{color:#c5683d}
.orange-craft-compact-values [data-craft-left].is-complete{color:#71806c}
.orange-craft-compact-source{justify-self:end;max-width:180px;color:#806d5b;font-size:16px!important;line-height:1.35;text-align:right}
.orange-craft-compact-row.is-stock-complete{background:rgba(214,214,214,.52)}
.orange-craft-compact-row.is-stock-complete:hover{background:rgba(207,207,207,.58)}
.orange-craft-compact-row.is-stock-complete .orange-craft-item,
.orange-craft-compact-row.is-stock-complete .orange-craft-compact-values,
.orange-craft-compact-row.is-stock-complete .orange-craft-compact-source{opacity:.58;filter:grayscale(1)}
.orange-craft-compact-row.is-stock-complete input[data-craft-stock]{background:rgba(244,244,244,.9);border-color:#cfcfcf;color:#777}

.orange-submarine-craft.is-compact-accordion .orange-craft-work-list{display:grid;gap:0;border:1px solid #e7d9ca;border-radius:9px;background:#fff;overflow:hidden}
.orange-submarine-craft.is-compact-accordion .orange-craft-work-card{min-height:52px;padding:7px 10px;border:0;border-bottom:1px solid #eee5db;border-radius:0;box-shadow:none}
.orange-submarine-craft.is-compact-accordion .orange-craft-work-card:last-child{border-bottom:0}
.orange-submarine-craft.is-compact-accordion .orange-craft-work-main{gap:12px}
.orange-submarine-craft.is-compact-accordion .orange-craft-work-main>.orange-craft-item{min-width:210px}
.orange-submarine-craft.is-compact-accordion .orange-craft-work-count{gap:10px;font-size:16px}
.orange-submarine-craft.is-compact-accordion .orange-craft-work-count b{font-size:16px}
.orange-submarine-craft.is-compact-accordion .orange-craft-work-status,
.orange-submarine-craft.is-compact-accordion .orange-craft-work-action>small,
.orange-submarine-craft.is-compact-accordion .orange-craft-work-card .orange-craft-complete-button{font-size:16px!important}
.orange-submarine-craft.is-compact-accordion .orange-craft-work-card .orange-craft-item-icon{flex-basis:40px!important;width:40px!important;height:40px!important;border-radius:8px!important}

.orange-submarine-craft.is-compact-accordion .orange-craft-finished-grid{display:grid;grid-template-columns:1fr;gap:0;border:1px solid #e7d9ca;border-radius:9px;background:#fff;overflow:hidden}
.orange-submarine-craft.is-compact-accordion .orange-craft-finished-card{min-height:52px;padding:7px 10px;border:0;border-bottom:1px solid #eee5db;border-radius:0;background:#fff}
.orange-submarine-craft.is-compact-accordion .orange-craft-finished-card:last-child{border-bottom:0}
.orange-submarine-craft.is-compact-accordion .orange-craft-finished-card.is-ready{background:#f4f8f1}
.orange-submarine-craft.is-compact-accordion .orange-craft-finished-copy strong,
.orange-submarine-craft.is-compact-accordion .orange-craft-finished-copy span{font-size:16px}
.orange-submarine-craft.is-compact-accordion .orange-craft-finished-card .orange-craft-item-icon{flex-basis:40px!important;width:40px!important;height:40px!important;border-radius:8px!important}

@media(max-width:900px){
  .orange-craft-compact-row{grid-template-columns:minmax(190px,1fr) auto}.orange-craft-compact-source{grid-column:1/-1;justify-self:start;max-width:none;padding-left:50px;text-align:left}
  .orange-craft-compact-values{grid-template-columns:76px 108px 76px}
}
@media(max-width:700px){
  .orange-craft-accordion>.orange-craft-step>summary{grid-template-columns:36px minmax(0,1fr) 18px;gap:8px;padding:8px 10px}.orange-craft-step-summary{grid-column:2/3;grid-row:2;font-size:16px}.orange-craft-step-chevron{grid-column:3;grid-row:1/3}
  .orange-craft-step-body{padding:9px 9px 11px}
  .orange-submarine-craft.is-compact-accordion .orange-craft-add{grid-template-columns:1fr 82px}.orange-submarine-craft.is-compact-accordion .orange-craft-add button{grid-column:1/-1}
  .orange-craft-plan-compact-group{grid-template-columns:1fr}.orange-craft-plan-compact-group>h3{padding:4px 2px;text-align:left}.orange-craft-plan-row{align-items:flex-start;flex-direction:column}.orange-craft-plan-row .orange-craft-plan-qty{width:100%;grid-template-columns:auto 34px 70px 34px 1fr}.orange-craft-plan-row .orange-craft-plan-remove{justify-self:end}
  .orange-craft-compact-row{grid-template-columns:1fr;gap:6px;padding:8px 9px}.orange-craft-compact-values{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.orange-craft-compact-values>span,.orange-craft-compact-values>label{justify-items:start}.orange-craft-compact-values input{max-width:none}.orange-craft-compact-source{grid-column:auto;padding-left:50px}
  .orange-submarine-craft.is-compact-accordion .orange-craft-work-card{grid-template-columns:1fr}.orange-submarine-craft.is-compact-accordion .orange-craft-work-action{justify-content:flex-start}.orange-submarine-craft.is-compact-accordion .orange-craft-work-action>small{text-align:left}
}
@media(max-width:480px){
  .orange-craft-inline-tools{justify-content:stretch}.orange-submarine-craft.is-compact-accordion .orange-craft-filter,.orange-submarine-craft.is-compact-accordion .orange-craft-copy-missing{width:100%;box-sizing:border-box;justify-content:center}
  .orange-submarine-craft.is-compact-accordion .orange-craft-add{grid-template-columns:1fr}
  .orange-craft-plan-row .orange-craft-plan-qty{grid-template-columns:1fr 34px 66px 34px}.orange-craft-plan-row .orange-craft-plan-qty>span,.orange-craft-plan-row .orange-craft-plan-remove{grid-column:1/-1}.orange-craft-plan-row .orange-craft-plan-remove{width:100%;justify-self:stretch}
}


/* ===== v0.9.174: recipe tree alignment + acquisition column ===== */
.orange-submarine-craft.is-recipe-tree-flow{display:grid;gap:18px;margin-top:16px}
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-heading{padding:0 2px 2px}
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-heading .panel-label,
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-shared-status{font-size:16px!important}
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-heading h2{font-size:25px}

.orange-craft-static-step{padding:0!important;margin:0!important;border:1px solid #e1d5c7!important;border-radius:13px!important;background:#fff!important;box-shadow:none!important;overflow:hidden}
.orange-craft-static-step.is-primary{border-color:#dfc09f!important;background:#fff!important}
.orange-craft-static-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:58px;padding:8px 13px;border-bottom:1px solid #eee4d9;background:#fffaf4}
.orange-craft-static-step.is-primary .orange-craft-static-head{box-shadow:inset 4px 0 0 #e98632}
.orange-craft-static-head h3{margin:0;color:#58483b;font-size:18px;line-height:1.35}
.orange-craft-static-head>span{color:#88725e;font-size:16px;font-weight:700;white-space:nowrap}
.orange-craft-static-head>span b{color:#675140;font-size:16px}
.orange-craft-static-body{padding:11px 12px 13px;background:#fffdf9}
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-add{display:grid;grid-template-columns:minmax(260px,1fr) 90px auto;gap:7px;align-items:end;margin:0 0 10px;padding:9px 10px;border-radius:9px;background:#fff8ef}
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-add label>span,
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-add select,
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-add input,
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-add button{font-size:16px!important}
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-add select,
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-add input{padding:7px 9px;border-radius:7px}
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-add button{min-height:37px;padding:7px 12px;border-radius:7px}
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-filter{margin:0;padding:6px 10px;border-radius:8px;font-size:16px}
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-copy-missing{min-height:36px;padding:7px 11px;border-radius:8px;font-size:16px}
.orange-craft-tree-control{min-height:36px;padding:7px 11px;border:1px solid #ddccb9;border-radius:8px;background:#fff;color:#705a48;font:800 16px/1.2 inherit;cursor:pointer}
.orange-craft-tree-control:hover{background:#fff7ed;border-color:#d9b68e}

.orange-craft-tree-wrap{border:1px solid #e4d9cd;border-radius:10px;background:#fff;overflow:hidden}
.orange-craft-tree-columns{display:grid;grid-template-columns:minmax(280px,1fr) 82px 104px 82px minmax(190px,240px);align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid #eadfd3;background:#f7f1e9;color:#8b7561;font-size:16px;font-weight:800;text-align:right}
.orange-craft-tree-columns>span:first-child{text-align:left;padding-left:34px}
.orange-craft-tree{display:grid}
.orange-craft-tree-node{min-width:0}
.orange-craft-tree-row{position:relative;display:grid;grid-template-columns:minmax(280px,1fr) 82px 104px 82px minmax(190px,240px);align-items:center;gap:6px;min-height:50px;padding:4px 10px;border-bottom:1px solid #eee7df;background:#fff;transition:background .15s ease,opacity .15s ease}
.orange-craft-tree-row:hover{background:#fffaf5}
.orange-craft-tree-node:last-child>.orange-craft-tree-row{border-bottom:0}
.orange-craft-tree-leading{position:relative;display:flex;align-items:center;gap:7px;min-width:0;padding-left:calc(var(--craft-depth,0) * 30px)}
.orange-craft-tree-row:not([data-craft-depth="0"]) .orange-craft-tree-leading:before{content:"";position:absolute;left:calc((var(--craft-depth,0) * 30px) - 18px);top:50%;width:13px;border-top:1px solid #d9c8b7}
.orange-craft-tree-leading>.orange-craft-item{min-width:0;flex:1 1 auto}
.orange-craft-tree-row .orange-craft-item-icon{flex-basis:38px!important;width:38px!important;height:38px!important;border-radius:8px!important}
.orange-craft-tree-row .orange-craft-item-name,
.orange-craft-tree-row .orange-craft-item-name-button{font-size:16px!important;line-height:1.3;text-align:left}
.orange-craft-tree-toggle{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;padding:0;border:0;border-radius:6px;background:transparent;color:#9a7e64;cursor:pointer}
.orange-craft-tree-toggle:hover{background:#f5e9dc;color:#d77829}
.orange-craft-tree-toggle>i{display:block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .14s ease}
.orange-craft-tree-toggle[aria-expanded="true"]>i{transform:rotate(45deg) translate(-1px,-1px)}
.orange-craft-tree-name{cursor:pointer}
.orange-craft-tree-leaf{display:block;flex:0 0 25px;width:25px;height:25px;position:relative}
.orange-craft-tree-leaf:before{content:"";position:absolute;left:11px;top:11px;width:5px;height:5px;border-radius:50%;background:#d7c7b6}
.orange-craft-tree-detail{flex:0 0 auto;padding:2px 5px;border:0;border-radius:6px;background:transparent;color:#a18870;font:900 16px/1 inherit;letter-spacing:1px;cursor:pointer}
.orange-craft-tree-detail:hover{background:#f3e8dc;color:#d77829}
.orange-craft-tree-metric{display:grid;gap:0;justify-items:end;min-width:0}
.orange-craft-tree-metric small{color:#947e6a;font-size:16px!important;line-height:1.1}
.orange-craft-tree-metric b{color:#604d3e;font-size:16px;line-height:1.25}
.orange-craft-tree-metric input{width:92px;box-sizing:border-box;padding:5px 7px;border:1px solid #dccbb8;border-radius:7px;background:#fff;color:#55463a;font:inherit;font-size:16px!important;text-align:right}
.orange-craft-tree-metric [data-craft-left].is-missing{color:#c5683d}
.orange-craft-tree-metric [data-craft-left].is-complete{color:#747f70}
.orange-craft-tree-action{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0}
.orange-craft-tree-action>small{color:#8b7563;font-size:16px!important;text-align:right;line-height:1.45;white-space:normal}
.orange-craft-tree-source{display:block;width:100%}
.orange-craft-tree-action .orange-craft-work-status{padding:4px 7px;font-size:15px!important}
.orange-craft-tree-action .orange-craft-complete-button{min-width:64px;padding:6px 8px;font-size:15px!important}
.orange-craft-tree-children{position:relative;margin-left:0;border-left:0;background:#fdfbf8}
.orange-craft-tree-children>.orange-craft-tree-node>.orange-craft-tree-row:before{display:none}
.orange-craft-tree-children[hidden]{display:none!important}
.orange-craft-tree-row.is-stock-complete{background:rgba(214,214,214,.52)}
.orange-craft-tree-row.is-stock-complete:hover{background:rgba(207,207,207,.58)}
.orange-craft-tree-row.is-stock-complete .orange-craft-tree-leading,
.orange-craft-tree-row.is-stock-complete .orange-craft-tree-metric,
.orange-craft-tree-row.is-stock-complete .orange-craft-tree-action{opacity:.56;filter:grayscale(1)}
.orange-craft-tree-row.is-stock-complete input[data-craft-stock]{background:rgba(244,244,244,.9);border-color:#cfcfcf;color:#777}
.orange-craft-step.is-hide-complete .orange-craft-tree-row.is-stock-complete{display:none!important}

.orange-submarine-craft.is-recipe-tree-flow .orange-craft-compact-list{border-radius:9px}
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-finished-grid{display:grid;grid-template-columns:1fr;gap:0;border:1px solid #e7d9ca;border-radius:9px;background:#fff;overflow:hidden}
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-finished-card{min-height:52px;padding:7px 10px;border:0;border-bottom:1px solid #eee5db;border-radius:0;background:#fff}
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-finished-card:last-child{border-bottom:0}
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-finished-card.is-ready{background:#f4f8f1}
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-finished-copy strong,
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-finished-copy span{font-size:16px}
.orange-submarine-craft.is-recipe-tree-flow .orange-craft-finished-card .orange-craft-item-icon{flex-basis:40px!important;width:40px!important;height:40px!important;border-radius:8px!important}

@media(max-width:980px){
  .orange-craft-tree-columns{display:none}
  .orange-craft-tree-row{grid-template-columns:minmax(230px,1fr) repeat(3,82px);padding-right:8px}
  .orange-craft-tree-action{grid-column:1/-1;justify-content:flex-start;padding-left:32px;padding-bottom:4px}
}
@media(max-width:700px){
  .orange-craft-static-head{grid-template-columns:36px minmax(0,1fr);gap:8px;padding:8px 10px}.orange-craft-static-head>span{grid-column:2;font-size:16px;white-space:normal}
  .orange-craft-static-body{padding:9px}
  .orange-submarine-craft.is-recipe-tree-flow .orange-craft-add{grid-template-columns:1fr 82px}.orange-submarine-craft.is-recipe-tree-flow .orange-craft-add button{grid-column:1/-1}
  .orange-craft-tree-row{grid-template-columns:1fr repeat(3,minmax(70px,1fr));gap:5px;padding:6px 8px 7px}
  .orange-craft-tree-leading{grid-column:1/-1;padding-left:calc(var(--craft-depth,0) * 18px)}
  .orange-craft-tree-metric{justify-items:start}.orange-craft-tree-metric.is-owned{grid-column:auto}
  .orange-craft-tree-metric input{width:100%;max-width:110px}
  .orange-craft-tree-action{grid-column:1/-1;padding-left:32px}
  .orange-craft-tree-children{margin-left:0}
}
@media(max-width:480px){
  .orange-submarine-craft.is-recipe-tree-flow .orange-craft-add{grid-template-columns:1fr}
  .orange-craft-tree-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .orange-craft-inline-tools{justify-content:stretch}.orange-craft-tree-control,.orange-submarine-craft.is-recipe-tree-flow .orange-craft-filter,.orange-submarine-craft.is-recipe-tree-flow .orange-craft-copy-missing{width:100%;box-sizing:border-box;justify-content:center}
}

/* ===== v0.9.175: split crafting board + compact recipe tree ===== */
.orange-submarine-craft.is-split-crafting-board{display:grid;gap:16px}
.orange-craft-split-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:16px;align-items:start}
.orange-craft-tree-pane,.orange-craft-side-card{border:1px solid #e2d3c4;border-radius:15px;background:#fffdf9;box-shadow:0 5px 15px rgba(91,65,41,.05);overflow:hidden}
.orange-craft-pane-head,.orange-craft-side-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #eadfd4;background:#fff9f2}
.orange-craft-pane-head>div:first-child,.orange-craft-side-card>header>div{display:grid;gap:2px}
.orange-craft-pane-head span,.orange-craft-side-card>header>span{color:#d77829;font-size:14px;font-weight:800;letter-spacing:.14em}
.orange-craft-pane-head h3,.orange-craft-side-card h3{margin:0;color:#55463a;font-size:20px;line-height:1.3}
.orange-craft-pane-tools{display:flex;gap:6px;flex-wrap:wrap}
.orange-craft-pane-tools button{min-height:34px;padding:6px 10px;border:1px solid #dccab7;border-radius:8px;background:#fff;color:#6f5947;font:800 16px/1.2 inherit;cursor:pointer}
.orange-craft-pane-tools button:hover{background:#fff3e5;border-color:#dba971}
.orange-craft-tree-help,.orange-craft-done-help{margin:0;padding:9px 14px;color:#806d5b;font-size:16px;line-height:1.55;background:#fffdf9}
.orange-craft-ref-tree{padding:7px 10px 13px;background:#fff}
.orange-craft-ref-node{position:relative;min-width:0}
.orange-craft-ref-node.is-product-step{margin:4px 0 12px}
.orange-craft-ref-row{position:relative;display:flex;align-items:center;min-height:34px;gap:5px;padding:3px 5px;color:#55483d;font-size:16px;line-height:1.35}
.orange-craft-ref-row.is-product-row{min-height:40px;margin-bottom:2px;border-bottom:1px solid #eee5dc;background:#fcfaf7;font-weight:800}
.orange-craft-ref-children{position:relative;margin-left:12px;padding-left:18px;border-left:1px dotted #9b9b9b}
.orange-craft-ref-children[hidden]{display:none!important}
.orange-craft-ref-children>.orange-craft-ref-node>.orange-craft-ref-row:before{content:"";position:absolute;left:-18px;top:17px;width:15px;border-top:1px dotted #9b9b9b}
.orange-craft-ref-toggle{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;padding:0;border:0;background:transparent;color:#8b7765;cursor:pointer}
.orange-craft-ref-toggle i{display:block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .14s ease}
.orange-craft-ref-toggle[aria-expanded="true"] i{transform:rotate(45deg) translate(-1px,-1px)}
.orange-craft-ref-leaf{flex:0 0 20px;width:20px;height:20px;position:relative}
.orange-craft-ref-leaf:after{content:"";position:absolute;left:8px;top:8px;width:4px;height:4px;border-radius:50%;background:#c7b8aa}
.orange-craft-ref-row .orange-craft-item{display:flex;align-items:center;gap:6px;min-width:0;flex:0 1 auto}
.orange-craft-ref-row .orange-craft-item-icon{flex:0 0 27px!important;width:27px!important;height:27px!important;border-radius:5px!important}
.orange-craft-ref-row.is-product-row .orange-craft-item-icon{flex-basis:30px!important;width:30px!important;height:30px!important}
.orange-craft-ref-row .orange-craft-item-name,.orange-craft-ref-row .orange-craft-item-name-button{max-width:260px;padding:0!important;color:#55483d!important;font-size:16px!important;font-weight:700!important;line-height:1.35!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}
.orange-craft-ref-row .orange-craft-tree-name{cursor:pointer}
.orange-craft-tree-item-tools{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto;margin-left:2px}
.orange-craft-tree-item-tool{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:5px;background:transparent;color:#9a8069;cursor:pointer;transition:background .12s ease,color .12s ease,opacity .12s ease}
.orange-craft-tree-item-tool:hover{background:#f3e8dc;color:#d77829}
.orange-craft-tree-item-tool.is-copy svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.orange-craft-tree-item-tool.is-db img{display:block;width:15px;height:15px;object-fit:contain;opacity:.78}
.orange-craft-tree-item-tool.is-db:hover img{opacity:1}
.orange-craft-tree-item-tool.is-copied{background:#e7f1e4;color:#61775c}
.orange-craft-ref-step{font-size:16px;white-space:nowrap}
.orange-craft-ref-all,.orange-craft-ref-job{color:#6d665f;font-size:16px;font-weight:700;white-space:nowrap}
.orange-craft-ref-job{color:#49657c}
.orange-craft-ref-qty{padding:0 2px;border:0;background:transparent;color:#4a5560;font:800 16px/1.2 inherit;cursor:pointer;white-space:nowrap}
.orange-craft-ref-qty:hover{color:#df7627;text-decoration:underline}
.orange-craft-ref-qty.is-readonly{cursor:default}.orange-craft-ref-qty.is-readonly:hover{color:#4a5560;text-decoration:none}
.orange-craft-ref-total{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid #ead7c2;border-radius:999px;background:#fff8ef;color:#9b6a42;font-size:14px;font-weight:700;line-height:1.25;white-space:nowrap}
.orange-craft-ref-done{padding:2px 6px;border-radius:999px;background:#e6eee2;color:#61755b;font-size:14px;font-weight:800;white-space:nowrap}
.orange-craft-ref-source{min-width:0;margin-left:auto;max-width:190px;color:#8a7767;font-size:15px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}
.orange-craft-ref-stock-editor{display:inline-flex;align-items:center;gap:5px;margin-left:4px;padding:3px 6px;border:1px solid #e0c9ae;border-radius:7px;background:#fff7ed;color:#765e49;font-size:15px;font-weight:700}
.orange-craft-ref-stock-editor[hidden]{display:none!important}
.orange-craft-ref-stock-editor input{width:76px;padding:3px 5px;border:1px solid #d9c4ac;border-radius:5px;background:#fff;color:#53463b;font:inherit;font-size:16px;text-align:right}
.orange-craft-ref-row.is-stock-complete{background:rgba(210,210,210,.48)}
.orange-craft-ref-row.is-stock-complete>.orange-craft-item,.orange-craft-ref-row.is-stock-complete>.orange-craft-ref-job,.orange-craft-ref-row.is-stock-complete>.orange-craft-ref-qty,.orange-craft-ref-row.is-stock-complete>.orange-craft-ref-total,.orange-craft-ref-row.is-stock-complete>.orange-craft-ref-source{opacity:.52;filter:grayscale(1)}
.orange-craft-ref-row.is-stock-complete>.orange-craft-ref-toggle,.orange-craft-ref-row.is-stock-complete>.orange-craft-ref-leaf{opacity:.55;filter:grayscale(1)}
.orange-craft-ref-row.is-stock-complete .orange-craft-ref-stock-editor{background:rgba(245,245,245,.94);border-color:#d1d1d1;color:#706d69}
.orange-craft-ref-row.is-stock-complete .orange-craft-ref-stock-editor input{background:#f7f7f7;border-color:#cecece;color:#666}
.orange-craft-side-pane{display:grid;gap:12px;position:sticky;top:18px}
.orange-craft-side-card>header{padding:10px 12px}
.orange-craft-side-card>header small{margin-left:auto;color:#806d5d;font-size:16px;font-weight:700}
.orange-craft-side-card>header small b{color:#5f4c3d}
.orange-craft-side-add{display:grid!important;grid-template-columns:minmax(0,1fr) 76px auto!important;gap:7px!important;align-items:end!important;margin:10px 10px 8px!important;padding:0!important;background:transparent!important}
.orange-craft-side-add label{display:grid;gap:4px;min-width:0}
.orange-craft-side-add label>span{font-size:16px!important;font-weight:700;color:#806b59}
.orange-craft-side-add select,.orange-craft-side-add input{width:100%;box-sizing:border-box;min-height:36px;padding:6px 8px;border:1px solid #ddcbb8;border-radius:7px;background:#fff;font:inherit;font-size:16px!important}
.orange-craft-side-add button{min-height:36px;padding:6px 11px;border:0;border-radius:8px;background:#e98632;color:#fff;font:800 16px/1 inherit;cursor:pointer}
.orange-craft-side-pane .orange-craft-plan-compact{display:grid;gap:6px;padding:0 10px 10px}
.orange-craft-side-pane .orange-craft-plan-compact-group{margin:0;padding:0;border:0;background:transparent}
.orange-craft-side-pane .orange-craft-plan-compact-group h3{margin:4px 0 3px;color:#8a7562;font-size:15px}
.orange-craft-side-pane .orange-craft-plan-compact-list{display:grid;gap:4px}
.orange-craft-side-pane .orange-craft-plan-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center;min-height:45px;padding:5px 7px;border:1px solid #eadfd4;border-radius:8px;background:#fff}
.orange-craft-side-pane .orange-craft-plan-row .orange-craft-item-icon{flex-basis:34px!important;width:34px!important;height:34px!important;border-radius:7px!important}
.orange-craft-side-pane .orange-craft-plan-row .orange-craft-item-name{font-size:16px!important}
.orange-craft-side-pane .orange-craft-plan-qty{display:flex;align-items:center;gap:4px}
.orange-craft-side-pane .orange-craft-plan-qty>span{display:none}
.orange-craft-side-pane .orange-craft-plan-qty button,.orange-craft-side-pane .orange-craft-plan-qty input{height:32px;box-sizing:border-box;font-size:16px!important}
.orange-craft-side-pane .orange-craft-plan-qty button{min-width:30px;padding:3px 7px}
.orange-craft-side-pane .orange-craft-plan-qty input{width:52px;padding:4px 5px;text-align:center}
.orange-craft-side-pane .orange-craft-plan-remove{min-width:auto!important;padding:4px 6px!important}
.orange-craft-ready-list,.orange-craft-done-list{display:grid;gap:0;padding:6px 10px 10px}
.orange-craft-ready-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-height:47px;padding:5px 3px;border-bottom:1px solid #eee5dc}
.orange-craft-ready-row:last-child{border-bottom:0}
.orange-craft-ready-row .orange-craft-item{display:flex;align-items:center;gap:7px;min-width:0}
.orange-craft-ready-row .orange-craft-item-icon{flex:0 0 35px!important;width:35px!important;height:35px!important;border-radius:7px!important}
.orange-craft-ready-row .orange-craft-item-name{font-size:16px!important;font-weight:700}
.orange-craft-ready-row>div{display:grid;justify-items:end;gap:1px}
.orange-craft-ready-row>div small{color:#73866c;font-size:14px;font-weight:800}
.orange-craft-ready-row>div strong{color:#5d4a3c;font-size:16px}
.orange-craft-side-empty{margin:0;padding:14px;color:#8b7969;font-size:16px;line-height:1.5}
.orange-craft-done-help{padding:8px 11px;border-bottom:1px solid #eee4da;background:#fffdf9}
.orange-craft-done-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:7px;align-items:center;min-height:46px;padding:5px 3px;border-bottom:1px solid #eee5dc}
.orange-craft-done-row:last-child{border-bottom:0}
.orange-craft-done-row>input{width:18px;height:18px;accent-color:#e98632}
.orange-craft-done-row .orange-craft-item{display:flex;align-items:center;gap:7px;min-width:0}
.orange-craft-done-row .orange-craft-item-icon{flex:0 0 34px!important;width:34px!important;height:34px!important;border-radius:7px!important}
.orange-craft-done-row .orange-craft-item-name{font-size:16px!important;font-weight:700}
.orange-craft-done-need{color:#7d6b5a;font-size:15px;font-weight:700;white-space:nowrap}
.orange-craft-done-row>small{grid-column:2/-1;color:#a16d3e;font-size:14px}
.orange-craft-done-row.is-done{background:rgba(216,216,216,.42)}
.orange-craft-done-row.is-done .orange-craft-item,.orange-craft-done-row.is-done .orange-craft-done-need{opacity:.56;filter:grayscale(1)}
.orange-craft-done-check{display:grid;place-items:center;width:20px;height:20px;border:1px solid #d5c6b6;border-radius:4px;color:#6c8064;font-weight:900}
.orange-craft-done-check.is-checked{background:#edf2e9}
@media(max-width:1050px){.orange-craft-split-layout{grid-template-columns:1fr}.orange-craft-side-pane{position:static;grid-template-columns:1fr 1fr}.orange-craft-side-card.is-wanted,.orange-craft-side-card.is-ready{grid-column:1/-1}}
@media(max-width:700px){.orange-craft-side-pane{grid-template-columns:1fr}.orange-craft-side-card.is-wanted{grid-column:auto}.orange-craft-pane-head{align-items:flex-start;flex-direction:column}.orange-craft-ref-source{display:none}.orange-craft-ref-row .orange-craft-item-name,.orange-craft-ref-row .orange-craft-item-name-button{max-width:180px}.orange-craft-side-add{grid-template-columns:1fr 72px!important}.orange-craft-side-add button{grid-column:1/-1}.orange-craft-ref-children{margin-left:7px;padding-left:13px}.orange-craft-ref-children>.orange-craft-ref-node>.orange-craft-ref-row:before{left:-13px;width:10px}}


/* ===== v0.9.178: recipe-tree action icons sizing guard ===== */
.orange-submarine-craft .orange-craft-ref-row .orange-craft-tree-item-tools{display:inline-flex!important;align-items:center!important;gap:3px!important;flex:0 0 auto!important;margin-left:3px!important;line-height:1!important}
.orange-submarine-craft .orange-craft-ref-row .orange-craft-tree-item-tool{display:inline-grid!important;place-items:center!important;box-sizing:border-box!important;flex:0 0 22px!important;width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;min-height:22px!important;max-height:22px!important;padding:0!important;margin:0!important;overflow:hidden!important;border:0!important;border-radius:5px!important;background:transparent!important;color:#927b67!important;vertical-align:middle!important}
.orange-submarine-craft .orange-craft-ref-row .orange-craft-tree-item-tool.is-copy svg{display:block!important;width:14px!important;height:14px!important;min-width:14px!important;max-width:14px!important;min-height:14px!important;max-height:14px!important}
.orange-submarine-craft .orange-craft-ref-row .orange-craft-tree-item-tool.is-db img{display:block!important;width:15px!important;height:15px!important;min-width:15px!important;max-width:15px!important;min-height:15px!important;max-height:15px!important;object-fit:contain!important;margin:0!important;padding:0!important}
.orange-submarine-craft .orange-craft-ref-row.is-stock-complete>.orange-craft-item{opacity:1!important;filter:none!important}
.orange-submarine-craft .orange-craft-ref-row.is-stock-complete .orange-craft-item-icon,.orange-submarine-craft .orange-craft-ref-row.is-stock-complete .orange-craft-item-name,.orange-submarine-craft .orange-craft-ref-row.is-stock-complete .orange-craft-item-name-button{opacity:.52!important;filter:grayscale(1)!important}
.orange-submarine-craft .orange-craft-ref-row.is-stock-complete .orange-craft-tree-item-tools{opacity:.72!important;filter:none!important}


/* ===== v0.9.179: material stock manager + stable item tools ===== */
.orange-craft-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.orange-craft-reset-button{border:1px solid #e2c8ad;border-radius:999px;background:#fff9f2;color:#9a633a;padding:8px 13px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.orange-craft-reset-button:hover{background:#fff1e4;border-color:#dfa96f}
.orange-craft-reset-button.is-saving{opacity:.55;pointer-events:none}

.orange-submarine-craft .orange-craft-item{display:inline-flex;align-items:center;gap:6px;min-width:0}
.orange-submarine-craft .orange-craft-item-tools,
.orange-submarine-craft .orange-craft-tree-item-tools{display:inline-flex!important;align-items:center!important;gap:3px!important;flex:0 0 auto!important;margin-left:3px!important;line-height:1!important;opacity:1!important;filter:none!important}
.orange-submarine-craft .orange-craft-item-tool,
.orange-submarine-craft .orange-craft-tree-item-tool{appearance:none;display:inline-grid!important;place-items:center!important;box-sizing:border-box!important;flex:0 0 22px!important;width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;min-height:22px!important;max-height:22px!important;padding:0!important;margin:0!important;overflow:hidden!important;border:1px solid transparent!important;border-radius:5px!important;background:transparent!important;color:#927b67!important;vertical-align:middle!important;cursor:pointer!important;background-repeat:no-repeat!important;background-position:center!important}
.orange-submarine-craft .orange-craft-item-tool:hover,
.orange-submarine-craft .orange-craft-tree-item-tool:hover{background-color:#f7eee4!important;border-color:#ead8c5!important;color:#d67628!important}
.orange-submarine-craft .orange-craft-item-tool.is-copy svg,
.orange-submarine-craft .orange-craft-tree-item-tool.is-copy svg{display:block!important;width:14px!important;height:14px!important;min-width:14px!important;max-width:14px!important;min-height:14px!important;max-height:14px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.orange-submarine-craft .orange-craft-item-tool.is-db,
.orange-submarine-craft .orange-craft-tree-item-tool.is-db{background-image:var(--orange-craft-meteor)!important;background-size:15px 15px!important}
.orange-submarine-craft .orange-craft-item-tool.is-copied,
.orange-submarine-craft .orange-craft-tree-item-tool.is-copied{background-color:#edf6e9!important;color:#648154!important}
.orange-submarine-craft .is-stock-complete .orange-craft-item-tools,
.orange-submarine-craft .is-stock-complete .orange-craft-tree-item-tools{opacity:.78!important;filter:none!important}

.orange-craft-stock-manager{margin-top:18px;border:1px solid #e2d3c4;border-radius:16px;background:#fffdf9;box-shadow:0 5px 15px rgba(91,65,41,.05);overflow:hidden}
.orange-craft-stock-manager>header{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:16px 18px;border-bottom:1px solid #eadfd4;background:#fff9f2}
.orange-craft-stock-manager>header h3{margin:2px 0 0;color:#55463a;font-size:21px;line-height:1.3}
.orange-craft-stock-manager>header p:last-child{margin:0;color:#806d5d;font-size:14px;line-height:1.6;text-align:right}
.orange-craft-stock-columns{display:grid;grid-template-columns:1fr;gap:14px;padding:14px}
.orange-craft-stock-card{min-width:0;border:1px solid #eadfd4;border-radius:13px;background:#fff;overflow:hidden}
.orange-craft-stock-card-head{display:flex;align-items:baseline;gap:10px;padding:11px 13px;border-bottom:1px solid #eee4d8;background:#fcf8f3}
.orange-craft-stock-card-head span{color:#d77829;font-size:12px;font-weight:800;letter-spacing:.12em}
.orange-craft-stock-card-head h4{margin:0;color:#55463a;font-size:18px}
.orange-craft-stock-table-wrap{width:100%;overflow:auto;max-height:720px}
.orange-craft-stock-table{width:100%;min-width:690px;border-collapse:separate;border-spacing:0}
.orange-craft-stock-table th,.orange-craft-stock-table td{padding:8px 9px;border-right:1px solid #eee6dd;border-bottom:1px solid #eee6dd;vertical-align:middle;text-align:left;font-size:14px}
.orange-craft-stock-table th:last-child,.orange-craft-stock-table td:last-child{border-right:0}.orange-craft-stock-table tbody tr:last-child td{border-bottom:0}
.orange-craft-stock-table thead th{position:sticky;top:0;z-index:2;background:#f7efe6;color:#715d4b;font-weight:800;white-space:nowrap}
.orange-craft-stock-table th:first-child,.orange-craft-stock-table td:first-child{min-width:280px}
.orange-craft-stock-table th:nth-child(2),.orange-craft-stock-table td:nth-child(2){width:96px;text-align:right;white-space:nowrap}.orange-craft-stock-table th:nth-child(3),.orange-craft-stock-table th:nth-child(4),.orange-craft-stock-table td:nth-child(3),.orange-craft-stock-table td:nth-child(4){width:78px;text-align:right;white-space:nowrap}
.orange-craft-stock-table input[data-craft-stock]{width:72px;box-sizing:border-box;padding:7px 8px;border:1px solid #dec9ad;border-radius:9px;background:#fff;color:#55463a;font:inherit;font-size:14px;text-align:right}
.orange-craft-stock-table td:last-child{min-width:160px;color:#806d5d}.orange-craft-stock-table td:last-child small{font-size:13px;line-height:1.45}
.orange-craft-stock-table [data-craft-left].is-missing{color:#c5683d}.orange-craft-stock-table [data-craft-left].is-complete{color:#6f8a61}
.orange-craft-stock-table tr.is-stock-complete td{background:rgba(218,218,218,.48)}
.orange-craft-stock-table tr.is-stock-complete .orange-craft-item-icon,.orange-craft-stock-table tr.is-stock-complete .orange-craft-item-name,.orange-craft-stock-table tr.is-stock-complete .orange-craft-item-name-button,.orange-craft-stock-table tr.is-stock-complete td>strong,.orange-craft-stock-table tr.is-stock-complete td>small{opacity:.52;filter:grayscale(1)}
.orange-craft-stock-table tr.is-stock-complete input[data-craft-stock]{background:#f2f2f2;border-color:#d2d2d2;color:#686868}

.orange-craft-ready-list.is-v12157 .orange-craft-ready-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}
.orange-craft-ready-list.is-v12157 .orange-craft-ready-row.is-middle{grid-template-columns:minmax(0,1fr) auto}
.orange-craft-ready-subhead{padding:9px 11px 5px;color:#8a7767;font-size:12px;font-weight:800;letter-spacing:.04em;border-top:1px solid #eee4d8}
.orange-craft-finished-complete-button{border:0;border-radius:9px;background:#ec862d;color:#fff;padding:8px 11px;font-size:14px;font-weight:800;cursor:pointer;white-space:nowrap;box-shadow:0 2px 5px rgba(208,111,34,.16)}
.orange-craft-finished-complete-button:hover{filter:brightness(1.04)}.orange-craft-finished-complete-button.is-saving{opacity:.55;pointer-events:none}

@media(max-width:1100px){.orange-craft-stock-columns{grid-template-columns:1fr}.orange-craft-stock-table-wrap{max-height:none}}
@media(max-width:700px){.orange-craft-heading-actions{justify-content:flex-start}.orange-craft-stock-manager>header{align-items:flex-start;flex-direction:column}.orange-craft-stock-manager>header p:last-child{text-align:left}.orange-craft-stock-columns{padding:10px}.orange-craft-stock-table th:first-child,.orange-craft-stock-table td:first-child{min-width:240px}}

/* ===== v0.9.180: vertical submarine handoff flow ===== */
.orange-submarine-operation-plan-v3{display:grid;gap:18px}
.orange-submarine-handoff-section{overflow:hidden}
.orange-submarine-handoff-flow{display:grid;gap:0;max-width:1080px;margin:0 auto}
.orange-submarine-flow-stage{position:relative;padding:16px 18px;border:1px solid #e6d8c8;border-radius:18px;background:#fff;box-shadow:3px 4px 0 rgba(88,66,44,.025)}
.orange-submarine-flow-stage>header{display:flex;align-items:center;gap:12px;margin-bottom:11px;padding-bottom:10px;border-bottom:1px solid #eee3d7}
.orange-submarine-flow-stage>header>span{display:grid;place-items:center;min-width:72px;padding:5px 8px;border-radius:999px;background:#fff2e6;color:#cf6e27;font-size:12px;font-weight:900;letter-spacing:.08em}
.orange-submarine-flow-stage>header h3{margin:0;color:#514237;font-size:18px;line-height:1.35}.orange-submarine-flow-stage>header small{display:block;margin-top:2px;color:#9a816a;font-size:13px}
.orange-submarine-flow-stage-ships{display:grid;gap:7px}
.orange-submarine-flow-ship-row{display:grid;grid-template-columns:72px minmax(235px,310px) minmax(170px,1fr) auto;gap:12px;align-items:center;min-height:52px;padding:7px 10px;border-radius:13px;background:#fcfaf7}
.orange-submarine-flow-ship-row:nth-child(even){background:#faf7f2}
.orange-submarine-flow-ship-no{font-size:15px;font-weight:900;color:#765c45}
.orange-submarine-flow-ship-row>.orange-submarine-map-config{width:auto;min-width:0;display:grid;grid-template-columns:repeat(4,minmax(42px,1fr));gap:5px}
.orange-submarine-flow-ship-row>.orange-submarine-map-config .orange-submarine-map-part{min-width:0;padding:4px 3px;border-radius:10px;background:#fff}
.orange-submarine-flow-ship-row>.orange-submarine-map-config .orange-submarine-plan-part-icon{width:34px;height:34px;flex:0 0 34px}
.orange-submarine-flow-ship-row>.orange-submarine-map-config small{font-size:12px;white-space:nowrap}
.orange-submarine-flow-ship-row>strong{color:#5f5145;font-size:15px;letter-spacing:.01em}
.orange-submarine-flow-ship-row>em{justify-self:end;padding:5px 9px;border-radius:999px;background:#f2edf7;color:#755e8d;font-size:12px;font-style:normal;font-weight:900;white-space:nowrap}
.orange-submarine-flow-transfers{display:grid;gap:6px;padding:10px 18px 10px 90px}
.orange-submarine-flow-transfer{--handoff:#6b9ed2;display:grid;grid-template-columns:68px minmax(28px,1fr) auto minmax(28px,1fr) 82px;gap:8px;align-items:center;color:#6f5e50}
.orange-submarine-flow-transfer>span{display:grid;place-items:center;padding:5px 7px;border:1px solid color-mix(in srgb,var(--handoff) 38%,#ddd);border-radius:999px;background:#fff;font-size:12px;font-weight:900;white-space:nowrap}
.orange-submarine-flow-transfer>strong{padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--handoff) 12%,#fff);color:color-mix(in srgb,var(--handoff) 75%,#56483c);font-size:13px;white-space:nowrap;text-align:center}
.orange-submarine-flow-transfer>i{position:relative;height:2px;background:var(--handoff)}
.orange-submarine-flow-transfer>i::after{content:"";position:absolute;right:-1px;top:50%;width:7px;height:7px;border-top:2px solid var(--handoff);border-right:2px solid var(--handoff);transform:translateY(-50%) rotate(45deg)}
.orange-submarine-flow-transfer.is-shark{--handoff:#5d9fd4}.orange-submarine-flow-transfer.is-normal{--handoff:#76a56d}.orange-submarine-flow-transfer.is-mod-a{--handoff:#e08a43}.orange-submarine-flow-transfer.is-mod-b{--handoff:#9b76b5}
.orange-submarine-flow-next{display:grid;place-items:center;height:28px}.orange-submarine-flow-next i{position:relative;width:2px;height:20px;background:#d2b79d}.orange-submarine-flow-next i::after{content:"";position:absolute;left:50%;bottom:-1px;width:7px;height:7px;border-right:2px solid #c69b74;border-bottom:2px solid #c69b74;transform:translateX(-50%) rotate(45deg)}
.orange-submarine-parts-total-section{display:grid;gap:16px}
.orange-submarine-parts-total-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.orange-submarine-parts-total-heading .panel-label{margin:0 0 4px}.orange-submarine-parts-total-heading h2{margin:0;color:#59483a}.orange-submarine-parts-total-heading p:last-child{margin:5px 0 0;color:#8b7764;font-size:14px}
.orange-submarine-parts-total-number{display:grid;grid-template-columns:auto auto;align-items:baseline;justify-items:end;column-gap:5px;min-width:150px}.orange-submarine-parts-total-number strong{color:#df7828;font-size:42px;line-height:1}.orange-submarine-parts-total-number>span{color:#795e47;font-size:18px;font-weight:900}.orange-submarine-parts-total-number small{grid-column:1/-1;margin-top:4px;color:#947b65;font-size:13px}
.orange-submarine-parts-total-groups{display:grid;grid-template-columns:2fr 1fr;gap:12px}.orange-submarine-parts-total-groups>section{padding:14px;border:1px solid #e3d6c7;border-radius:16px;background:#fff}.orange-submarine-parts-total-groups>section.is-mod{background:#fbfaff;border-color:#dcd6e7}.orange-submarine-parts-total-groups header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.orange-submarine-parts-total-groups header span{color:#d67a31;font-size:11px;font-weight:900;letter-spacing:.12em}.orange-submarine-parts-total-groups .is-mod header span{color:#856b9c}.orange-submarine-parts-total-groups h3{margin:0;color:#5c4d40;font-size:16px}.orange-submarine-parts-total-groups h3 b{color:#d16f28}
.orange-submarine-parts-total-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.orange-submarine-parts-total-groups>section:first-child .orange-submarine-parts-total-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.orange-submarine-parts-total-grid .orange-submarine-plan-part{min-width:0}
@media(max-width:900px){.orange-submarine-flow-ship-row{grid-template-columns:64px minmax(210px,280px) 1fr}.orange-submarine-flow-ship-row>em{grid-column:2/-1;justify-self:start}.orange-submarine-flow-transfer{grid-template-columns:62px minmax(20px,1fr) auto minmax(20px,1fr) 72px}.orange-submarine-parts-total-groups{grid-template-columns:1fr}.orange-submarine-parts-total-groups>section:first-child .orange-submarine-parts-total-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.orange-submarine-flow-stage{padding:13px 11px}.orange-submarine-flow-stage>header{align-items:flex-start}.orange-submarine-flow-ship-row{grid-template-columns:58px 1fr;gap:7px}.orange-submarine-flow-ship-row>.orange-submarine-map-config{grid-column:2}.orange-submarine-flow-ship-row>strong{grid-column:2;font-size:13px}.orange-submarine-flow-ship-row>em{grid-column:2}.orange-submarine-flow-transfers{padding:8px 5px 8px 5px}.orange-submarine-flow-transfer{grid-template-columns:58px 1fr 68px;gap:6px}.orange-submarine-flow-transfer>i:first-of-type{display:none}.orange-submarine-flow-transfer>strong{white-space:normal;font-size:12px}.orange-submarine-flow-transfer>i:last-of-type{grid-column:2}.orange-submarine-flow-transfer>span:last-child{grid-column:3;grid-row:1}.orange-submarine-parts-total-heading{align-items:flex-start;flex-direction:column}.orange-submarine-parts-total-number{justify-items:start}.orange-submarine-parts-total-grid,.orange-submarine-parts-total-groups>section:first-child .orange-submarine-parts-total-grid{grid-template-columns:1fr 1fr}}


/* ===== v0.9.181: destination-first submarine handoff visualization ===== */
.orange-submarine-operation-plan-v3 .orange-submarine-handoff-flow{gap:14px}
.orange-submarine-operation-plan-v3 .orange-submarine-flow-transfers,
.orange-submarine-operation-plan-v3 .orange-submarine-flow-next{display:none!important}
.orange-submarine-operation-plan-v3 .orange-submarine-flow-stage-ships{gap:8px}
.orange-submarine-operation-plan-v3 .orange-submarine-flow-ship-row{
  grid-template-columns:72px minmax(235px,310px) minmax(150px,.72fr) minmax(245px,1.28fr) auto;
  gap:10px;
  overflow:visible;
}
.orange-submarine-operation-plan-v3 .orange-submarine-flow-ship-row>.orange-submarine-map-config .orange-submarine-map-part{
  position:relative;
  border:1px solid transparent;
  transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.orange-submarine-operation-plan-v3 .orange-submarine-flow-ship-row>.orange-submarine-map-config .orange-submarine-map-part.is-received{
  box-shadow:0 0 0 1px rgba(76,91,103,.05),inset 0 0 0 1px rgba(255,255,255,.75);
}
.orange-submarine-operation-plan-v3 .orange-submarine-map-part.is-received-shark{background:#eaf5ff!important;border-color:#b8d8f2!important}
.orange-submarine-operation-plan-v3 .orange-submarine-map-part.is-received-normal{background:#eef8ed!important;border-color:#c3ddbf!important}
.orange-submarine-operation-plan-v3 .orange-submarine-map-part.is-received-mod-a{background:#fff2e6!important;border-color:#efc39d!important}
.orange-submarine-operation-plan-v3 .orange-submarine-map-part.is-received-mod-b{background:#f5eef9!important;border-color:#d7c1e3!important}
.orange-submarine-received-spacer{display:block;min-height:1px}
.orange-submarine-received-handoff{
  --handoff:#5d9fd4;
  display:grid;
  grid-template-columns:minmax(42px,1fr) auto auto;
  gap:9px;
  align-items:center;
  min-width:0;
  padding:2px 0 2px 4px;
}
.orange-submarine-received-handoff.is-shark{--handoff:#5d9fd4}
.orange-submarine-received-handoff.is-normal{--handoff:#76a56d}
.orange-submarine-received-handoff.is-mod-a{--handoff:#e08a43}
.orange-submarine-received-handoff.is-mod-b{--handoff:#9b76b5}
.orange-submarine-received-arrow{position:relative;display:block;height:2px;min-width:42px;background:var(--handoff);border-radius:999px}
.orange-submarine-received-arrow::before{content:"";position:absolute;left:-1px;top:50%;width:9px;height:9px;border-left:2px solid var(--handoff);border-bottom:2px solid var(--handoff);transform:translateY(-50%) rotate(45deg)}
.orange-submarine-received-parts{display:flex;align-items:center;gap:5px;min-width:0}
.orange-submarine-received-parts .orange-submarine-map-part{
  min-width:52px;
  padding:4px 5px;
  border:1px solid color-mix(in srgb,var(--handoff) 34%,#e7ddd3);
  border-radius:10px;
  background:color-mix(in srgb,var(--handoff) 8%,#fff);
}
.orange-submarine-received-parts .orange-submarine-plan-part-icon{width:31px!important;height:31px!important;min-width:31px!important}
.orange-submarine-received-parts .orange-submarine-map-part small{font-size:11px!important;font-weight:900;color:#64564a}
.orange-submarine-received-handoff>span{
  padding:5px 8px;
  border:1px solid color-mix(in srgb,var(--handoff) 35%,#ded4ca);
  border-radius:999px;
  background:#fff;
  color:color-mix(in srgb,var(--handoff) 76%,#5a4b3e);
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
@media(max-width:1000px){
  .orange-submarine-operation-plan-v3 .orange-submarine-flow-ship-row{grid-template-columns:64px minmax(210px,275px) minmax(130px,.65fr) minmax(210px,1fr)}
  .orange-submarine-operation-plan-v3 .orange-submarine-flow-ship-row>em{grid-column:2/-1;justify-self:start}
  .orange-submarine-received-handoff{grid-template-columns:minmax(32px,1fr) auto auto}
  .orange-submarine-received-parts .orange-submarine-map-part{min-width:48px}
}
@media(max-width:760px){
  .orange-submarine-operation-plan-v3 .orange-submarine-flow-ship-row{grid-template-columns:58px 1fr;gap:7px}
  .orange-submarine-operation-plan-v3 .orange-submarine-flow-ship-row>.orange-submarine-map-config{grid-column:2}
  .orange-submarine-operation-plan-v3 .orange-submarine-flow-ship-row>strong{grid-column:2}
  .orange-submarine-operation-plan-v3 .orange-submarine-flow-ship-row>.orange-submarine-received-handoff{grid-column:2;grid-template-columns:34px auto 1fr;justify-content:start}
  .orange-submarine-operation-plan-v3 .orange-submarine-flow-ship-row>.orange-submarine-received-spacer{display:none}
  .orange-submarine-operation-plan-v3 .orange-submarine-flow-ship-row>em{grid-column:2}
  .orange-submarine-received-handoff>span{justify-self:start}
}

/* ===== v0.9.184: あ！まなつの運動会 活動記録 ===== */
.sports-day-report{
  --sports-red:#c95f55;
  --sports-red-soft:#f8e1dc;
  --sports-blue:#668ca8;
  --sports-blue-soft:#deebf0;
  --sports-cream:#fffaf0;
  --sports-paper:#fffdf8;
  --sports-ink:#594735;
  --sports-muted:#806f5e;
  --sports-line:#e6d4bb;
  display:grid;gap:24px;color:var(--sports-ink);font-size:16px;line-height:1.85;
}
.sports-day-report *{box-sizing:border-box}
.sports-report-overview{padding:28px;border:1px solid var(--sports-line);border-radius:28px 9px 28px 9px;background:linear-gradient(145deg,#fffdf8,#fbf0dd);box-shadow:7px 8px 0 rgba(98,69,43,.05)}
.sports-report-overview-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}
.sports-report-overview-head .panel-label{margin:0 0 3px;color:#d8792f;font-size:11px;font-weight:900;letter-spacing:.17em}
.sports-report-overview-head h2{margin:0;font-size:clamp(25px,4vw,34px);line-height:1.25}
.sports-report-overview-head h2 span{display:inline-block;margin:0 .22em;color:#aa8c72;font-size:.55em;vertical-align:.18em}
.sports-report-date{padding:7px 11px;border:1px solid #e4cfb3;border-radius:999px;background:#fff;color:#9a7755;font-size:12px;font-weight:800;letter-spacing:.06em}
.sports-report-teams{display:grid;grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);gap:12px;align-items:stretch}
.sports-team-card{position:relative;overflow:hidden;padding:18px;border:1px solid var(--sports-line);border-radius:20px;background:#fff}
.sports-team-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:currentColor}
.sports-team-card.is-red{color:var(--sports-red);background:linear-gradient(135deg,#fff,#fff7f4)}
.sports-team-card.is-blue{color:var(--sports-blue);background:linear-gradient(135deg,#fff,#f5fbfd)}
.sports-team-card header{display:grid;grid-template-columns:1fr auto;grid-template-areas:"eyebrow count" "title count";align-items:center;margin-bottom:13px;padding-left:5px}
.sports-team-card header span{grid-area:eyebrow;font-size:10px;font-weight:900;letter-spacing:.14em;opacity:.8}
.sports-team-card header strong{grid-area:title;color:var(--sports-ink);font-size:22px;line-height:1.35}
.sports-team-card header em{grid-area:count;align-self:center;padding:5px 9px;border-radius:999px;font-size:12px;font-style:normal;font-weight:900;border:1px solid transparent}
.sports-team-card.is-red header em{background:#f7dfdb!important;color:#9f4f47!important;border-color:#e9bbb5!important}
.sports-team-card.is-blue header em{background:#deedf2!important;color:#50778b!important;border-color:#bfd7e1!important}
.sports-team-members{display:flex;flex-wrap:wrap;gap:7px;padding-left:5px}
.sports-team-vs{display:grid;place-items:center}
.sports-team-vs span{display:grid;place-items:center;width:50px;height:50px;border:1px solid #d9c5a8;border-radius:50%;background:#6b523f;color:#fff;font-size:13px;font-weight:900;box-shadow:0 5px 0 rgba(76,53,34,.11)}
.sports-day-report .orange-person-chip{gap:7px;padding:5px 9px 5px 5px;background:#fff;color:#55483c}
.sports-day-report .orange-person-chip strong{font-size:13px;white-space:nowrap}
.sports-day-report .orange-person-chip.is-sports-report.is-team{border-color:currentColor}
.sports-day-report .orange-person-chip.is-inline{vertical-align:middle;margin:0 3px;padding-right:9px}
.sports-day-report .orange-person-chip.is-rank{border:0;background:transparent;padding:0;gap:8px}
.sports-day-report .orange-person-chip.is-rank .orange-person-avatar{width:28px;height:28px;flex-basis:28px}
.sports-report-quick-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px}
.sports-report-quick-results>a,.sports-report-quick-results>span{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:0 8px;min-width:0;padding:11px 12px;border:1px solid #ead9c0;border-radius:14px;background:rgba(255,255,255,.88);color:#5c4937;text-decoration:none}
.sports-report-quick-results>a:hover{border-color:#e4b77f;background:#fff8eb}
.sports-report-quick-results span,.sports-report-quick-results b{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;margin:auto 0;border-radius:50%;background:#f4e6d2;color:#be7338;font-size:11px;font-weight:900}
.sports-report-quick-results strong{font-size:13px;line-height:1.35}
.sports-report-quick-results small{color:#8d7865;font-size:12px;line-height:1.4}
.sports-report-nav{position:sticky;top:12px;z-index:12;display:flex;gap:7px;overflow-x:auto;padding:8px;border:1px solid #e4d0b4;border-radius:999px;background:rgba(255,250,240,.94);backdrop-filter:blur(10px);box-shadow:0 7px 20px rgba(75,52,34,.08)}
.sports-report-nav button{flex:1 0 auto;padding:9px 13px;border:0;border-radius:999px;background:transparent;color:#786553;font:800 12px/1 inherit;cursor:pointer}
.sports-report-nav button.is-active{background:#69503d;color:#fff}
.sports-report-section{scroll-margin-top:82px;padding:28px;border:1px solid var(--sports-line);border-radius:9px 28px 28px 9px;background:#fffdf9;box-shadow:7px 9px 0 rgba(105,75,47,.05);transition:border-color .2s,box-shadow .2s}
.sports-report-section.is-current{border-color:#ddbd95;box-shadow:7px 9px 0 rgba(105,75,47,.07),0 0 0 3px rgba(233,134,50,.04)}
.sports-report-section-head{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:13px;margin-bottom:22px}
.sports-report-number{display:grid;place-items:center;width:52px;height:52px;border:1px solid currentColor;border-radius:50%;color:#d97d35;font-size:13px;font-weight:900}
.sports-report-section-head p{margin:0;color:#d97d35;font-size:10px;font-weight:900;letter-spacing:.16em}
.sports-report-section-head h2{margin:1px 0 0;font-size:clamp(23px,4vw,32px);line-height:1.35}
.sports-report-section-head em{padding:6px 10px;border-radius:999px;background:#f7e9d6;color:#9d6d45;font-size:11px;font-style:normal;font-weight:900;white-space:nowrap}
.sports-report-section.is-run .sports-report-number{color:var(--sports-red)}
.sports-report-section.is-chicken .sports-report-number{color:#c89535}
.sports-report-section.is-borrow .sports-report-number{color:var(--sports-blue)}
.sports-report-section.is-climb .sports-report-number{color:#789060}
.sports-report-intro{margin:0 0 18px;font-weight:700;color:#655343}
.sports-report-copy{display:grid;gap:10px;margin:18px 0}
.sports-report-copy p{margin:0}
.sports-member-sentence{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.sports-report-ranking{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}
.sports-report-rank{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:9px 11px;border:1px solid #ead9c2;border-radius:13px;background:#fff}
.sports-report-rank.is-red{box-shadow:inset 4px 0 0 var(--sports-red);background:#fff9f7}
.sports-report-rank.is-blue{box-shadow:inset 4px 0 0 var(--sports-blue);background:#f8fcfd}
.sports-report-rank-no{font-size:12px;font-weight:900;color:#8f7762}
.sports-report-rank-note{padding:4px 7px;border-radius:999px;background:#f2e9dc;color:#8f7762;font-size:12px;font-weight:800;white-space:nowrap}
.sports-rank-pair{display:flex;gap:6px;flex-wrap:wrap}
.sports-report-rank.is-tie{align-items:start}
.sports-report-photo-wrap{margin:20px 0 0}
.sports-report-photo{display:block;width:100%;padding:0;border:1px solid #e0ccb0;border-radius:20px 7px 20px 7px;overflow:hidden;background:#f0e5d5;cursor:zoom-in;box-shadow:0 7px 18px rgba(78,55,35,.08)}
.sports-report-photo img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;background:#1b1b1b}
.sports-report-photo-wrap figcaption{margin-top:7px;color:#8b7866;font-size:12px;text-align:right}
.sports-report-photo-label{margin:18px 0 7px;font-weight:800;color:#6d5947}
.sports-round-list{display:grid;gap:12px;margin-top:18px}
.sports-round-card{padding:17px;border:1px solid #e6d5bd;border-radius:18px;background:#fff}
.sports-round-card>header{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:13px;padding-bottom:11px;border-bottom:1px solid #eee1cf}
.sports-round-card>header span{color:#a98261;font-size:12px;font-weight:900}
.sports-round-card>header strong{font-size:17px}
.sports-round-first{justify-self:start;padding:4px 8px;border:1px solid #cfe1e8;border-radius:999px;background:#eef6f9;color:#50778b;font-size:11px;font-weight:900;line-height:1.35;white-space:normal}
.sports-round-card>header em{padding:5px 9px;border-radius:999px;background:#f0e8dc;color:#7d6957;font-size:12px;font-style:normal;font-weight:900}
.sports-round-card>header em.is-red{background:var(--sports-red-soft);color:#a34f47}
.sports-round-versus{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);gap:10px;align-items:stretch}
.sports-round-versus>b{display:grid;place-items:center;color:#aa8d73;font-size:11px}
.sports-round-side{padding:13px;border-radius:14px;background:#fbf6ee}
.sports-round-side.is-red{background:#fff5f2}
.sports-round-side.is-blue{background:#f2f8fa}
.sports-round-side-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:9px}
.sports-round-side-head strong{font-size:13px}
.sports-round-side.is-red .sports-round-side-head strong{color:#a74f47}
.sports-round-side.is-blue .sports-round-side-head strong{color:#50758a}
.sports-round-metric{padding:4px 7px;border-radius:999px;background:#fff;color:#806b59;font-size:12px;font-weight:900;white-space:nowrap}
.sports-round-people{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:9px}
.sports-round-side p{margin:0;color:#675546;font-size:13px;line-height:1.75}
.sports-round-lead{margin:0 0 12px;padding:9px 12px;border-left:4px solid #d5a24c;border-radius:0 10px 10px 0;background:#fff7e8;color:#715a43}
.sports-chicken-result{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}
.sports-chicken-result>div{padding:13px;border-radius:14px;background:#f4ede3;text-align:center}
.sports-chicken-result>div.is-red{background:var(--sports-red-soft)}
.sports-chicken-result>div.is-blue{background:var(--sports-blue-soft)}
.sports-chicken-result span{display:block;font-size:12px;font-weight:800;color:#826c58}
.sports-chicken-result strong{display:block;margin-top:2px;font-size:31px;line-height:1.1}
.sports-borrow-round{margin-top:14px;padding:18px;border:1px solid #e5d4bd;border-radius:18px;background:#fff}
.sports-borrow-round+.sports-borrow-round{margin-top:16px}
.sports-borrow-round-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.sports-borrow-round-head span{font-weight:900;color:#8f735d}
.sports-borrow-round-head strong{padding:5px 9px;border-radius:999px;background:#f3eadf;font-size:12px}
.sports-borrow-items{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sports-borrow-items>div{padding:11px 13px;border-radius:13px;background:#faf5ee}
.sports-borrow-items>div.is-red{background:#fff4f1}.sports-borrow-items>div.is-blue{background:#f0f7f9}
.sports-borrow-items span{display:block;margin-bottom:3px;font-size:11px;font-weight:900}.sports-borrow-items .is-red span{color:#a45148}.sports-borrow-items .is-blue span{color:#54778b}
.sports-borrow-items strong{font-size:13px}
.sports-scoreboard{display:grid;grid-template-columns:1fr 30px 1fr;gap:8px;align-items:center;margin:14px 0;padding:13px;border-radius:16px;background:#6b523f;color:#fff;text-align:center}
.sports-scoreboard>div{position:relative;padding:10px;border-radius:12px;background:rgba(255,255,255,.08)}
.sports-scoreboard>div.is-winner::after{content:"WIN";position:absolute;top:7px;right:8px;padding:2px 5px;border-radius:999px;background:#fff;color:#6b523f;font-size:9px;font-weight:900}
.sports-scoreboard span{display:block;font-size:11px;font-weight:900;opacity:.82}.sports-scoreboard strong{display:block;font-size:clamp(34px,7vw,54px);line-height:1}
.sports-scoreboard>b{color:#f2c68a}
.sports-borrow-deadline{padding:10px 12px;border-left:4px solid #db8b45;border-radius:0 10px 10px 0;background:#fff4e6}
.sports-borrow-deadline-row{display:grid;grid-template-columns:minmax(0,1fr) 165px;gap:14px;align-items:start;margin-top:10px}
.sports-borrow-deadline-row .sports-borrow-deadline{margin:0;min-height:100%}
.sports-borrow-deadline-row .sports-report-photo-wrap{width:165px;margin:0;justify-self:end}
.sports-borrow-deadline-row .sports-report-photo{border-radius:14px;background:#fff8ef;box-shadow:0 5px 12px rgba(78,55,35,.06)}
.sports-borrow-deadline-row .sports-report-photo img{width:100%;max-height:none;object-fit:contain;background:transparent}

.sports-climb-winner{display:grid;grid-template-columns:auto auto 1fr;gap:9px;align-items:center;margin:14px 0;padding:15px;border:1px solid #ead8ba;border-radius:17px;background:#fff4ce}
.sports-climb-winner>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#d6a542;color:#fff;font-size:12px;font-weight:900}
.sports-climb-winner p{margin:0;color:#6b5847}
.sports-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:end;margin:19px 0}
.sports-podium>div{display:grid;place-items:center;gap:7px;padding:13px 8px;border:1px solid #e6d4bc;border-radius:15px 15px 6px 6px;background:#f5ede2;text-align:center}
.sports-podium>div.is-first{min-height:142px;background:#fff2c9;border-color:#e9cf83}.sports-podium>div.is-second{min-height:116px}.sports-podium>div.is-third{min-height:100px}
.sports-podium>div>span{font-size:12px;font-weight:900;color:#846e5b}
.sports-report-thanks{padding:27px;border-radius:26px 8px 26px 8px;background:linear-gradient(135deg,#69513e,#866548);color:#fff8eb;text-align:center;box-shadow:7px 9px 0 rgba(83,56,35,.08)}
.sports-report-thanks .panel-label{margin:0 0 4px;color:#efc180}.sports-report-thanks h2{margin:0 0 13px;color:#fff;font-size:26px}
.sports-report-thanks p{margin:8px 0;color:#f1e2d3}.sports-report-thanks .sports-member-sentence{justify-content:center}
.sports-report-thanks .orange-person-chip{background:#fffaf0;border-color:#e7cda8;color:#5b493a}
.sports-report-lightbox[hidden]{display:none!important}.sports-report-lightbox{position:fixed;z-index:999999;inset:0;display:grid;place-items:center;padding:24px;background:rgba(31,24,19,.9);backdrop-filter:blur(4px)}
.sports-report-lightbox img{max-width:min(96vw,1500px);max-height:90vh;object-fit:contain;border-radius:14px;box-shadow:0 22px 70px rgba(0,0,0,.45)}
.sports-report-lightbox button{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#fffaf0;color:#5c4938;font-size:25px;cursor:pointer}
html.sports-report-lightbox-open{overflow:hidden}

/* Block editor preview. Public output still uses the real Orange member chips. */
.editor-styles-wrapper .sports-day-report-editor{width:min(100%,980px);margin:0 auto;padding:8px}
.sports-day-report-editor .sports-editor-person{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid #dfcfbb;border-radius:999px;background:#fff;font-size:12px;font-weight:800;color:#5a493a}
.sports-day-report-editor .sports-editor-person.is-red{border-color:#e5b9b3;background:#fff7f5}.sports-day-report-editor .sports-editor-person.is-blue{border-color:#bcd2dd;background:#f5fbfd}
.sports-day-report-editor .sports-editor-photo{display:grid;gap:8px;margin-top:16px}.sports-day-report-editor .sports-editor-photo img{display:block;width:100%;max-height:500px;object-fit:contain;border:1px solid #decbb0;border-radius:16px;background:#2a2928}.sports-day-report-editor .sports-editor-photo button{justify-self:start}
.sports-day-report-editor .sports-editor-ranking{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:14px 0}.sports-day-report-editor .sports-editor-ranking span{padding:8px 10px;border-radius:10px;background:#f6eee3;font-size:12px;font-weight:800}.sports-day-report-editor .sports-editor-ranking .is-red{box-shadow:inset 4px 0 0 var(--sports-red)}.sports-day-report-editor .sports-editor-ranking .is-blue{box-shadow:inset 4px 0 0 var(--sports-blue)}
.sports-day-report-editor .sports-editor-inline{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sports-day-report-editor .sports-editor-inline p{margin:0;flex:1 1 260px}
.sports-day-report-editor .sports-editor-borrow{display:grid;gap:6px;margin:12px 0;padding:14px;border:1px solid #e5d4bd;border-radius:14px;background:#fff}.sports-day-report-editor .sports-editor-borrow strong{font-size:15px}.sports-day-report-editor .sports-editor-borrow small{font-size:12px;color:#806e5c}
.sports-day-report-editor .sports-editor-borrow-deadline-row{display:grid;grid-template-columns:minmax(0,1fr) 165px;gap:14px;align-items:start}.sports-day-report-editor .sports-editor-borrow-deadline-row .sports-editor-photo{margin:0}.sports-day-report-editor .sports-editor-borrow-deadline-row .sports-editor-photo img{max-height:none;background:transparent}

@media(max-width:760px){
  .sports-report-overview,.sports-report-section{padding:20px 15px}
  .sports-report-overview-head{align-items:flex-start;flex-direction:column;gap:8px}
  .sports-report-teams{grid-template-columns:1fr;gap:8px}.sports-team-vs{height:34px}.sports-team-vs span{width:38px;height:38px;font-size:11px}
  .sports-report-quick-results{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sports-report-section-head{grid-template-columns:44px 1fr}.sports-report-number{width:44px;height:44px}.sports-report-section-head em{grid-column:2;justify-self:start}
  .sports-report-ranking{grid-template-columns:1fr}.sports-round-versus{grid-template-columns:1fr}.sports-round-versus>b{height:26px}.sports-borrow-items{grid-template-columns:1fr}.sports-podium{gap:5px}
  .sports-round-card>header{grid-template-columns:auto 1fr auto}.sports-round-first{grid-column:2;grid-row:2;justify-self:start}.sports-round-card>header em{grid-column:3;grid-row:1/3}
  .sports-borrow-deadline-row,.sports-day-report-editor .sports-editor-borrow-deadline-row{grid-template-columns:1fr}.sports-borrow-deadline-row .sports-report-photo-wrap{width:min(180px,48vw);justify-self:end}
  .sports-day-report .orange-person-chip strong{font-size:12px;white-space:normal}
  .sports-day-report .orange-person-avatar{width:28px;height:28px;flex-basis:28px}
}
@media(max-width:480px){
  .sports-report-quick-results{grid-template-columns:1fr 1fr}.sports-report-quick-results>a{padding:9px}
  .sports-report-nav button{padding:8px 10px;font-size:12px}.sports-scoreboard{grid-template-columns:1fr 22px 1fr;padding:10px}
  .sports-climb-winner{grid-template-columns:auto 1fr}.sports-climb-winner p{grid-column:1/-1}
  .sports-podium .orange-person-chip{padding:4px}.sports-podium .orange-person-avatar{width:24px;height:24px;flex-basis:24px}.sports-podium .orange-person-chip strong{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.sports-report-section{transition:none}.sports-report-nav button{scroll-behavior:auto}}


/* ===== v0.9.187: FC-member-only event movie embeds ===== */
.sports-report-video-wrap{width:min(100%,660px);margin:18px auto 0}
.sports-report-video-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 7px;color:#765e4b}
.sports-report-video-head span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#d17c35}
.sports-report-video-head strong{font-size:12px;text-align:right}
.sports-report-video{position:relative;overflow:hidden;width:100%;aspect-ratio:16/9;border:1px solid #dfcfbb;border-radius:16px;background:#211f1d;box-shadow:0 8px 18px rgba(75,52,33,.08)}
.sports-report-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sports-report-video-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.sports-report-video-pair .sports-report-video-wrap{width:100%;margin:0}
.sports-report-video-gate{display:grid;justify-items:center;gap:6px;padding:18px;border:1px dashed #d7c3aa;border-radius:16px;background:#fbf5ec;text-align:center;color:#6f5b4a}
.sports-report-video-gate>span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#d17c35}
.sports-report-video-gate>strong{font-size:14px;color:#5c4939}
.sports-report-video-gate>p{margin:0;font-size:12px;color:#83705e}
.sports-report-video-gate .discord-login-button{margin-top:5px;padding:8px 13px;font-size:12px}
.sports-round-card>.sports-report-video-wrap{margin-top:14px}
.sports-borrow-round>.sports-report-video-wrap{margin-top:14px}
.sports-borrow-deadline{margin-top:10px}
@media(max-width:760px){.sports-report-video-pair{grid-template-columns:1fr}.sports-report-video-wrap{width:100%}}


/* ===== v0.9.190: blog cards ===== */
.orange-blog-card{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:18px;align-items:stretch;margin:22px 0;padding:0;overflow:hidden;border:1px solid #e6d8c8;border-radius:18px;background:#fffdf8;color:#51463d!important;text-decoration:none!important;box-shadow:0 6px 18px rgba(73,56,39,.07);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.orange-blog-card:hover{transform:translateY(-1px);border-color:#d9c3aa;box-shadow:0 10px 24px rgba(73,56,39,.11)}
.orange-blog-card-body{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:18px 0 18px 20px}
.orange-blog-card-kicker{display:flex;align-items:center;gap:7px;margin:0 0 7px;color:#b16f35;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.orange-blog-card-title{display:-webkit-box;overflow:hidden;margin:0 0 7px;color:#463b32;font-size:16px;font-weight:800;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.orange-blog-card-desc{display:-webkit-box;overflow:hidden;margin:0;color:#75685d;font-size:13px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.orange-blog-card-domain{display:block;overflow:hidden;margin-top:11px;color:#9b8b7d;font-size:12px;white-space:nowrap;text-overflow:ellipsis}
.orange-blog-card-thumb{min-height:126px;background:#f2ece5}
.orange-blog-card-thumb img{display:block;width:100%;height:100%;min-height:126px;object-fit:cover}
.orange-blog-card.is-no-image{grid-template-columns:1fr}
.orange-blog-card.is-no-image .orange-blog-card-body{padding-right:20px}
@media(max-width:700px){.orange-blog-card{grid-template-columns:minmax(0,1fr) 112px;gap:12px}.orange-blog-card-body{padding:15px 0 15px 16px}.orange-blog-card-title{font-size:15px}.orange-blog-card-desc{font-size:12px;-webkit-line-clamp:2}.orange-blog-card-thumb,.orange-blog-card-thumb img{min-height:112px}}


/* ===== v0.9.194: profile v2 ===== */
.member-profile-v2 .member-form-section.is-private{display:grid;gap:18px}
.member-profile-v2-card,.member-main-job-picker{padding:18px;border:1px solid #eadcc8;border-radius:18px;background:#fffdf8;box-shadow:0 4px 0 rgba(103,77,52,.025)}
.member-profile-v2-card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}.member-profile-v2-card-head p{margin:0 0 3px}.member-profile-v2-card-head h4{margin:0;color:#554536;font-size:17px}.member-profile-v2-card-head>span{color:#a18b73;font-size:11px;font-weight:700}
.member-lodestone-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.member-lodestone-row input{min-width:0}.member-lodestone-row button{padding:10px 15px;border:0;border-radius:10px;background:#e78838;color:#fff;font:700 12px/1.2 "Zen Maru Gothic",sans-serif;cursor:pointer;white-space:nowrap}.member-lodestone-row button:disabled{opacity:.55;cursor:wait}.member-lodestone-status{margin:8px 0 0!important;color:#98836e;font-size:11px!important}.member-lodestone-status.is-success{color:#57845f}.member-lodestone-status.is-error{color:#b25048}
.member-main-job-picker .member-repeat-heading{margin-bottom:12px}.member-main-job-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.member-main-job-choice{min-width:0;cursor:pointer}.member-main-job-choice input{position:absolute;opacity:0;pointer-events:none}.member-main-job-choice>span{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:8px;min-height:52px;padding:8px 9px;border:1px solid #eadfce;border-radius:12px;background:#fff;transition:.13s ease}.member-main-job-choice img{grid-row:1/3;width:32px;height:32px;object-fit:contain}.member-main-job-choice b{overflow:hidden;color:#645343;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.member-main-job-choice em{color:#aa8a68;font-size:10px;font-style:normal}.member-main-job-choice:hover>span,.member-main-job-choice.is-selected>span{border-color:#e68b40;background:#fff6e9;box-shadow:inset 0 0 0 1px #e68b40}.member-job-import-empty{grid-column:1/-1;margin:0;padding:14px;border:1px dashed #dfccb1;border-radius:10px;color:#987f66;text-align:center}
.member-birthday-inline{display:grid;grid-template-columns:1fr 1fr;gap:8px}.member-birthday-inline label{min-width:0}
.member-content-role-matrix{overflow:hidden;border:1px solid #eadfce;border-radius:13px;background:#fff}.member-content-role-row{display:grid;grid-template-columns:minmax(86px,1.3fr) repeat(3,minmax(65px,1fr));align-items:stretch}.member-content-role-row+.member-content-role-row{border-top:1px solid #f0e6d9}.member-content-role-row>*{display:grid;place-items:center;min-height:45px;margin:0;padding:6px;border-right:1px solid #f0e6d9;box-sizing:border-box}.member-content-role-row>*:last-child{border-right:0}.member-content-role-row.is-head{background:#fbf4e9;color:#9a7f63;font-size:9px;letter-spacing:.06em}.member-content-role-row>strong{justify-items:start;padding-left:14px;color:#5d4b3b;font-size:12px}.member-role-cell{position:relative;color:#c2b4a5;font-size:11px;font-weight:800}.member-role-cell input{position:absolute;opacity:0;pointer-events:none}.member-content-role-matrix.is-editable .member-role-cell{cursor:pointer}.member-role-cell.is-on{background:#f0f8ef;color:#4c8b5d}.member-content-role-matrix.is-editable .member-role-cell:hover{background:#fff7ec}
.member-story-picker{display:grid;grid-template-columns:repeat(6,1fr);overflow:hidden;border:1px solid #eadfce;border-radius:12px}.member-story-picker label{position:relative;margin:0!important;cursor:pointer}.member-story-picker label+label{border-left:1px solid #eadfce}.member-story-picker input{position:absolute;opacity:0}.member-story-picker span{display:grid;place-items:center;min-height:44px;padding:6px;color:#8f7a65;font-size:11px;font-weight:700;background:#fff}.member-story-picker label.is-selected span{background:#eaf3e7;color:#527b58;box-shadow:inset 0 -3px #78a780}
.member-ultimate-picker{display:flex;flex-wrap:wrap;gap:8px}.member-ultimate-picker label{position:relative;margin:0!important;cursor:pointer}.member-ultimate-picker input{position:absolute;opacity:0}.member-ultimate-picker span,.member-ultimate-display span{display:inline-flex;padding:8px 11px;border:1px solid #e5d7c3;border-radius:999px;background:#fff;color:#8c7761;font-size:11px;font-weight:700}.member-ultimate-picker label.is-selected span,.member-ultimate-display span{border-color:#d79761;background:#fff2e3;color:#9c5e2c}.member-ultimate-display{display:flex;flex-wrap:wrap;gap:7px}
.member-time-grid{display:grid;gap:7px;user-select:none;-webkit-user-select:none;touch-action:pan-y}.member-time-grid-head,.member-time-grid-row{display:grid;grid-template-columns:46px minmax(0,1fr)}.member-time-grid-head>span{grid-column:1}.member-time-grid-head{grid-template-columns:46px repeat(4,1fr);align-items:end}.member-time-grid-head b{color:#aa9076;font-size:9px;text-align:center}.member-time-grid-row>strong{display:grid;place-items:center start;color:#6b5846;font-size:11px}.member-time-cells{display:grid;grid-template-columns:repeat(24,1fr);gap:2px}.member-time-cell{display:block;min-width:0;height:22px;margin:0!important;border:1px solid #e6dac9;border-radius:3px;background:#fff;box-sizing:border-box}.member-time-cell input{position:absolute;opacity:0;pointer-events:none}.member-time-cell.is-on{border-color:#d88543;background:#e99b57;box-shadow:inset 0 -2px rgba(139,76,29,.08)}.member-time-grid.is-editable .member-time-cell{cursor:crosshair}.member-time-grid.is-editable .member-time-cell:hover{border-color:#dca16f;background:#fff4e9}
.member-lodestone-link{display:inline-flex;margin-top:8px;color:#c47332;font-size:10px;font-weight:700;text-decoration:none}.member-main-job-display strong{display:grid;gap:1px}.member-main-job-display small{color:#a68b71;font-size:10px;font-weight:700}.member-job-private-grid article>strong>small{color:#a68b71;font-size:10px}.member-free-content{white-space:pre-wrap}
@media(max-width:820px){.member-main-job-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.member-story-picker{grid-template-columns:repeat(3,1fr)}.member-story-picker label:nth-child(4){border-left:0;border-top:1px solid #eadfce}.member-story-picker label:nth-child(n+5){border-top:1px solid #eadfce}.member-time-grid-head,.member-time-grid-row{grid-template-columns:38px minmax(0,1fr)}.member-time-grid-head{grid-template-columns:38px repeat(4,1fr)}.member-time-cells{gap:1px}.member-time-cell{height:24px}}
@media(max-width:560px){.member-lodestone-row{grid-template-columns:1fr}.member-lodestone-row button{width:100%}.member-main-job-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-profile-v2-card-head{display:block}.member-profile-v2-card-head>span{display:block;margin-top:4px}.member-content-role-row{grid-template-columns:minmax(68px,1fr) repeat(3,minmax(48px,.8fr))}.member-time-grid{margin-left:-4px;margin-right:-4px}.member-time-grid-head,.member-time-grid-row{grid-template-columns:34px minmax(0,1fr)}.member-time-grid-head{grid-template-columns:34px repeat(4,1fr)}.member-time-cell{height:25px;border-radius:2px}}

/* v0.9.195 profile sub-jobs */
.member-sub-job-display{display:flex;flex-wrap:wrap;gap:7px}.member-sub-job-display>span{display:inline-flex;align-items:center;justify-content:center;padding:5px;border:1px solid #eadfce;border-radius:10px;background:#fffaf3}.member-sub-job-display img{width:24px;height:24px;object-fit:contain}

/* v0.9.196: profile JOBS block has only main/sub jobs; World/DC is intentionally hidden. */
.member-job-private-grid.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:720px){.member-job-private-grid.is-two{grid-template-columns:1fr}}

/* v0.9.198: extreme mount collection, shared by profile display and editor. */
.member-mount-collection{min-width:0}
.member-mount-note{margin:0 0 18px;color:#85715f;font-size:12px;line-height:1.7}
.member-mount-group+.member-mount-group{margin-top:22px}
.member-mount-group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #e9ddca}
.member-mount-group-heading h4{margin:0;color:#66513e;font-size:16px}
.member-mount-group-heading>span{color:#88745e;font-size:12px;white-space:nowrap}
.member-mount-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.member-mount-card{position:relative;display:flex;flex-direction:column;align-items:stretch;min-width:0;overflow:hidden;border:1px solid #e5daca;border-radius:12px;background:#faf7f0;text-align:center;transition:border-color .15s,background .15s}
.member-mount-card.is-owned{border-color:#cfb177;background:#fff7e6}
.member-mount-tile{display:flex;flex:1;flex-direction:column;align-items:center;gap:7px;width:100%;min-width:0;margin:0;padding:13px 6px 8px;border:0;background:transparent;color:#705f4e;font:inherit;text-align:center;box-sizing:border-box}
button.member-mount-tile,.member-mount-choice{cursor:pointer}
button.member-mount-tile:hover{background:rgba(230,177,94,.1)}
button.member-mount-tile:focus-visible,.member-mount-choice input:focus-visible+.member-mount-tile{outline:2px solid #b97539;outline-offset:-3px;border-radius:10px}
.member-mount-choice{position:relative;display:flex!important;flex:1;margin:0!important}
.member-mount-choice>input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.member-mount-image{position:relative;display:block;flex:none;width:48px;height:48px}
.member-mount-image img{display:block;width:48px;height:48px;object-fit:contain;filter:grayscale(1);opacity:.45}
.member-mount-card.is-owned .member-mount-image img{filter:none;opacity:1}
.member-mount-check{display:none;position:absolute;right:-5px;bottom:-4px;width:18px;height:18px;border:2px solid #fff7e6;border-radius:50%;background:#718b56;color:#fff;font-size:12px;font-weight:900;line-height:14px;box-sizing:border-box}
.member-mount-card.is-owned .member-mount-check{display:block}
.member-mount-name{display:block;min-height:3.9em;font-size:12px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.member-mount-state{font-size:12px;color:#948675}
.member-mount-card.is-owned .member-mount-state{color:#6d854f;font-weight:700}
.member-mount-kind{display:block;margin:0 4px 5px;font-size:10px;line-height:1.4;color:#a27939}
.member-mount-db{display:block;margin:auto 0 0;padding:5px 2px 7px;color:#947451;font-size:11px;text-decoration:none}
.member-mount-db:hover{text-decoration:underline}
.member-mount-card[aria-busy="true"]{opacity:.65}
.member-mount-save-status{min-height:1.6em;margin:12px 0 0;color:#68814e;font-size:12px;line-height:1.6}
.member-mount-save-status.is-error{color:#ad4d3d}
@media(max-width:1000px){.member-mount-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:400px){.member-mount-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-mount-name{min-height:2.6em}}
