
@font-face{font-family:'EB Garamond';src:url('../assets/fonts/eb-garamond-subset.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap;unicode-range:U+0000-024F,U+2000-206F;}

:root{
  --r01-h: 44px;      
  --r01-pad: 12px;    
  --r01-fstart: 78%;  
  --r01-wm: 16px;     
}

:is(
  #top, .khead, .sitehead, #sitehead, #topnav, .l5-head, .stw-nav, header.nav, .ndhead,
  .scene > div[style^="position:fixed;left:0;right:0;top:0"],
  main[data-forge] > div[style^="position:fixed;left:0;right:0;top:0"],
  body > div:not([class]):not([id])[style^="position:fixed;left:0;right:0;top:0"]
)[data-r01]{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px;
  padding: var(--r01-pad) 16px !important;
  box-sizing: border-box !important;
  min-height: calc(var(--r01-h) + var(--r01-pad) * 2);
  background: linear-gradient(180deg,
              var(--header-glass-tint) 0%,
              var(--header-glass-tint) var(--r01-fstart),
              rgba(0,0,0,0) 100%) !important;
  border-bottom: 0 !important;
  -webkit-backdrop-filter: none !important;
          backdrop-filter: none !important;
  transition: transform .28s ease;
}

:is(
  #top, .khead, .sitehead, #sitehead, #topnav, .l5-head, .stw-nav, header.nav, .ndhead,
  .scene > div[style^="position:fixed;left:0;right:0;top:0"],
  main[data-forge] > div[style^="position:fixed;left:0;right:0;top:0"],
  body > div:not([class]):not([id])[style^="position:fixed;left:0;right:0;top:0"]
)[data-r01][data-r01-nobg]{ background: none !important; }

header.nav[data-r01]{
  position: fixed; top: 0; left: 0; right: 0; z-index: 40;
  border-bottom: 0 !important;
}
header.nav[data-r01] ~ main{
  padding-top: calc(var(--r01-h) + var(--r01-pad) * 2 + 2vh) !important;
}

[data-r01].r01-hidden{ transform: translateY(-100%); }

[data-r01] .r01-wm{
  font-family: 'EB Garamond', 'LXGW WenKai TC', 'Songti TC', 'Noto Serif TC', serif !important;
  font-size: var(--r01-wm) !important;
  letter-spacing: .3em;
  white-space: nowrap;
  text-decoration: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  min-height: var(--r01-h);
  padding: 0 4px;
  pointer-events: auto;
}
[data-r01] .r01-right{ display:flex; align-items:center; gap:4px; pointer-events:auto; }

[data-r01] .r01-tap{
  display: inline-flex; align-items: center; justify-content: center;
  min-width: var(--r01-h); min-height: var(--r01-h);
  color: inherit; text-decoration: none; background: none; border: 0;
  cursor: pointer; padding: 0; font: inherit; pointer-events: auto;
}
[data-r01] .r01-tap svg{ width:21px; height:21px; display:block; }

[data-r01][data-ink="light"]{ --r01-focus:#E2B371; }   
[data-r01][data-ink="dark"] { --r01-focus:#9E3C3E; }   
[data-r01] .r01-tap:focus-visible,
[data-r01] .r01-wm:focus-visible{
  outline: 2px solid var(--r01-focus, #E2B371);
  outline-offset: 3px; border-radius: 6px;
}

[data-r01] .r01-backlabel{ display:none; font-size:12px; letter-spacing:.16em; white-space:nowrap; margin-left:2px; }
[data-r01] .r01-lang{ display:none; align-items:center; gap:6px; font-size:11.5px; letter-spacing:.14em; margin-left:6px; }
[data-r01] .r01-lang a{ color:inherit; text-decoration:none; }
[data-r01] .r01-lang [aria-current="page"]{ font-weight:700; }

@media (min-width: 900px){
  :is(#top,.khead,.sitehead,#sitehead,#topnav,.l5-head,.stw-nav,header.nav,.ndhead, .ndhead,
      .scene > div[style^="position:fixed;left:0;right:0;top:0"],
      main[data-forge] > div[style^="position:fixed;left:0;right:0;top:0"],
      body > div:not([class]):not([id])[style^="position:fixed;left:0;right:0;top:0"]
  )[data-r01]{ padding: var(--r01-pad) 40px !important; }
  [data-r01] .r01-wm{ font-size: calc(var(--r01-wm) + 2px) !important; }
  [data-r01] .r01-back{ min-width:auto; padding:0 10px; }
  [data-r01] .r01-backlabel{ display:inline; }
  [data-r01] .r01-lang{ display:flex; }
}

#r01-scrim{
  position: fixed; inset: 0; z-index: 9998;
  background: rgba(6,6,9,.58);
  opacity: 0; visibility: hidden;
  transition: opacity .24s ease, visibility .24s;
}
#r01-scrim.open{ opacity:1; visibility:visible; }

#r01-sheet{
  position: fixed; top:0; right:0; bottom:0; z-index: 9999;
  width: min(320px, 84vw);
  background: #14131a; color: #ece5d6;
  border-left: 1px solid rgba(226,179,113,.28);
  padding: 18px 0 max(14px, env(safe-area-inset-bottom));
  transform: translateX(100%);
  transition: transform .28s cubic-bezier(.22,.7,.3,1);
  overflow: auto; display: flex; flex-direction: column;
  font-family: "LXGW WenKai TC","Songti TC","Noto Serif TC",serif;
}
#r01-sheet.open{ transform: translateX(0); }
#r01-sheet[hidden], #r01-scrim[hidden]{ display: none !important; }
@media (min-width: 900px){ #r01-sheet{ width: min(380px, 86vw); } }

#r01-sheet[data-ink="dark"]{ background:#faf8f3; color:#2a2724; border-left-color:rgba(158,60,62,.3); }

#r01-sheet .r01-sheet-top{ display:flex; justify-content:flex-end; padding:0 10px 4px; }
#r01-sheet .r01-x{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:44px; min-height:44px; background:none; border:0; color:inherit; cursor:pointer;
}
#r01-sheet .r01-x svg{ width:20px; height:20px; }
#r01-sheet h2{
  font-size:12px; letter-spacing:.22em; font-weight:400; opacity:.55;
  margin:14px 20px 4px;
}
#r01-sheet .r01-row{
  display:flex; align-items:center; gap:12px; width:100%;
  min-height:48px; padding:0 20px; font-size:15px; font-family:inherit;
  color:inherit; text-decoration:none; background:none; border:0;
  cursor:pointer; text-align:left;
}
#r01-sheet .r01-row[aria-current="page"]{ color:#E2B371; font-weight:700; }
#r01-sheet[data-ink="dark"] .r01-row[aria-current="page"]{ color:#9E3C3E; }
#r01-sheet .r01-soon{ opacity:.36; cursor:default; }
#r01-sheet .r01-soon small{ margin-left:auto; font-size:11px; letter-spacing:.1em; }
#r01-sheet hr{ border:0; border-top:1px solid currentColor; opacity:.12; margin:10px 20px; }
#r01-sheet .r01-cols{ display:flex; align-items:flex-start; }
#r01-sheet .r01-cols .r01-col{ flex:1 1 0; min-width:0; }
#r01-sheet .r01-row:focus-visible, #r01-sheet .r01-x:focus-visible{
  outline:2px solid #E2B371; outline-offset:-2px;
}
#r01-sheet[data-ink="dark"] .r01-row:focus-visible,
#r01-sheet[data-ink="dark"] .r01-x:focus-visible{ outline-color:#9E3C3E; }

@media (prefers-reduced-motion: reduce){
  [data-r01], #r01-sheet, #r01-scrim{ transition: none !important; }
}

html.rumo-veil #plc-duo,
html.rumo-veil #plc-box,
html.rumo-veil #plc-panel,
html.rumo-veil .ec-nbox,
html.rumo-veil .ec-toast,
html.rumo-veil .ec-ebox,
html.rumo-veil #ec-fpanel { visibility: hidden !important; pointer-events: none !important; }

#r01-sheet .r01-qr-card{
  margin-top:auto; margin-left:14px; margin-right:14px; margin-bottom:8px;
  padding:22px 18px 16px; background:#f0ece4; border-radius:10px;
  text-align:center; color:#2a2724;
}
#r01-sheet .r01-qr-title{
  font-size:13px; letter-spacing:.14em; opacity:.55; margin-bottom:14px;
}
#r01-sheet .r01-qr-wrap{ display:flex; justify-content:center; margin-bottom:14px; }
#r01-sheet .r01-qr-wrap svg{ width:130px; height:130px; }
#r01-sheet .r01-qr-hint{
  font-size:12.5px; line-height:1.60; opacity:.65; margin-bottom:16px;
}
#r01-sheet .r01-share-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 24px; font-size:13px; letter-spacing:.12em; font-family:inherit;
  color:#2a2724; background:transparent; border:1px solid rgba(42,39,36,.22);
  border-radius:20px; cursor:pointer; min-height:44px; transition:border-color .2s;
}
#r01-sheet .r01-share-btn:hover{ border-color:rgba(42,39,36,.48); }
#r01-sheet .r01-share-btn:focus-visible{
  outline:2px solid #9E3C3E; outline-offset:2px;
}
#r01-sheet .r01-qr-url{
  font-size:11px; letter-spacing:.08em; color:#2a2724; opacity:.3;
  margin-top:12px; min-height:1.6em;
  transition:opacity .4s ease, color .4s ease;
}
#r01-sheet .r01-qr-url.r01-toast-on{
  opacity:.85; color:#6b5840;
}

.r01-qr-lb{
  position:fixed; inset:0; z-index:10000;
  background:#060609;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  opacity:0; transition:opacity .25s ease;
}
.r01-qr-lb.on{ opacity:1; }
.r01-qr-lb-x{
  position:absolute; top:16px; right:16px;
  width:40px; height:40px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  color:#ece5d6; opacity:.7; transition:opacity .2s;
}
.r01-qr-lb-x:hover{ opacity:1; }
.r01-qr-lb-x svg{ width:24px; height:24px; }
.r01-qr-lb-body{
  background:#fff; border-radius:12px; padding:24px;
  display:flex; align-items:center; justify-content:center;
}
.r01-qr-lb-body svg{ width:min(260px, 60vw); height:min(260px, 60vw); }
.r01-qr-lb-save{
  margin-top:20px; padding:10px 28px;
  font-size:13px; letter-spacing:.1em; font-family:inherit;
  color:#ece5d6; background:transparent;
  border:1px solid rgba(236,229,214,.3); border-radius:20px;
  cursor:pointer; min-height:44px; transition:border-color .2s;
}
.r01-qr-lb-save:hover{ border-color:rgba(236,229,214,.6); }
.r01-qr-lb-save:focus-visible{ outline:2px solid #E2B371; outline-offset:2px; }
