@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&display=swap');

:root {
  --bg: #0f0e0c; --bg-card: #1a1815;
  --gold: #c9a84c; --gold-light: #e8d48b;
  --text: #d4cfc5; --text-dim: #8a8477; --text-bright: #f0ebe0;
  --border: #2a2520;
}
[data-theme="light"] {
  --bg: #f5f2ed; --bg-card: #fff;
  --gold: #8b6914; --gold-light: #6b5010;
  --text: #3a3530; --text-dim: #7a7570; --text-bright: #1a1510;
  --border: #d8d2c8;
}

* { margin:0; padding:0; box-sizing:border-box; }
body { background:var(--bg); color:var(--text); font-family:'Noto Serif SC',serif; line-height:1.85; -webkit-font-smoothing:antialiased; transition: background .3s, color .3s; }
a { color:var(--gold); text-decoration:none; } a:hover { color:var(--gold-light); }

.theme-toggle { position:fixed; top:16px; right:16px; z-index:999; background:var(--bg-card); border:1px solid var(--border); border-radius:50%; width:40px; height:40px; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:18px; transition: all .3s; }
.theme-toggle:hover { border-color:var(--gold); }

.hero { min-height:50vh; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:80px 24px; background:linear-gradient(180deg,var(--bg) 0%,var(--bg-card) 50%,var(--bg) 100%); border-bottom:1px solid var(--border); }
.hero-label { font-family:'Cormorant Garamond',serif; font-size:13px; letter-spacing:4px; text-transform:uppercase; color:var(--gold); margin-bottom:32px; }
.hero h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(42px,6vw,72px); font-weight:400; color:var(--text-bright); letter-spacing:2px; margin-bottom:16px; }
.hero .subtitle { font-size:18px; color:var(--text-dim); font-style:italic; max-width:560px; }
.hero-sm { min-height:35vh; }

.container { max-width:780px; margin:0 auto; padding:0 24px; }
.container-wide { max-width:960px; margin:0 auto; padding:0 24px; }

section { padding:64px 0; border-bottom:1px solid var(--border); }
section:last-child { border-bottom:none; }

h2 { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:600; color:var(--gold); margin-bottom:32px; letter-spacing:1px; }
h3 { font-size:18px; font-weight:600; color:var(--text-bright); margin:28px 0 12px; }
p { margin-bottom:16px; }
.highlight { color:var(--gold-light); font-weight:600; }
[data-theme="light"] .highlight { color:var(--gold); }

.quote-block { border-left:2px solid var(--gold); padding:20px 24px; margin:28px 0; background:var(--bg-card); border-radius:0 4px 4px 0; font-style:italic; color:var(--text-dim); font-size:17px; }
.quote-block .attr { display:block; margin-top:12px; font-style:normal; font-size:13px; color:var(--gold); }

.info-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:24px 0; }
.info-card { background:var(--bg-card); border:1px solid var(--border); border-radius:6px; padding:20px; }
.info-card .label { font-size:12px; text-transform:uppercase; letter-spacing:2px; color:var(--gold); margin-bottom:8px; }
.info-card .value { font-size:15px; color:var(--text-bright); }

.craft-item { background:var(--bg-card); border:1px solid var(--border); border-radius:6px; padding:24px; margin:16px 0; }
.craft-item h4 { color:var(--gold-light); font-size:16px; margin-bottom:8px; }
[data-theme="light"] .craft-item h4 { color:var(--gold); }
.craft-item p { font-size:14px; color:var(--text-dim); margin-bottom:0; }

.price-table { width:100%; border-collapse:collapse; margin:16px 0; font-size:14px; }
.price-table th { text-align:left; padding:12px 16px; border-bottom:1px solid var(--gold); color:var(--gold); font-weight:600; font-size:12px; letter-spacing:1px; text-transform:uppercase; }
.price-table td { padding:12px 16px; border-bottom:1px solid var(--border); }

.iris-section { background:var(--bg-card); border:1px solid var(--gold); border-radius:8px; padding:32px; margin:32px 0; }
.iris-section h3 { color:var(--gold); margin-top:0; }

.tag { display:inline-block; background:var(--bg-card); border:1px solid var(--border); border-radius:20px; padding:4px 14px; font-size:12px; color:var(--text-dim); margin:4px 4px 4px 0; }
.tag-gold { border-color:var(--gold); color:var(--gold); }

.footer { text-align:center; padding:48px 24px; color:var(--text-dim); font-size:13px; border-top:1px solid var(--border); }
.footer .brand { color:var(--gold); font-family:'Cormorant Garamond',serif; font-size:15px; letter-spacing:2px; }

ul { padding-left:20px; margin:12px 0; } li { margin-bottom:8px; font-size:15px; }

/* Product gallery */
.product-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:24px 0; }
.product-card { background:var(--bg-card); border:1px solid var(--border); border-radius:8px; overflow:hidden; }
.product-card img { width:100%; aspect-ratio:1; object-fit:cover; }
.product-card .caption { padding:12px 16px; }
.product-card .caption h4 { font-size:14px; color:var(--text-bright); margin-bottom:4px; }
.product-card .caption p { font-size:12px; color:var(--text-dim); margin:0; }

/* Index page */
.issue-list { list-style:none; padding:0; }
.issue-item { display:flex; align-items:baseline; gap:20px; padding:24px 0; border-bottom:1px solid var(--border); }
.issue-item:last-child { border-bottom:none; }
.issue-num { font-family:'Cormorant Garamond',serif; font-size:14px; color:var(--gold); min-width:40px; letter-spacing:2px; }
.issue-title { font-size:20px; color:var(--text-bright); font-family:'Cormorant Garamond',serif; }
.issue-sub { font-size:14px; color:var(--text-dim); margin-top:4px; }
.issue-line { font-size:12px; color:var(--gold); margin-top:4px; }
.issue-date { font-size:13px; color:var(--text-dim); margin-left:auto; white-space:nowrap; }

.nav-bar { display:flex; justify-content:space-between; align-items:center; padding:16px 24px; border-bottom:1px solid var(--border); max-width:780px; margin:0 auto; }
.nav-home { font-family:'Cormorant Garamond',serif; font-size:14px; letter-spacing:2px; color:var(--gold); }

/* Matrix */
.matrix-container { position:relative; width:100%; aspect-ratio:1; background:var(--bg-card); border:1px solid var(--border); border-radius:8px; margin:24px 0; overflow:hidden; }
.matrix-axis-x, .matrix-axis-y { position:absolute; font-size:11px; color:var(--text-dim); letter-spacing:1px; text-transform:uppercase; }
.matrix-axis-x { bottom:8px; left:50%; transform:translateX(-50%); }
.matrix-axis-y { top:50%; left:8px; transform:rotate(-90deg) translateX(-50%); transform-origin:left center; }
.matrix-label { position:absolute; font-size:10px; color:var(--text-dim); }
.matrix-dot { position:absolute; width:12px; height:12px; background:var(--gold); border-radius:50%; transform:translate(-50%,-50%); cursor:pointer; transition: all .2s; }
.matrix-dot:hover { width:16px; height:16px; box-shadow:0 0 12px var(--gold); }
.matrix-dot .tooltip { display:none; position:absolute; bottom:20px; left:50%; transform:translateX(-50%); background:var(--bg); border:1px solid var(--gold); border-radius:4px; padding:6px 10px; font-size:12px; color:var(--text-bright); white-space:nowrap; z-index:10; }
.matrix-dot:hover .tooltip { display:block; }
.matrix-line { position:absolute; border:1px dashed var(--border); }

@media (max-width:600px) {
  .info-grid { grid-template-columns:1fr; }
  .hero { min-height:40vh; padding:60px 20px; }
  section { padding:48px 0; }
  .issue-item { flex-wrap:wrap; gap:8px; } .issue-date { margin-left:60px; }
  .product-gallery { grid-template-columns:1fr; }
}
