@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;500;600;700;900&display=swap');
:root{color-scheme:dark;--bg:#101822;--panel:#17222e;--text:#f1edf2;--muted:#b2bbc7;--line:#354451;--pink:#f082cb;--cyan:#70ddea;--serif:'Noto Serif TC','PMingLiU',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--serif);font-size:15px;line-height:1.8}body:before{content:'';position:fixed;inset:0;background:url('assets/ink-city.png') center bottom/cover;opacity:.045;pointer-events:none;z-index:-1}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}button{background:none;border:0}h1,h2,h3,p{margin-top:0}h2{font-size:25px;letter-spacing:3px;display:flex;align-items:center;gap:12px;margin-bottom:20px}h2 b{color:var(--pink);font-weight:400}h2 i{display:inline-block;width:65px;height:1px;background:linear-gradient(90deg,var(--pink),transparent);box-shadow:0 0 8px #ed72bd66}svg{width:24px;fill:none;stroke:currentColor;stroke-width:1.7}.container{width:min(1280px,90%);margin-inline:auto}.site-header{height:92px;background:#0d141eea;border-bottom:1px solid #91a7c528;position:sticky;top:0;z-index:10;backdrop-filter:blur(16px)}.header-inner{width:min(1340px,92%);height:100%;margin:auto;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:30px;font-weight:900;letter-spacing:3px}.seal{height:51px;width:51px;display:grid;place-items:center;border:3px solid var(--pink);border-right-color:transparent;border-bottom-color:var(--cyan);border-radius:50%;transform:rotate(-14deg);font-size:28px;box-shadow:-4px 1px 0 #ed72bd35}.brand-note{font-size:11px;color:var(--muted);letter-spacing:2px;white-space:nowrap}nav{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-left:auto;height:100%}nav a{height:100%;display:flex;align-items:center;position:relative;letter-spacing:2px;white-space:nowrap}nav a:hover,nav a.active{color:#f8c8e9}nav a.active:after{content:'';position:absolute;bottom:13px;height:2px;left:0;right:0;background:var(--pink);box-shadow:0 0 12px var(--pink)}.header-actions{display:flex;gap:18px;margin-left:24px}.icon-button{width:34px;height:38px;display:grid;place-items:center;font-family:Arial,sans-serif;font-size:29px}.menu-toggle{display:none}.hero{position:relative;min-height:500px;background:url('assets/ink-city.png') center 45%/cover;isolation:isolate}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0b131bba 0%,#0b131b66 40%,transparent 70%),linear-gradient(0deg,var(--bg),transparent 20%);z-index:-1}.hero-content{padding:65px 0 40px;position:relative}.eyebrow{font-family:Arial,sans-serif;font-size:10px;letter-spacing:4px;color:var(--cyan);margin-bottom:20px}h1{font-size:clamp(32px,4.2vw,59px);line-height:1.45;letter-spacing:5px;font-weight:700;text-shadow:0 3px 20px #0007;margin-bottom:22px}h1 span{position:relative}h1 span:after{content:'';position:absolute;width:180px;height:10px;border-top:3px solid #e565b2aa;transform:rotate(-6deg);bottom:-8px;right:0;border-radius:50%}.hero-description{letter-spacing:1.5px;font-size:15px;color:#e4e4ec}.hero-buttons{display:flex;gap:24px;margin-top:29px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:9px 22px;border:1px solid;border-radius:5px;letter-spacing:2px;font-size:16px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-family:Arial;margin-left:8px}.pink{border-color:var(--pink);background:#d85ca832;box-shadow:0 0 18px #e86bbc35,inset 0 0 12px #e86bbc20}.pink:hover{background:#d85ca855}.cyan{border-color:var(--cyan);background:#57becb12;box-shadow:0 0 14px #70ddea15}.cyan:hover{background:#57becb33}.hero-caption{position:absolute;right:0;top:120px;writing-mode:vertical-rl;letter-spacing:7px;font-weight:600;font-size:19px;text-shadow:0 2px 6px #000}.red-seal{writing-mode:horizontal-tb;border:1px solid #d77379;color:#f69a9e;font-size:10px;letter-spacing:1px;margin-top:20px;padding:2px}.scroll-cue{display:flex;align-items:center;gap:15px;font:9px Arial;letter-spacing:3px;color:#b7c2cd;margin-top:45px}.scroll-cue span{font-size:20px;color:var(--pink)}.about{border-bottom:1px solid #859ca321;background:linear-gradient(100deg,#0a142000,#19283690,#6e7e8b19)}.about-inner{display:flex;align-items:center;gap:43px;padding:35px 35px 40px}.portrait{width:176px;height:176px;border-radius:50%;border:1px solid var(--pink);background:linear-gradient(#131e3566,#131e3599),url('assets/ink-city.png') 76% 30%/350%;box-shadow:0 0 0 10px #62799113,0 0 0 11px #70ddea40;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.portrait span{font-size:76px;text-shadow:0 0 20px #ef8ec9}.portrait small{font:9px Arial;letter-spacing:4px}.about-copy h2{margin-bottom:8px}.about-copy p{font-size:13px;letter-spacing:1px;line-height:1.9;margin-bottom:12px;color:var(--muted)}.compact{padding:3px 15px;font-size:12px}.about-poem{margin-left:auto;min-width:180px;font-size:22px;letter-spacing:4px;color:#c4cbd6}.about-poem small{display:block;font-size:10px;margin-top:18px;color:var(--muted);letter-spacing:2px}.journal{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px;padding-top:38px;padding-bottom:50px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.text-button{padding:0;font-size:12px;letter-spacing:1px;color:var(--muted)}.text-button:hover{color:var(--pink)}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.article-card{min-width:0;overflow:hidden;border:1px solid #6c9daa88;border-radius:10px;background:linear-gradient(140deg,#243140aa,#121c29ee);transition:transform .25s,border-color .25s;box-shadow:0 3px 15px #0002}.article-card:hover{transform:translateY(-5px);border-color:var(--cyan)}.card-open{display:block;text-align:left;width:100%;padding:0}.card-image{height:154px;background-image:url('assets/ink-city.png');background-size:250%;position:relative}.image-city{background-position:83% 28%}.image-mountain{background-position:25% 90%;filter:saturate(.5)}.image-night{background-position:100% 45%}.card-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,#17222e)}.card-body{padding:0 17px 14px;position:relative;margin-top:-16px}.category-label{border:1px solid #c59ad4;border-radius:12px;background:#493c59;padding:2px 9px;font-size:10px;letter-spacing:1px}.article-card:nth-child(3n) .category-label{background:#224b53;border-color:var(--cyan)}.card-body h3{font-size:17px;letter-spacing:1px;line-height:1.65;margin:9px 0}.card-body p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:0}.card-meta{display:flex;justify-content:space-between;align-items:center;font:10px Arial;color:var(--muted);padding:0 17px 14px}.like-button{font:15px Arial;color:var(--pink);padding:5px}.like-button[aria-pressed=true]{color:#ff8bd3}.categories{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.category-button{border:1px solid #668b9a;border-radius:5px;padding:8px 0;font-size:11px;background:#35596825}.category-button span{display:block;font-family:Arial;font-size:22px;line-height:1.5}.category-button:nth-child(2),.category-button:nth-child(3){border-color:#8d688e;background:#8d688e25}.category-button[aria-pressed=true]{border-color:var(--pink);box-shadow:0 0 12px #f082cb44;color:var(--pink)}aside h2{font-size:20px}aside h2 i{flex:1}.tags-title{margin-top:25px}.tags{display:flex;flex-wrap:wrap;gap:9px}.tag{border:1px solid #806987;border-radius:20px;font-size:11px;padding:3px 12px;background:#a87baa15}.tag:hover,.tag[aria-pressed=true]{border-color:var(--cyan);color:var(--cyan)}.side-note{margin-top:27px;border-top:1px solid var(--line);padding-top:18px}.side-note>span{font-size:10px;letter-spacing:3px;color:var(--pink)}.side-note p{font-size:13px;margin:9px 0;color:var(--muted)}.side-note small{font:8px Arial;letter-spacing:2px;color:var(--muted)}.filter-status{font-size:11px;color:var(--cyan);margin:0 0 12px}.filter-status:empty{display:none}.search-box{display:flex;gap:12px;align-items:center;margin-bottom:20px}.search-box label{font-size:12px;white-space:nowrap}.search-box input{width:100%;background:var(--panel);border:1px solid var(--line);padding:8px 12px;color:var(--text);border-radius:5px}.empty{padding:40px 20px;border:1px dashed var(--line);color:var(--muted)}.photography{border-top:1px solid var(--line);padding-top:30px}.section-note{font-size:11px;color:var(--muted);letter-spacing:2px}.photo-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px}.photo{height:240px;border-radius:4px;background-image:linear-gradient(0deg,#0a121bd9,transparent 70%),url('assets/ink-city.png');background-size:cover,270%;position:relative;text-align:left;overflow:hidden;border:1px solid #ffffff24;transition:filter .2s}.photo:hover{filter:brightness(1.2)}.photo-one{background-position:center,73% 20%}.photo-two{background-position:center,15% 95%}.photo-three{background-position:center,100% 50%}.photo span{position:absolute;bottom:20px;left:20px;color:#fff;letter-spacing:2px;font-size:14px}.photo small{display:block;color:#e5a8d3;font:9px Arial;letter-spacing:3px;margin-bottom:8px}.asset-note{font-size:10px;color:var(--muted);margin-top:10px}.inspiration{text-align:center;padding:65px 0}.inspiration blockquote{font-size:clamp(21px,3vw,34px);letter-spacing:4px;margin:15px 0}.inspiration p{font-size:13px;color:var(--muted)}.contact{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:35px 0;display:flex;justify-content:space-between;align-items:center;gap:25px}.contact .eyebrow{margin-bottom:10px}.contact h2{margin-bottom:10px;font-size:24px}.contact p{font-size:13px;color:var(--muted);margin:0}.footer-top{display:flex;gap:25px;align-items:center;padding:30px 0}.footer-top .brand{font-size:24px}.footer-top .seal{width:42px;height:42px;font-size:23px}.footer-top p{font-size:11px;letter-spacing:1px;color:var(--muted);margin:0}.footer-top>a:last-child{margin-left:auto;font-size:12px}.footer-bottom{border-top:1px solid var(--line);display:flex;gap:20px;font-size:10px;color:var(--muted);padding:18px 0}.footer-bottom span:last-child{margin-left:auto}dialog{width:min(760px,92vw);max-height:88vh;background:var(--panel);border:1px solid #82b7c9;border-radius:12px;color:var(--text);padding:45px;box-shadow:0 0 60px #0008}dialog::backdrop{background:#050c15cc;backdrop-filter:blur(6px)}.close-dialog{position:absolute;right:12px;top:10px}dialog h2{font-size:27px;line-height:1.6;margin-top:20px}dialog p{line-height:2.1;color:var(--muted)}dialog img{width:100%;border-radius:5px}.reader-note{font-size:11px;color:var(--pink)!important}.skip{position:fixed;top:-70px;left:20px;background:var(--panel);padding:10px;z-index:99}.skip:focus{top:5px}[hidden]{display:none!important}body.light{color-scheme:light;--bg:#eeeae5;--panel:#fcfaf6;--text:#263443;--muted:#586573;--line:#c8bec9;--pink:#a83a85;--cyan:#217783}.light .site-header{background:#f8f2edee}.light nav a.active{color:var(--pink)}.light .hero{color:#fff}.light .hero .eyebrow{color:#83edf3}.light .hero .cyan{border-color:#70ddea}.light .hero .pink{border-color:#f082cb}.light .article-card{background:#faf7f3}.light .card-image:after{background:linear-gradient(transparent 50%,#faf7f3)}.light .category-label{color:#fff}.light .about-poem{color:var(--text)}.light .portrait{color:#fff}.light .about{background:#d6d6d54d}
@media(min-width:1500px){.hero{min-height:570px}.hero-content{padding-top:90px}}@media(max-width:1150px){.brand-note{display:none}nav{gap:24px}.journal{grid-template-columns:minmax(0,1fr) 240px;gap:24px}.article-grid{gap:12px}.card-body{padding-inline:12px}.card-body h3{font-size:15px}.about-poem{display:none}.hero{min-height:480px}.header-actions{margin-left:8px}}@media(max-width:900px){.journal{grid-template-columns:1fr}aside{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}aside h2{grid-column:1}.categories{grid-column:1}.tags-title{grid-column:2;grid-row:1;margin-top:0}.tags{grid-column:2;grid-row:2}.side-note{display:none}.header-inner{gap:12px}nav{gap:17px;font-size:13px}.brand{font-size:25px}.header-actions{gap:6px}.hero-caption{display:none}.photo{height:200px}}@media(max-width:680px){.site-header{height:74px}.header-inner{width:90%}.brand{font-size:24px}.seal{width:42px;height:42px;font-size:24px}.menu-toggle{display:grid;margin-left:auto;order:2}.header-actions{margin-left:auto;gap:7px}nav{display:none;position:absolute;left:0;right:0;top:74px;background:var(--panel);padding:15px 5%;height:auto;box-shadow:0 12px 20px #0005;flex-wrap:wrap;justify-content:flex-start;gap:12px 25px}nav.open{display:flex}nav a{padding:7px 0}nav a.active:after{bottom:0}.hero{min-height:500px;background-position:65% center}.hero-shade{background:linear-gradient(90deg,#0b131bd9,#0b131b33),linear-gradient(0deg,var(--bg),transparent 30%)}.hero-content{padding-top:65px}.eyebrow{font-size:9px;letter-spacing:2.5px}h1{font-size:33px;letter-spacing:2px}.hero-description{max-width:270px;font-size:13px;line-height:2}.hero-buttons{gap:12px}.button{font-size:13px;padding:9px 15px;gap:6px}.scroll-cue{margin-top:35px}.about-inner{padding:28px 0;gap:24px;align-items:flex-start}.portrait{width:86px;height:86px;margin-top:15px;box-shadow:0 0 0 6px #62799113,0 0 0 7px #70ddea40}.portrait span{font-size:40px}.portrait small{font-size:6px;letter-spacing:1px}.about-copy{flex:1}.about-copy h2{font-size:23px}.about-copy p{font-size:12px}.about-copy br{display:none}.article-grid{grid-template-columns:1fr}.article-card{display:block}.card-image{height:210px;background-size:180%}.card-body{padding:0 20px 12px}.card-body h3{font-size:21px}.card-body p{font-size:13px}.card-meta{padding:0 20px 16px}.journal{padding-top:28px}.section-heading h2{font-size:23px}.section-heading h2 i{width:35px}aside{grid-template-columns:1fr;gap:0}.tags-title,.tags{grid-column:1;grid-row:auto}.tags-title{margin-top:25px}.categories{gap:12px}.category-button{font-size:13px;padding:10px}.photo-grid{grid-template-columns:1fr}.photo{height:220px;background-size:cover,180%}.section-note{font-size:9px;letter-spacing:0}.inspiration{padding:45px 0}.inspiration blockquote{font-size:21px;letter-spacing:1px}.contact{align-items:flex-start;flex-direction:column}.contact h2{font-size:21px;letter-spacing:1px}.footer-top{flex-wrap:wrap;gap:15px}.footer-top p{order:3;flex-basis:100%}.footer-bottom{flex-wrap:wrap;gap:5px 15px}.footer-bottom span:last-child{margin-left:0}dialog{padding:35px 22px}dialog h2{font-size:23px}.search-box{flex-wrap:wrap}.search-box input{flex:1;min-width:150px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* 以色彩增值讓原圖的白底融入動態水墨，保留字形與粉色筆觸。 */
.ink-logo {
  position: relative;
  isolation: isolate;
  display: block;
  width: 64px;
  height: 64px;
  flex: 0 0 auto;
  overflow: hidden;
  background: #b7c6ce;
  border-radius: 46% 42% 47% 41%;
  mask-image: radial-gradient(ellipse at center, #000 54%, #000c 70%, transparent 100%);
}
.ink-logo::before,
.ink-logo::after {
  content: '';
  position: absolute;
  pointer-events: none;
  inset: -40%;
}
.ink-logo::before {
  background: url('assets/ink-city.png') 12% 88% / 240% auto;
  filter: grayscale(1);
  opacity: .48;
  animation: ink-landscape-drift 16s ease-in-out infinite alternate;
}
.ink-logo::after {
  background: radial-gradient(ellipse at 25% 35%, #ecf0eeda 0%, transparent 48%),
              radial-gradient(ellipse at 75% 68%, #586f83a6 0%, transparent 44%),
              radial-gradient(ellipse at 35% 80%, #b86e9a59 0%, transparent 40%);
  filter: blur(5px);
  animation: ink-mist-drift 10s ease-in-out infinite alternate;
}
.brand-logo {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.footer-top .ink-logo { width: 54px; height: 54px; }
.footer-top .ink-logo::before { animation-delay: -5s; }
.footer-top .ink-logo::after { animation-delay: -3s; }
.light .ink-logo { background: #d1d5cc; }
@keyframes ink-landscape-drift {
  from { transform: translate(-4%, 3%) scale(1.03); }
  to { transform: translate(7%, -6%) scale(1.14); }
}
@keyframes ink-mist-drift {
  from { transform: translate(-12%, -7%) rotate(-12deg); opacity: .55; }
  to { transform: translate(12%, 9%) rotate(14deg); opacity: .95; }
}
@media (prefers-reduced-motion: reduce) {
  .ink-logo::before, .ink-logo::after { animation: none; }
}

/* 水墨底紋與各區塊山霧；霓虹主視覺保留為首頁焦點。 */
body { isolation: isolate; }
body::before {
  z-index: -1;
  background: url('assets/ink-city.png') 18% 82% / cover no-repeat;
  filter: grayscale(.9);
  opacity: .28;
}
.site-header {
  background: linear-gradient(90deg, #0d141ef5, #182430e8, #0d141ef5),
              url('assets/ink-city.png') center 80% / cover;
}
.about {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #10182260;
}
.about::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, #101822 5%, #101822b8 45%, #10182218),
              url('assets/ink-city.png') 20% 83% / cover;
  filter: grayscale(.9);
  opacity: .85;
}
.journal, .photography, .contact, footer {
  background: linear-gradient(90deg, #101822bd, #10182270 55%, #101822bd);
}
.inspiration {
  position: relative;
  isolation: isolate;
  background: linear-gradient(90deg, #101822d9, #101822a6, #101822d9);
}
.inspiration::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url('assets/ink-city.png') 15% 88% / cover;
  filter: grayscale(1);
  opacity: .16;
  mask-image: linear-gradient(90deg, transparent, #000 25%, #000 75%, transparent);
}
.light::before { opacity: .17; filter: grayscale(1); }
.light .site-header {
  background: linear-gradient(90deg, #f8f2edf2, #f8f2eddb),
              url('assets/ink-city.png') center 80% / cover;
}
.light .about { background: #eeeae599; }
.light .about::before {
  background: linear-gradient(90deg, #eeeae5 5%, #eeeae5bd 50%, #eeeae544),
              url('assets/ink-city.png') 20% 83% / cover;
  opacity: .55;
}
.light .journal, .light .photography, .light .contact, .light footer,
.light .inspiration { background: #eeeae5bd; }
.light .inspiration::before { opacity: .1; }
@media (max-width: 680px) {
  .ink-logo { width: 46px; height: 46px; }
  .footer-top .ink-logo { width: 46px; height: 46px; }
  .about-copy { min-width: 0; }
  body::before { background-position: 35% bottom; }
  .about::before { opacity: .5; }
}

/* Three.js 透明山霧層；靜態圖片一直保留在底下，載入失敗也不會空白。 */
.hero {
  overflow: hidden;
  background-position: calc(50% + var(--scene-x, 0px)) calc(45% + var(--scene-y, 0px));
}
.hero-motion {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.hero .hero-shade { z-index: 1; pointer-events: none; }
.hero .hero-content { z-index: 2; }
.hero-motion canvas { display: block; width: 100%; height: 100%; }
.motion-toggle {
  position: absolute;
  right: 5%;
  bottom: 20px;
  z-index: 3;
  border: 1px solid #a6b5c74d;
  border-radius: 20px;
  background: #101822a6;
  color: #e5e8ed;
  padding: 5px 12px;
  font-size: 11px;
  letter-spacing: 1px;
}
.motion-toggle:hover { border-color: var(--cyan); }
@media(max-width:680px) {
  .hero { background-position: 65% center; }
  .motion-toggle { font-size: 10px; bottom: 12px; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-motion, .motion-toggle { display:none!important; }
  .hero { --scene-x:0px!important; --scene-y:0px!important; }
}

/* 城市霓虹標誌：深色底、粉紅與青藍光暈。 */
.ink-logo, .light .ink-logo {
  background: #0a101d;
  overflow: visible;
  border-radius: 50%;
  mask-image: none;
  box-shadow: 0 0 12px #ef55b93d, 0 0 22px #52d9ed24;
}
.ink-logo::before {
  inset: -5px;
  border-radius: 50%;
  background: conic-gradient(from 35deg, #f251b9, #713d9e 30%, #53d9ed 55%, #253b78 75%, #f251b9);
  filter: blur(9px);
  opacity: .55;
  animation: city-neon-flicker 5.7s linear infinite;
}
.ink-logo::after {
  inset: -1px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff72cf, transparent 45%, #67efff);
  padding: 1px;
  mask: linear-gradient(#fff 0 0) content-box exclude, linear-gradient(#fff 0 0);
  filter: none;
  opacity: .8;
  animation: city-neon-flicker 7.3s linear -2.4s infinite;
}
.brand-logo {
  border-radius: 50%;
  mix-blend-mode: screen;
  filter: invert(1) hue-rotate(180deg) brightness(1.15);
}
.site-header, .light .site-header {
  background: radial-gradient(ellipse at 8% 50%, #ed53b91c, transparent 30%),
              radial-gradient(ellipse at 30% 10%, #55dce915, transparent 35%), #0d1421f5;
  border-bottom-color: #67d9eb33;
  color: #f1edf2;
}
.light .site-header .brand-note { color: #b2bbc7; }
.light .site-header nav a.active { color: #f8c8e9; }
@keyframes city-neon-flicker {
  0%, 18%, 24%, 65%, 100% { opacity: .65; }
  19%, 22% { opacity: .32; }
  20%, 23%, 48% { opacity: .85; }
  49%, 51% { opacity: .5; }
  78% { opacity: .9; }
}
@media(prefers-reduced-motion:reduce) {
  .ink-logo::before, .ink-logo::after { animation:none; }
}

/* 透過 CSS 取景原圖右下角 Rex；圖片原檔保持完整。 */
.rex-portrait {
  position: relative;
  overflow: hidden;
  background: url('assets/rex-reference.png') 84% 81% / 600% auto no-repeat;
  border-color: #f082cb;
  box-shadow: 0 0 0 7px #122230, 0 0 0 8px #70ddea80, 0 0 24px #ed60ba35;
}
.rex-portrait small {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
  padding: 6px 0;
  color: #fff;
  background: linear-gradient(transparent, #101822dc);
  font: 10px/1.5 Arial, sans-serif;
  letter-spacing: 4px;
  padding-left: 4px;
}
@media(max-width:680px) {
  .rex-portrait small { font-size: 8px; padding-block: 2px; letter-spacing: 2px; }
}

.rex-live-canvas { position:absolute;inset:0;width:100%;height:100%;border-radius:50%;pointer-events:none; }
.rex-portrait small { z-index:1;pointer-events:none; }
.rex-motion-control { position:absolute;z-index:2;bottom:12px;right:15px;width:24px;height:24px;padding:0;border-radius:50%;background:#101822b8;color:#eafaff;border:1px solid #70ddea66;font:11px Arial; }
@media(max-width:680px){.rex-motion-control{bottom:7px;right:7px;width:20px;height:20px;font-size:10px;}}
@media(prefers-reduced-motion:reduce){.rex-live-canvas,.rex-motion-control{display:none!important;}}

/* 新版分層 Rex：同一完整畫布疊合，靜態預覽使用相同取景。 */
.rex-portrait { background: radial-gradient(ellipse at 30% 20%,#65305270,transparent 65%),radial-gradient(ellipse at 80% 75%,#207b9655,transparent 70%),#101b2c; }
.rex-portrait::before { content:'';position:absolute;inset:0;background:url('assets/rex-layers/preview.png') center / 107.53% auto no-repeat;background-position:50% -14.3%; }
.rex-portrait:has(.rex-live-canvas)::before { visibility:hidden; }

.article-cover { width:100%;height:100%;object-fit:cover;display:block; }
.article-paragraph { white-space:pre-wrap;overflow-wrap:anywhere; }
.admin-link { color:var(--cyan);white-space:nowrap; }
