:root{
  --bg:#fffdf6;--bg2:#fff6d8;--yellow:#f7c600;--yellow2:#ffdf62;--deep:#d19500;--ink:#2b2518;--muted:#6b624b;
  --line:rgba(226,203,116,.62);--card:rgba(255,255,255,.78);--card2:rgba(255,255,255,.92);--shadow:0 22px 60px rgba(123,91,0,.12);--shadow2:0 36px 90px rgba(159,116,0,.2);--max:1240px;--r:30px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Hiragino Sans","Yu Gothic","Noto Sans JP",system-ui,sans-serif;line-height:1.75;background:radial-gradient(circle at 8% 4%,rgba(255,236,150,.30),transparent 22%),radial-gradient(circle at 94% 0%,rgba(255,224,120,.26),transparent 18%),linear-gradient(180deg,#fffdf6 0,#fff7dd 42%,#fffdf6 100%);overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.42;z-index:-2;background-image:radial-gradient(circle at 24px 24px,rgba(247,198,0,.13) 1.4px,transparent 1.8px),radial-gradient(circle at 78px 84px,rgba(255,255,255,.72) 1.2px,transparent 1.8px);background-size:130px 130px}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(calc(100% - 32px),var(--max));margin:auto}.section{padding:74px 0}.kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.78);border:1px solid var(--line);box-shadow:0 10px 24px rgba(123,91,0,.08);color:#735900;font-weight:900;font-size:.85rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 18px;border-radius:999px;border:1px solid transparent;font-weight:900;position:relative;overflow:hidden;transition:.25s ease}.btn:before{content:"";position:absolute;inset:0 auto 0 -44%;width:42%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);transition:.7s ease}.btn:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(121,92,0,.14)}.btn:hover:before{left:110%}.primary{background:linear-gradient(180deg,#ffe887,var(--yellow));color:#422e00;box-shadow:0 18px 34px rgba(247,198,0,.26)}.secondary{background:rgba(255,255,255,.86);border-color:var(--line);box-shadow:var(--shadow);color:#463d2b}.section-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:26px}.section-title{margin:0;font-size:clamp(1.75rem,2.3vw,2.65rem);line-height:1.24;letter-spacing:.02em}.accent{color:var(--deep)}.lead{margin:8px 0 0;max-width:760px;color:var(--muted);font-weight:650}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);backdrop-filter:blur(8px)}.reveal{opacity:0;transform:translateY(24px)}.reveal.show{opacity:1;transform:translateY(0);transition:.76s cubic-bezier(.2,.8,.2,1)}
.site-header{position:sticky;top:0;z-index:100;padding:12px 0 8px;backdrop-filter:blur(14px)}.header-shell{width:min(calc(100% - 24px),1280px);margin:auto;min-height:68px;padding:0 16px;border-radius:999px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(255,253,244,.84);border:1px solid rgba(229,214,154,.76);box-shadow:0 18px 50px rgba(105,82,0,.08)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 35%,#fffbd9,#ffd84b 58%,#e2a400);color:#7c5b00;font-weight:900;box-shadow:0 14px 28px rgba(247,198,0,.26)}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-text strong{font-size:1rem;letter-spacing:.08em}.brand-text span{font-size:.68rem;letter-spacing:.24em;color:var(--muted);font-weight:800}.nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.nav a{font-size:.9rem;font-weight:900;position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--yellow),#ffec92);transition:.25s}.nav a:hover:after{width:100%}.nav .nav-cta{padding:10px 15px;border-radius:999px;background:linear-gradient(180deg,#ffe887,var(--yellow));box-shadow:0 14px 28px rgba(247,198,0,.24)}
.portal-hero{padding:36px 0 28px}.portal-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:24px;align-items:stretch}.hero-panel{padding:28px;display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:22px;overflow:hidden;position:relative}.hero-panel:before{content:"";position:absolute;right:-120px;top:-140px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(255,224,75,.44),transparent 70%)}.hero-copy{position:relative;z-index:2}.hero-title{margin:14px 0 14px;font-size:clamp(2.05rem,4vw,4.3rem);line-height:1.13;font-weight:900}.hero-title .top{display:block;font-size:.62em;line-height:1.42}.hero-title .bottom{display:block;color:var(--deep);text-shadow:0 5px 0 rgba(255,244,185,.72),0 18px 32px rgba(247,198,0,.18)}.hero-panel p{margin:0;color:#504733;font-weight:650}.hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:20px;max-width:520px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.tag{padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid var(--line);font-weight:900;color:#735900;font-size:.82rem}.hero-photo{position:relative;z-index:2;border-radius:28px;overflow:hidden;min-height:315px;box-shadow:var(--shadow2);transform:rotate(2deg)}.hero-photo img{width:100%;height:100%;object-fit:cover}.dashboard{display:grid;gap:16px}.today-widget{padding:14px;display:grid;grid-template-columns:150px 1fr;gap:15px;align-items:center}.today-widget .thumb{height:124px;border-radius:22px;overflow:hidden}.today-widget img{width:100%;height:100%;object-fit:cover}.today-widget h3{margin:0 0 5px;font-size:1.18rem}.today-widget p{margin:0;color:var(--muted);font-size:.92rem;font-weight:650}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{padding:16px;text-align:center}.stat strong{display:block;font-size:1.55rem;line-height:1;color:#9f7400}.stat span{font-size:.78rem;color:var(--muted);font-weight:900}.quick-hub{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.quick-card{padding:18px;border-radius:24px;min-height:132px;transition:.25s ease;position:relative;overflow:hidden}.quick-card:before{content:"";position:absolute;right:-34px;bottom:-38px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(255,221,80,.5),transparent 70%)}.quick-card:hover{transform:translateY(-5px);box-shadow:var(--shadow2)}.quick-card .qicon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#fff4ae,var(--yellow));box-shadow:0 10px 20px rgba(123,91,0,.12);font-weight:900;color:#7d5a00}.quick-card h3{margin:12px 0 4px;font-size:1.05rem}.quick-card p{margin:0;color:var(--muted);font-size:.86rem;font-weight:650;line-height:1.55}
.portal-main{padding-top:36px}.portal-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.main-stack{display:grid;gap:26px}.portal-card{padding:18px}.portal-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.portal-card-head h2{margin:0;font-size:1.48rem}.small-link{font-weight:900;color:#8b6600}.tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tile{border-radius:22px;overflow:hidden;background:rgba(255,255,255,.7);border:1px solid rgba(226,203,116,.48)}.tile-img{aspect-ratio:4/3;overflow:hidden}.tile-img img{width:100%;height:100%;object-fit:cover;transition:.7s}.tile:hover img{transform:scale(1.05)}.tile-copy{padding:13px}.tile-copy strong{display:block;font-size:.98rem}.tile-copy span{display:block;color:var(--muted);font-size:.82rem;font-weight:650;margin-top:3px}.timeline-list{display:grid;gap:14px}.timeline-row{display:grid;grid-template-columns:118px 1fr auto;gap:14px;align-items:center;padding:12px;border-radius:22px;background:rgba(255,255,255,.68);border:1px solid rgba(226,203,116,.46)}.timeline-row img{width:118px;height:88px;border-radius:16px;object-fit:cover}.timeline-row strong{display:block}.timeline-row p{margin:4px 0 0;color:var(--muted);font-size:.9rem;font-weight:650}.kind{padding:6px 10px;border-radius:999px;background:#fff8d7;border:1px solid rgba(226,203,116,.5);font-size:.76rem;font-weight:900;color:#735900;white-space:nowrap}.side-stack{position:sticky;top:98px;display:grid;gap:18px}.side-card{padding:20px}.side-card h3{margin:0 0 10px;font-size:1.22rem}.side-card p{margin:0;color:var(--muted);font-weight:650}.post-mini{display:grid;gap:10px;margin-top:14px}.post-step{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:10px;border-radius:16px;background:rgba(255,255,255,.7);border:1px solid rgba(226,203,116,.46);font-weight:800}.num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#fff4ae,var(--yellow));color:#806000;font-weight:900}.map-mini{display:grid;grid-template-columns:90px 1fr;gap:12px;align-items:center;margin-top:12px}.map-mini img{width:90px;height:90px;border-radius:20px;object-fit:cover}.rule{margin-top:14px;padding:14px;border-radius:18px;background:#fff8d7;border:1px solid rgba(226,203,116,.5);font-size:.86rem;font-weight:700;color:#5a513c}.zine-banner{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:center}.zine-banner .image{height:170px;border-radius:24px;overflow:hidden}.zine-banner img{width:100%;height:100%;object-fit:cover}.zine-banner h2{margin:0 0 8px;font-size:1.5rem}.zine-banner p{margin:0 0 14px;color:var(--muted);font-weight:650}.bottom-nav{display:none}.footer{padding:46px 0 64px}.footer-card{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;padding:22px 24px;border-radius:28px}.footer-card strong{font-size:1.08rem}.footer-card p{margin:4px 0 0;color:var(--muted);font-weight:650}.footer-links{display:flex;gap:10px;flex-wrap:wrap}.footer-links a{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.86);border:1px solid var(--line);font-weight:800}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:1120px){.portal-grid,.portal-layout{grid-template-columns:1fr}.side-stack{position:relative;top:auto}.quick-hub{grid-template-columns:repeat(2,1fr)}.hero-panel{grid-template-columns:1fr}.hero-photo{min-height:320px;transform:none}.tile-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){body{padding-bottom:78px}.site-header{position:static}.header-shell{border-radius:26px;min-height:auto;padding:14px 16px;align-items:flex-start;flex-direction:column}.nav{display:none}.container{width:min(calc(100% - 24px),var(--max))}.portal-hero{padding:20px 0 16px}.hero-panel{padding:20px;border-radius:26px}.hero-title{font-size:clamp(2rem,13vw,3.35rem);margin:12px 0}.hero-title .top{font-size:.58em}.hero-panel p{font-size:.92rem;line-height:1.8}.hero-actions{grid-template-columns:1fr;gap:10px}.hero-actions .btn:nth-child(4){display:none}.hero-photo{min-height:auto;aspect-ratio:4/3;border-radius:22px}.today-widget{grid-template-columns:104px 1fr;padding:12px}.today-widget .thumb{height:92px;border-radius:18px}.stats-grid{grid-template-columns:repeat(3,1fr);gap:9px}.stat{padding:12px 6px}.stat strong{font-size:1.25rem}.quick-hub{grid-template-columns:repeat(2,1fr);gap:10px}.quick-card{min-height:118px;padding:14px}.quick-card h3{font-size:.98rem}.quick-card p{font-size:.78rem}.section{padding:54px 0}.portal-main{padding-top:20px}.section-head{align-items:start;flex-direction:column;margin-bottom:18px}.tile-grid{grid-template-columns:1fr}.timeline-row{grid-template-columns:92px 1fr;gap:12px}.timeline-row img{width:92px;height:76px}.timeline-row .kind{grid-column:2;justify-self:start}.zine-banner{grid-template-columns:1fr}.zine-banner .image{height:auto;aspect-ratio:4/3}.bottom-nav{position:fixed;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:120;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:7px;border-radius:24px;background:rgba(255,253,244,.92);border:1px solid rgba(226,203,116,.72);box-shadow:0 16px 42px rgba(94,72,0,.18);backdrop-filter:blur(16px)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border-radius:18px;font-size:.68rem;font-weight:900;color:#665638}.bottom-nav a span{font-size:1.05rem;line-height:1}.bottom-nav .active{background:linear-gradient(180deg,#fff1a8,var(--yellow));color:#5a4000}.footer{padding-bottom:96px}}

/* === TECH-MORI HERO v1: kinetic glass portal hero === */
.tech-hero{position:relative;min-height:calc(100svh - 74px);padding:34px 0 28px;overflow:clip;isolation:isolate;background:radial-gradient(circle at 15% 20%,rgba(255,245,188,.9),transparent 24%),radial-gradient(circle at 86% 10%,rgba(255,224,120,.32),transparent 24%),linear-gradient(120deg,#fffdf8 0%,#fff9ea 55%,#fff1d0 100%)}
.tech-hero:before{content:"";position:absolute;inset:-15%;z-index:-3;background:url('../img/hero_tech_blur.webp') center/cover no-repeat;opacity:.38;filter:saturate(1.2) blur(18px);transform:scale(1.04);animation:heroBreath 12s ease-in-out infinite}
.tech-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,253,246,.96) 0%,rgba(255,253,246,.9) 31%,rgba(255,246,198,.45) 49%,rgba(255,204,0,.1) 100%),radial-gradient(circle at var(--mx,70%) var(--my,30%),rgba(255,255,255,.85),transparent 18%);pointer-events:none}
.tech-canvas{position:absolute;inset:0;z-index:1;opacity:.8;mix-blend-mode:screen;pointer-events:none}.tech-hero-inner{position:relative;z-index:5;width:min(calc(100% - 32px),1320px);margin:auto;display:grid;grid-template-columns:minmax(440px,.9fr) minmax(520px,1.1fr);gap:28px;align-items:center}.tech-copy{position:relative;z-index:10;padding:28px 0 20px}.tech-logo-row{display:flex;align-items:center;gap:12px;margin-bottom:20px}.tech-logo-mark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 35%,#fffbd4,#ffd233 58%,#e0a200);box-shadow:0 18px 36px rgba(205,151,0,.26);animation:logoSpin 12s linear infinite}.tech-logo-mark:before{content:"✺";font-size:1.55rem;color:#7c5b00}.tech-logo-text strong{display:block;letter-spacing:.16em;font-size:1.08rem}.tech-logo-text span{display:block;letter-spacing:.28em;color:var(--muted);font-weight:800;font-size:.64rem}.tech-kicker{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.68);border:1px solid rgba(255,230,122,.85);box-shadow:0 14px 34px rgba(122,89,0,.12);backdrop-filter:blur(14px);color:#765b00;font-size:.92rem;font-weight:900;letter-spacing:.04em}.tech-title{margin:20px 0 18px;font-weight:900;line-height:1.08;letter-spacing:.04em;font-size:clamp(2.55rem,5.2vw,6.4rem)}.tech-title .top{display:block;font-size:.58em;line-height:1.42;color:#2e281b}.tech-title .bottom{display:block;margin-top:.14em;color:#d09300;text-shadow:0 5px 0 rgba(255,246,198,.86),0 22px 48px rgba(247,198,0,.26);background:linear-gradient(180deg,#f6bd00,#d18b00);-webkit-background-clip:text;background-clip:text}.tech-lead{margin:0;max-width:670px;color:#4d4430;font-weight:700;line-height:1.9;text-shadow:0 1px 0 rgba(255,255,255,.7)}.tech-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:610px;margin-top:24px}.tech-actions .btn:nth-child(3){grid-column:1/2}.tech-hashtags{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.tech-tag{padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(226,203,116,.72);box-shadow:0 10px 24px rgba(122,89,0,.08);color:#735900;font-size:.86rem;font-weight:900;backdrop-filter:blur(10px)}.live-pill{margin-top:22px;display:inline-flex;align-items:center;gap:11px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.62);border:1px solid rgba(226,203,116,.64);box-shadow:0 16px 40px rgba(122,89,0,.1);backdrop-filter:blur(14px);font-weight:800;color:#5f5130;font-size:.84rem}.live-dot{width:9px;height:9px;border-radius:50%;background:#ff4f76;box-shadow:0 0 0 6px rgba(255,79,118,.12);animation:pulseDot 1.6s ease-in-out infinite}.avatar-row{display:flex;margin-left:4px}.mini-avatar{width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.9);margin-left:-7px;background:linear-gradient(180deg,#fff5b5,#f7c600)}
.tech-visual{position:relative;min-height:760px;perspective:1200px;transform-style:preserve-3d}.hero-stage{position:absolute;inset:4% -3% 3% -1%;border-radius:48px;overflow:hidden;box-shadow:0 44px 110px rgba(150,105,0,.24),inset 0 0 0 1px rgba(255,255,255,.35);transform:rotate(1.3deg);transition:transform .18s ease}.hero-stage img{width:100%;height:100%;object-fit:cover;filter:saturate(1.04) contrast(1.02)}.hero-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 24% 20%,rgba(255,255,255,.54),transparent 24%),linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,214,37,.2));mix-blend-mode:screen;pointer-events:none}.hero-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.22) 44%,transparent 48%);transform:translateX(-120%);animation:heroShine 6s ease-in-out infinite}.motion-ribbon{position:absolute;z-index:8;width:620px;height:92px;border-radius:999px;background:linear-gradient(90deg,rgba(255,189,0,.0),rgba(255,209,32,.72),rgba(255,248,184,.86),rgba(255,194,0,.0));filter:blur(.3px);box-shadow:0 0 48px rgba(255,210,25,.44);opacity:.82;pointer-events:none;animation:ribbonFloat 6.5s ease-in-out infinite}.motion-ribbon.r1{left:-110px;bottom:98px;transform:rotate(-18deg)}.motion-ribbon.r2{right:-170px;top:92px;transform:rotate(20deg);animation-delay:-3s}.orbit{position:absolute;inset:10% 6% 8% 2%;z-index:12;pointer-events:none;animation:orbitTilt 9s ease-in-out infinite}.glass-feature{position:absolute;width:250px;border-radius:24px;background:rgba(255,255,255,.72);border:1px solid rgba(255,235,157,.82);box-shadow:0 22px 50px rgba(101,74,0,.16);backdrop-filter:blur(16px);padding:10px;display:grid;grid-template-columns:78px 1fr 28px;gap:10px;align-items:center;animation:floatY 5.4s ease-in-out infinite}.glass-feature img{width:78px;height:58px;border-radius:15px;object-fit:cover}.glass-feature strong{display:block;font-size:.92rem}.glass-feature span{display:block;color:#806400;font-size:.73rem;font-weight:800}.glass-feature i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#fff5ad,var(--yellow));font-style:normal;color:#7d5a00}.gf1{right:0;top:3%;transform:rotate(6deg)}.gf2{right:4%;top:28%;transform:rotate(-3deg);animation-delay:-1.5s}.gf3{right:1%;top:54%;transform:rotate(4deg);animation-delay:-3.2s}.stat-row{position:absolute;z-index:13;left:18%;right:1%;bottom:2%;display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.hero-stat{min-height:112px;border-radius:22px;background:rgba(255,255,255,.68);border:1px solid rgba(255,235,157,.82);box-shadow:0 24px 55px rgba(101,74,0,.14);backdrop-filter:blur(16px);padding:15px;position:relative;overflow:hidden;animation:riseLoop 6s ease-in-out infinite}.hero-stat:nth-child(2){animation-delay:-1.7s}.hero-stat:nth-child(3){animation-delay:-3.4s}.hero-stat small{display:flex;align-items:center;gap:6px;color:#806400;font-weight:900;letter-spacing:.04em}.hero-stat strong{display:block;color:#8e6600;font-size:2rem;line-height:1.05;margin:6px 0 2px}.hero-stat span{color:#5e543d;font-size:.78rem;font-weight:800}.bar-mini{display:flex;gap:4px;align-items:end;position:absolute;right:15px;bottom:15px}.bar-mini b{display:block;width:6px;border-radius:999px;background:linear-gradient(180deg,#ffe886,#f7c600)}.bar-mini b:nth-child(1){height:15px}.bar-mini b:nth-child(2){height:24px}.bar-mini b:nth-child(3){height:34px}.bar-mini b:nth-child(4){height:46px}.tech-quick-hub{position:relative;z-index:10;width:min(calc(100% - 32px),1320px);margin:10px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.tech-quick-hub .quick-card{background:rgba(255,255,255,.72);backdrop-filter:blur(16px);border-color:rgba(255,232,142,.8);box-shadow:0 20px 60px rgba(120,88,0,.1)}.spark{position:absolute;z-index:14;color:#fff8ce;text-shadow:0 0 16px rgba(255,210,0,.9);animation:twinkle 2.8s ease-in-out infinite;pointer-events:none}.spark.s1{left:45%;top:10%;font-size:1.8rem}.spark.s2{left:73%;top:17%;font-size:1.2rem;animation-delay:-1s}.spark.s3{left:58%;bottom:14%;font-size:1.4rem;animation-delay:-2s}.scroll-cue{position:absolute;z-index:14;left:50%;bottom:14px;transform:translateX(-50%);display:grid;place-items:center;gap:5px;color:#8a6500;font-weight:900;font-size:.72rem;letter-spacing:.08em;opacity:.9}.scroll-cue:before{content:"";width:26px;height:40px;border:2px solid rgba(138,101,0,.45);border-radius:999px;background:rgba(255,255,255,.4)}.scroll-cue:after{content:"";position:absolute;top:10px;width:5px;height:8px;border-radius:999px;background:#d19500;animation:scrollDot 1.6s ease-in-out infinite}
@keyframes heroBreath{0%,100%{transform:scale(1.04)}50%{transform:scale(1.09)}}@keyframes heroShine{0%,45%{transform:translateX(-120%)}65%,100%{transform:translateX(120%)}}@keyframes logoSpin{to{transform:rotate(360deg)}}@keyframes pulseDot{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}@keyframes ribbonFloat{0%,100%{translate:0 0;opacity:.65}50%{translate:24px -18px;opacity:1}}@keyframes orbitTilt{0%,100%{transform:rotateZ(0deg) translateY(0)}50%{transform:rotateZ(-1.2deg) translateY(-10px)}}@keyframes floatY{0%,100%{translate:0 0}50%{translate:0 -14px}}@keyframes riseLoop{0%,100%{translate:0 0}50%{translate:0 -8px}}@keyframes twinkle{0%,100%{opacity:.35;transform:scale(.82) rotate(0deg)}50%{opacity:1;transform:scale(1.18) rotate(18deg)}}@keyframes scrollDot{0%{translate:0 0;opacity:0}35%{opacity:1}100%{translate:0 14px;opacity:0}}
@media(max-width:1180px){.tech-hero{min-height:auto}.tech-hero-inner{grid-template-columns:1fr}.tech-visual{min-height:640px}.hero-stage{inset:0;transform:none}.tech-quick-hub{grid-template-columns:repeat(2,1fr)}.stat-row{left:2%;right:2%}.glass-feature{width:230px}.tech-hero:after{background:linear-gradient(180deg,rgba(255,253,246,.98) 0%,rgba(255,253,246,.85) 36%,rgba(255,240,169,.36) 65%,rgba(255,204,0,.14) 100%)}}
@media(max-width:760px){.tech-hero{padding:22px 0 18px;min-height:auto}.tech-hero-inner{width:min(calc(100% - 24px),1320px);gap:16px}.tech-logo-row{margin-bottom:12px}.tech-logo-mark{width:40px;height:40px}.tech-kicker{font-size:.76rem;padding:8px 12px}.tech-title{font-size:clamp(2.25rem,12.4vw,3.8rem);margin:12px 0}.tech-title .top{font-size:.56em}.tech-lead{font-size:.92rem;line-height:1.78}.tech-actions{grid-template-columns:1fr;gap:10px;margin-top:16px}.tech-actions .btn:nth-child(3){grid-column:auto}.tech-hashtags{gap:7px}.tech-tag{font-size:.76rem;padding:7px 10px}.live-pill{font-size:.75rem;gap:8px;white-space:normal;border-radius:18px}.tech-visual{min-height:500px;margin-top:6px}.hero-stage{border-radius:30px}.hero-stage img{object-position:62% center}.glass-feature{width:190px;grid-template-columns:58px 1fr 24px;border-radius:18px;padding:8px}.glass-feature img{width:58px;height:44px;border-radius:12px}.glass-feature strong{font-size:.78rem}.glass-feature span{display:none}.glass-feature i{width:24px;height:24px}.gf1{right:2%;top:4%}.gf2{right:0;top:24%}.gf3{display:none}.stat-row{grid-template-columns:1fr;left:8px;right:8px;bottom:8px;gap:8px}.hero-stat{min-height:auto;padding:11px 13px;border-radius:17px}.hero-stat strong{font-size:1.28rem;margin:2px 0}.hero-stat span{font-size:.7rem}.bar-mini{display:none}.motion-ribbon{width:360px;height:60px}.motion-ribbon.r1{left:-130px;bottom:110px}.motion-ribbon.r2{right:-160px;top:45px}.tech-quick-hub{width:min(calc(100% - 24px),1320px);grid-template-columns:repeat(2,1fr);gap:10px}.tech-quick-hub .quick-card{min-height:108px;padding:14px}.scroll-cue{display:none}.spark.s1{left:42%;top:42%;font-size:1.2rem}.spark.s2{right:8%;left:auto}.spark.s3{display:none}}


/* === FIX v2: remove baked-in UI cropping conflicts from generated HERO image === */
.hero-stage{background:linear-gradient(135deg,#fff2b8,#f7c600);}
.hero-stage img{object-fit:cover;object-position:center center;transform:scale(1.015);}
.hero-stage .image-shield{display:none}
.hero-stage:before{background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.56),transparent 24%),linear-gradient(90deg,rgba(255,255,255,.10),rgba(255,214,37,.18));}
.tech-visual .baked-ui-guard{position:absolute;z-index:11;left:-1%;right:-1%;bottom:0;height:26%;pointer-events:none;background:linear-gradient(180deg,rgba(255,238,135,0),rgba(255,214,35,.62) 62%,rgba(255,245,196,.88));filter:blur(.2px);border-radius:0 0 48px 48px;}
.stat-row{bottom:4%;}
@media(min-width:1181px){
  .hero-stage{inset:5% -2% 2% 0;}
  .hero-stage img{object-position:center 70%;}
}
@media(max-width:1180px){
  .tech-visual{min-height:600px;}
  .hero-stage{inset:0 0 4% 0;border-radius:42px;}
  .hero-stage img{object-position:center 70%;}
  .tech-visual .baked-ui-guard{height:28%;border-radius:0 0 42px 42px;}
  .stat-row{bottom:5%;}
}
@media(max-width:760px){
  .tech-visual{min-height:500px;}
  .hero-stage{border-radius:30px;}
  .hero-stage img{object-position:center 70%;}
  .tech-visual .baked-ui-guard{height:38%;border-radius:0 0 30px 30px;background:linear-gradient(180deg,rgba(255,238,135,0),rgba(255,222,76,.68) 55%,rgba(255,247,207,.92));}
  .stat-row{bottom:10px;}
}


/* === Yellow Friends / 黄色仲間図鑑 === */
.yellow-friends{padding:54px 0 78px;position:relative;overflow:hidden}
.yellow-friends:before{content:"";position:absolute;inset:auto -12% -20% -12%;height:48%;background:radial-gradient(ellipse at center,rgba(255,218,69,.22),transparent 70%);pointer-events:none}
.friends-shell{position:relative;border-radius:36px;padding:26px;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,247,207,.72));border:1px solid rgba(226,203,116,.62);box-shadow:var(--shadow);backdrop-filter:blur(12px);overflow:hidden}
.friends-shell:after{content:"";position:absolute;inset:-35% auto auto 58%;width:58%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,208,40,.26),transparent 66%);filter:blur(2px);pointer-events:none}
.friends-head{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end;margin-bottom:22px}
.friends-head h2{margin:0;font-size:clamp(1.65rem,2.4vw,2.55rem);line-height:1.25}
.friends-head h2 .accent{color:var(--deep)}
.friends-head p{margin:10px 0 0;color:var(--muted);font-weight:650;max-width:760px}
.friends-note{max-width:380px;padding:14px 16px;border-radius:20px;background:rgba(255,255,255,.72);border:1px solid rgba(226,203,116,.5);color:#5d5138;font-size:.84rem;font-weight:700}
.friends-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr 1fr 1fr;gap:18px}
.friend-card{position:relative;border-radius:28px;padding:20px;background:rgba(255,255,255,.76);border:1px solid rgba(226,203,116,.54);box-shadow:0 18px 42px rgba(123,91,0,.08);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.friend-card:hover{transform:translateY(-5px);box-shadow:0 26px 58px rgba(153,112,0,.14)}
.friend-card:before{content:"";position:absolute;right:-40px;top:-40px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(247,198,0,.24),transparent 66%)}
.friend-card h3{position:relative;margin:0 0 12px;font-size:1.18rem;display:flex;align-items:center;gap:10px}
.friend-card h3 span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#fff4ad,var(--yellow));box-shadow:0 10px 18px rgba(123,91,0,.12)}
.friend-card p{position:relative;margin:0 0 14px;color:var(--muted);font-size:.92rem;font-weight:650}
.friend-chip-list{position:relative;display:flex;gap:9px;flex-wrap:wrap}
.friend-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:rgba(255,249,225,.88);border:1px solid rgba(226,203,116,.52);color:#5f4a00;font-size:.84rem;font-weight:900;box-shadow:0 8px 16px rgba(123,91,0,.06)}
.friend-chip.iconic{background:linear-gradient(180deg,rgba(255,247,193,.95),rgba(255,255,255,.82))}
.friend-card.members{grid-column:span 1}
.friend-card.characters{grid-column:span 1}
.friend-card.icons{grid-row:span 1}
.friends-footer{position:relative;z-index:1;margin-top:18px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:16px 18px;border-radius:22px;background:rgba(255,255,255,.7);border:1px dashed rgba(226,203,116,.7);color:#5d5138;font-weight:750}
.friends-footer strong{color:#7c5e00}
.friends-footer .btn{min-height:44px;padding:0 16px}
@media(max-width:1180px){.friends-grid{grid-template-columns:1fr 1fr}.friend-card.icons{grid-column:span 2}.friends-head{grid-template-columns:1fr}.friends-note{max-width:none}}
@media(max-width:860px){.yellow-friends{padding:28px 0 54px}.friends-shell{border-radius:28px;padding:18px}.friends-grid{grid-template-columns:1fr}.friend-card.icons{grid-column:auto}.friend-card{padding:17px;border-radius:24px}.friend-chip{font-size:.8rem;padding:7px 10px}.friends-footer{align-items:flex-start;flex-direction:column}.friends-footer .btn{width:100%}.friends-head{margin-bottom:16px}.friends-head p{font-size:.92rem}}


/* === Real goods / concert coordinate section === */
.real-concert{padding:42px 0 72px;position:relative}
.real-concert-shell{border-radius:36px;padding:26px;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,247,211,.76));border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden;position:relative}
.real-concert-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:24px;align-items:center;margin-bottom:22px}
.real-concert-head h2{margin:8px 0 12px;font-size:clamp(1.75rem,2.5vw,2.8rem);line-height:1.25}
.real-concert-head p{margin:0;color:var(--muted);font-weight:650}
.real-concert-visual{border-radius:28px;overflow:hidden;border:1px solid rgba(226,203,116,.62);box-shadow:0 18px 42px rgba(123,91,0,.12)}
.real-concert-visual img{width:100%;height:100%;object-fit:cover}
.real-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-items:start}
.real-panel{padding:22px;border-radius:26px;background:rgba(255,255,255,.72);border:1px solid rgba(226,203,116,.56);box-shadow:0 16px 38px rgba(123,91,0,.08)}
.real-panel h3{margin:0 0 12px;font-size:1.3rem}
.real-panel p{margin:0 0 14px;color:var(--muted);font-weight:650}
.real-list{display:grid;gap:10px}
.real-list .row{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start;padding:12px;border-radius:17px;background:rgba(255,249,225,.82);border:1px solid rgba(226,203,116,.46)}
.real-list .mark{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#fff4ad,var(--yellow));font-weight:900;color:#7a5a00}
.real-list strong{display:block;margin-bottom:2px}
.real-list span{display:block;color:var(--muted);font-size:.88rem;font-weight:650}
.real-products{display:grid;gap:10px}
.real-product{padding:13px;border-radius:18px;background:rgba(255,255,255,.78);border:1px solid rgba(226,203,116,.48)}
.real-product strong{display:block;font-size:.95rem}
.real-product span{display:block;color:var(--muted);font-size:.83rem;font-weight:650}
.real-product em{font-style:normal;color:#8b6700;font-weight:900}
.real-note{margin-top:16px;padding:14px 16px;border-radius:18px;background:rgba(255,248,214,.9);border:1px dashed rgba(226,203,116,.72);color:#5a4b2e;font-size:.9rem;font-weight:700}
@media(max-width:1180px){.real-concert-head,.real-grid{grid-template-columns:1fr}}
@media(max-width:860px){.real-concert{padding:28px 0 52px}.real-concert-shell{padding:18px;border-radius:28px}.real-panel{padding:17px;border-radius:22px}.real-list .row{grid-template-columns:28px 1fr}.real-list .mark{width:28px;height:28px}.real-concert-visual{border-radius:22px}}


/* === Real stationery pick === */
.stationery-feature{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);gap:24px;align-items:stretch}
.stationery-hero{position:relative;overflow:hidden;border-radius:28px;background:#fff2ad;min-height:360px}
.stationery-hero img{width:100%;height:100%;object-fit:cover}
.stationery-hero .image-overlay{position:absolute;left:18px;bottom:18px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.86);border:1px solid var(--line);font-size:.84rem;font-weight:900;color:#735900;box-shadow:0 12px 24px rgba(99,76,0,.10)}
.stationery-copy{padding:26px;border-radius:28px;background:rgba(255,255,255,.72);border:1px solid rgba(226,203,116,.55)}
.stationery-copy h3{margin:0 0 12px;font-size:1.54rem;line-height:1.35}
.stationery-copy p{margin:0 0 18px;color:var(--muted);font-weight:650}
.stationery-list{display:grid;gap:12px}
.stationery-item{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:13px 14px;border-radius:18px;background:rgba(255,249,222,.78);border:1px solid rgba(226,203,116,.52)}
.stationery-rank{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#fff3a5,var(--yellow));color:#7b5a00;font-weight:900}
.stationery-item strong{display:block;line-height:1.35}
.stationery-item span{display:block;margin-top:3px;color:var(--muted);font-size:.86rem;font-weight:650}
.stationery-note{margin-top:16px;padding:13px 15px;border-radius:18px;background:rgba(255,255,255,.72);border:1px dashed rgba(226,203,116,.62);color:#5d5138;font-size:.86rem;font-weight:700}
@media(max-width:1180px){.stationery-feature{grid-template-columns:1fr}.stationery-hero{min-height:auto;aspect-ratio:16/10}}
@media(max-width:860px){.stationery-copy{padding:18px}.stationery-item{grid-template-columns:38px 1fr}.stationery-rank{width:38px;height:38px}.stationery-copy h3{font-size:1.28rem}.stationery-hero{border-radius:22px}.stationery-hero .image-overlay{font-size:.76rem;left:12px;bottom:12px}}


/* === Yellow Map service visual === */
.map-service-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:24px;align-items:center}
.map-service-card .map-visual{border-radius:28px;overflow:hidden;background:#e8f4ff;box-shadow:0 22px 52px rgba(75,98,120,.14);border:1px solid rgba(226,203,116,.45)}
.map-service-card .map-visual img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10}
.map-service-copy{padding:22px;border-radius:26px;background:rgba(255,255,255,.72);border:1px solid rgba(226,203,116,.5)}
.map-service-copy h2{margin:0 0 10px;font-size:1.45rem}
.map-service-copy p{margin:0 0 14px;color:var(--muted);font-weight:650}
.map-function-list{display:grid;gap:10px;margin:16px 0}
.map-function-list div{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:12px;border-radius:16px;background:rgba(255,249,225,.78);border:1px solid rgba(226,203,116,.45)}
.map-function-list span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#fff3a5,var(--yellow));color:#7b5a00;font-weight:900}

/* === Stationery actual photo cards === */
.stationery-photo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:20px}
.stationery-photo-card{background:rgba(255,255,255,.78);border:1px solid rgba(226,203,116,.55);border-radius:22px;overflow:hidden;box-shadow:0 14px 34px rgba(123,91,0,.08)}
.stationery-photo-card .photo{aspect-ratio:1/1;background:#fff;display:grid;place-items:center;overflow:hidden}
.stationery-photo-card .photo img{width:100%;height:100%;object-fit:contain}
.stationery-photo-card .body{padding:13px}
.stationery-photo-card strong{display:block;font-size:.9rem;line-height:1.35}
.stationery-photo-card span{display:block;margin-top:6px;font-size:.76rem;color:var(--muted);font-weight:700}
.stationery-feature{display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);gap:24px;align-items:start}
.stationery-hero{position:relative;overflow:hidden;border-radius:28px;background:#fff2ad;min-height:360px}
.stationery-hero img{width:100%;height:100%;object-fit:cover}
.stationery-hero .image-overlay{position:absolute;left:18px;bottom:18px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid var(--line);font-size:.84rem;font-weight:900;color:#735900;box-shadow:0 12px 24px rgba(99,76,0,.10)}
.stationery-copy{padding:24px;border-radius:28px;background:rgba(255,255,255,.72);border:1px solid rgba(226,203,116,.55)}
.stationery-copy h3{margin:0 0 12px;font-size:1.54rem;line-height:1.35}
.stationery-copy p{margin:0 0 18px;color:var(--muted);font-weight:650}
.stationery-list{display:grid;gap:12px}
.stationery-item{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:13px 14px;border-radius:18px;background:rgba(255,249,222,.78);border:1px solid rgba(226,203,116,.52)}
.stationery-rank{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#fff3a5,var(--yellow));color:#7b5a00;font-weight:900}
.stationery-item strong{display:block;line-height:1.35}
.stationery-item span{display:block;margin-top:3px;color:var(--muted);font-size:.86rem;font-weight:650}
.stationery-note{margin-top:16px;padding:13px 15px;border-radius:18px;background:rgba(255,255,255,.72);border:1px dashed rgba(226,203,116,.62);color:#5d5138;font-size:.86rem;font-weight:700}

/* === Concert goods route cards === */
.goods-route-card{padding:20px;border-radius:24px;background:linear-gradient(135deg,rgba(255,249,222,.92),rgba(255,255,255,.78));border:1px solid rgba(226,203,116,.55)}
.goods-route-card h3{margin:0 0 8px}
.goods-route-card p{margin:0 0 14px;color:var(--muted);font-weight:650}
.goods-route-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:1180px){.map-service-card,.stationery-feature{grid-template-columns:1fr}.stationery-photo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.stationery-photo-grid{grid-template-columns:repeat(2,1fr)}.map-service-copy,.stationery-copy{padding:18px}.map-service-card .map-visual img{aspect-ratio:4/3}}


.goods-feature{margin-top:24px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:22px;align-items:center;padding:18px;border-radius:28px;background:rgba(255,255,255,.72);border:1px solid rgba(226,203,116,.55)}
.goods-feature-image{border-radius:24px;overflow:hidden;background:#fff2ad;box-shadow:0 16px 38px rgba(123,91,0,.10)}
.goods-feature-image img{width:100%;display:block}
.goods-feature-copy{padding:12px}
.goods-feature-copy h3{margin:8px 0 10px;font-size:1.45rem}
.goods-feature-copy p{margin:0 0 16px;color:var(--muted);font-weight:650}
@media(max-width:860px){.goods-feature{grid-template-columns:1fr;padding:12px}.goods-feature-copy{padding:6px}}


/* === Kikki IP layer, keeping oshi-katsu as main === */
.kikki-memo{display:flex;gap:12px;align-items:flex-start;margin:16px 0;padding:14px 16px;border-radius:20px;background:linear-gradient(135deg,rgba(255,247,203,.92),rgba(255,255,255,.72));border:1px dashed rgba(226,203,116,.8);color:#5d5138;font-weight:750}
.kikki-mini{width:42px;height:42px;border-radius:50% 50% 46% 46%;background:radial-gradient(circle at 34% 28%,#fff9b6,#ffd84d 58%,#f2b84b);box-shadow:0 12px 24px rgba(123,91,0,.14);position:relative;flex:0 0 42px}
.kikki-mini:before,.kikki-mini:after{content:"";position:absolute;top:18px;width:5px;height:5px;border-radius:50%;background:#4a3a22}
.kikki-mini:before{left:13px}.kikki-mini:after{right:13px}
.kikki-mini .pencil{position:absolute;right:-7px;bottom:2px;width:8px;height:30px;border-radius:4px;background:#c99a2e;transform:rotate(-22deg);box-shadow:inset 0 5px #fff3a3}
.kikki-memo strong{display:block;color:#7b5a00;margin-bottom:2px}
.kikki-hero-note{margin-top:16px;display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(226,203,116,.62);width:max-content;max-width:100%;box-shadow:0 14px 34px rgba(123,91,0,.08);font-weight:850;color:#6b5300}
.kikki-room-card{margin:28px auto 0;width:min(calc(100% - 32px),1240px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:22px;align-items:center;padding:24px;border-radius:34px;background:linear-gradient(135deg,rgba(255,250,225,.94),rgba(255,255,255,.78));border:1px solid rgba(226,203,116,.62);box-shadow:0 22px 60px rgba(123,91,0,.1)}
.kikki-room-visual{min-height:300px;border-radius:28px;background:radial-gradient(circle at 60% 20%,rgba(255,216,77,.36),transparent 36%),linear-gradient(135deg,#fff7d6,#fffdf6);position:relative;overflow:hidden;border:1px solid rgba(226,203,116,.48)}
.kikki-big{position:absolute;left:50%;top:50%;transform:translate(-50%,-44%);width:150px;height:160px;border-radius:48% 52% 46% 46%;background:radial-gradient(circle at 32% 24%,#fff7b7,#ffd84d 56%,#f2b84b);box-shadow:0 24px 50px rgba(123,91,0,.18)}
.kikki-big:before,.kikki-big:after{content:"";position:absolute;top:66px;width:10px;height:10px;border-radius:50%;background:#4a3a22}.kikki-big:before{left:48px}.kikki-big:after{right:48px}
.kikki-big .mouth{position:absolute;left:68px;top:88px;width:15px;height:8px;border-bottom:3px solid #4a3a22;border-radius:0 0 999px 999px}
.kikki-big .notebook{position:absolute;left:-72px;bottom:18px;width:82px;height:100px;border-radius:10px;background:#fffefa;border:3px solid #c99a2e;transform:rotate(-8deg);box-shadow:0 10px 24px rgba(123,91,0,.12)}
.kikki-big .notebook:after{content:"";position:absolute;left:16px;right:16px;top:28px;height:3px;background:#f2b84b;box-shadow:0 18px 0 #f2b84b,0 36px 0 #f2b84b}
.kikki-big .pencil{position:absolute;right:-50px;bottom:28px;width:14px;height:112px;border-radius:8px;background:#c99a2e;transform:rotate(22deg);box-shadow:inset 0 18px #fff3a3}
.kikki-room-copy h2{margin:0 0 10px;font-size:clamp(1.6rem,2.4vw,2.4rem)}
.kikki-room-copy p{margin:0 0 16px;color:var(--muted);font-weight:650}
.kikki-room-actions{display:flex;gap:10px;flex-wrap:wrap}
.kikki-comment{margin-top:10px;padding:10px 12px;border-radius:14px;background:#fff8d6;border:1px solid rgba(226,203,116,.48);font-size:.84rem;color:#6b5300;font-weight:800}
.kikki-floating{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;align-items:center;gap:10px;padding:10px 12px 10px 10px;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid rgba(226,203,116,.72);box-shadow:0 18px 48px rgba(123,91,0,.14);backdrop-filter:blur(10px)}
.kikki-floating span{font-size:.82rem;font-weight:900;color:#6b5300}
@media(max-width:860px){.kikki-room-card{grid-template-columns:1fr;padding:16px;border-radius:26px}.kikki-room-visual{min-height:230px}.kikki-big{width:120px;height:130px}.kikki-big:before,.kikki-big:after{top:54px}.kikki-big:before{left:38px}.kikki-big:after{right:38px}.kikki-floating{right:10px;bottom:76px}.kikki-floating span{display:none}.kikki-hero-note{border-radius:20px;width:100%}}


/* === Yellow post visual === */
.post-visual{margin:16px 0 18px;padding:16px;border-radius:24px;background:linear-gradient(135deg,rgba(255,248,214,.95),rgba(255,255,255,.8));border:1px solid rgba(226,203,116,.55);box-shadow:0 18px 42px rgba(123,91,0,.1);text-align:center}
.post-visual img{width:100%;max-width:260px;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 18px 34px rgba(123,91,0,.16))}
.post-visual .cap{margin-top:12px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.8);border:1px dashed rgba(226,203,116,.78);color:#6b5300;font-size:.82rem;font-weight:800;line-height:1.7}


/* === Kikki secret ambition layer === */
.secret-ambition-pill{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:9px 13px;border-radius:999px;background:rgba(74,58,34,.86);color:#fff7d6;border:1px solid rgba(255,216,77,.55);font-size:.86rem;font-weight:900;box-shadow:0 16px 36px rgba(74,58,34,.18)}
.secret-ambition-pill .moon{color:#ffd84d}
.ambition-meter{margin-top:16px;padding:15px 16px;border-radius:20px;background:linear-gradient(135deg,rgba(74,58,34,.92),rgba(110,82,18,.88));color:#fff7d6;border:1px solid rgba(255,216,77,.45);box-shadow:0 18px 42px rgba(74,58,34,.18)}
.ambition-meter strong{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px;font-size:.94rem}
.ambition-bar{height:12px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden}
.ambition-bar span{display:block;height:100%;width:7%;border-radius:999px;background:linear-gradient(90deg,#fff3a3,#ffd84d,#f2b84b);box-shadow:0 0 18px rgba(255,216,77,.72)}
.ambition-meter p{margin:9px 0 0;color:#fff2bd;font-size:.84rem;font-weight:750}
.ambition-tag{display:inline-flex;margin:8px 0 10px;padding:7px 11px;border-radius:999px;background:#4a3a22;color:#fff3a3;font-size:.8rem;font-weight:900}
.kikki-secret-box{margin:18px 0;padding:18px 20px;border-radius:24px;background:radial-gradient(circle at 92% 12%,rgba(255,216,77,.42),transparent 32%),linear-gradient(135deg,#4a3a22,#735900);color:#fff7d6;box-shadow:0 22px 54px rgba(74,58,34,.22);border:1px solid rgba(255,216,77,.42)}
.kikki-secret-box strong{display:block;color:#ffd84d;margin-bottom:7px;font-size:1.02rem}
.kikki-secret-box p{margin:0;color:#fff4c6;font-weight:750}
.map-progress-chip{display:flex;gap:10px;align-items:center;margin:14px 0;padding:12px 14px;border-radius:18px;background:#fff8d6;border:1px dashed rgba(201,154,46,.58);font-weight:850;color:#6b5300}
.map-progress-chip b{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(180deg,#fff3a3,#ffd84d);color:#735900}
.room-secret-section{padding:42px 0}
.room-secret-card{border-radius:32px;padding:28px;background:radial-gradient(circle at 85% 12%,rgba(255,216,77,.38),transparent 30%),linear-gradient(135deg,#4a3a22,#735900);color:#fff7d6;box-shadow:0 26px 70px rgba(74,58,34,.25);border:1px solid rgba(255,216,77,.45)}
.room-secret-card h2{color:#ffd84d}
.room-secret-card p{color:#fff4c6;font-weight:750}
.secret-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.secret-list div{padding:14px;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,216,77,.28);font-weight:850}
@media(max-width:900px){.secret-list{grid-template-columns:1fr 1fr}.secret-ambition-pill{border-radius:18px;align-items:flex-start}.room-secret-card{padding:20px}}
@media(max-width:560px){.secret-list{grid-template-columns:1fr}}


/* === Mobile fix for YELLOW PICK === */
@media(max-width:860px){
  #pick.portal-card,
  section#pick.card{
    padding:14px !important;
    overflow:hidden !important;
    max-width:100% !important;
  }
  #pick .portal-card-head{
    display:block !important;
    margin-bottom:14px !important;
  }
  #pick .portal-card-head h2{
    font-size:1.24rem !important;
    line-height:1.45 !important;
    word-break:keep-all !important;
    overflow-wrap:anywhere !important;
  }
  #pick .small-link{
    display:inline-flex !important;
    margin-top:8px !important;
  }
  #pick .stationery-feature{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:14px !important;
    width:100% !important;
    min-width:0 !important;
  }
  #pick .stationery-hero{
    min-height:0 !important;
    aspect-ratio:16/10 !important;
    border-radius:20px !important;
    width:100% !important;
  }
  #pick .stationery-hero img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
  #pick .stationery-hero .image-overlay{
    left:10px !important;
    right:10px !important;
    bottom:10px !important;
    width:auto !important;
    max-width:calc(100% - 20px) !important;
    font-size:.68rem !important;
    line-height:1.35 !important;
    white-space:normal !important;
    border-radius:14px !important;
  }
  #pick .stationery-copy{
    padding:14px !important;
    border-radius:20px !important;
    min-width:0 !important;
    width:100% !important;
  }
  #pick .stationery-copy h3{
    font-size:1.2rem !important;
    line-height:1.35 !important;
  }
  #pick .stationery-copy p,
  #pick .stationery-item span,
  #pick .kikki-comment,
  #pick .stationery-note{
    font-size:.82rem !important;
    line-height:1.65 !important;
  }
  #pick .stationery-list{
    gap:10px !important;
  }
  #pick .stationery-item{
    grid-template-columns:34px minmax(0,1fr) !important;
    gap:10px !important;
    padding:12px !important;
    border-radius:16px !important;
    min-width:0 !important;
  }
  #pick .stationery-rank{
    width:34px !important;
    height:34px !important;
    font-size:.9rem !important;
  }
  #pick .stationery-item strong{
    font-size:.9rem !important;
    line-height:1.45 !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }
  #pick .kikki-memo{
    display:grid !important;
    grid-template-columns:34px minmax(0,1fr) !important;
    gap:10px !important;
    padding:12px !important;
    border-radius:16px !important;
  }
  #pick .kikki-mini{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
  }
  #pick .kikki-mini:before,
  #pick .kikki-mini:after{
    top:14px !important;
  }
  #pick .kikki-mini:before{left:10px !important;}
  #pick .kikki-mini:after{right:10px !important;}
  #pick .stationery-photo-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:10px !important;
    width:100% !important;
    min-width:0 !important;
  }
  #pick .stationery-photo-card{
    border-radius:16px !important;
    min-width:0 !important;
  }
  #pick .stationery-photo-card .body{
    padding:10px !important;
  }
  #pick .stationery-photo-card strong{
    font-size:.78rem !important;
    line-height:1.35 !important;
    overflow-wrap:anywhere !important;
  }
  #pick .stationery-photo-card span{
    font-size:.68rem !important;
    line-height:1.35 !important;
  }
  #pick .goods-feature{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:14px !important;
    padding:12px !important;
    border-radius:20px !important;
    width:100% !important;
    min-width:0 !important;
  }
  #pick .goods-feature-copy{
    padding:4px !important;
    min-width:0 !important;
  }
  #pick .goods-feature-copy h3{
    font-size:1.15rem !important;
    line-height:1.35 !important;
  }
  #pick img{
    max-width:100% !important;
  }
}

@media(max-width:420px){
  #pick .stationery-photo-grid{
    grid-template-columns:minmax(0,1fr) !important;
  }
  #pick .stationery-hero{
    aspect-ratio:4/3 !important;
  }
}

/* === Mobile bottom navigation alignment === */
@media(max-width:760px){
  .bottom-nav{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

/* === Kikki editorial-room hero visual === */
.tech-canvas{
  width:100%;
  height:100%;
}
.tech-hero:before{
  display:none;
}
.hero-stage img{
  display:block;
  object-position:68% center;
  filter:saturate(.98) contrast(1.01);
}

@media(max-width:1180px){
  .hero-stage img{
    object-position:center 26%;
  }
}

@media(max-width:760px){
  .hero-stage img{
    object-position:left center;
  }
}
