:root {
  --paper:#f6f2e9;--paper-deep:#e9e2d6;--ink:#1f1d24;--muted:#706c75;
  --line:rgba(31,29,36,.16);--violet:#654bb6;--violet-deep:#3e2b76;
  --lilac:#d9cef5;--coral:#da654b;--white:#fffdf8;--shadow:0 22px 60px rgba(43,33,73,.12);
  --profile-accent:var(--violet);--profile-accent-deep:var(--violet-deep);
  --serif:"Yu Mincho","Hiragino Mincho ProN","BIZ UDPMincho",serif;
  --sans:"Yu Gothic","Hiragino Kaku Gothic ProN","Noto Sans JP",system-ui,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.75}
body::after{position:fixed;right:-1.5rem;bottom:-3.4rem;z-index:-1;color:rgb(91 61 103/.055);content:"△▼";font-family:var(--serif);font-size:clamp(10rem,27vw,29rem);line-height:1;white-space:nowrap}
body[data-profile="hime-yumeha"]{--paper:#fbf8ff;--paper-deep:#eee7f7;--ink:#2e2736;--muted:#6e6576;--line:rgba(46,39,54,.16);--violet:#8765ad;--violet-deep:#573d73;--lilac:#e6d9f3;--coral:#9b682e;--white:#fffdfb;--shadow:0 22px 60px rgba(73,52,96,.13);--profile-accent:var(--violet);--profile-accent-deep:var(--violet-deep);--angel-wing:url("/assets/hime-yumeha-wing.svg")}
body[data-profile="hime-yumeha"]::after{width:clamp(14rem,22vw,20rem);height:auto;aspect-ratio:525/340;right:1.25rem;bottom:1.25rem;color:transparent;content:"";background:var(--angel-wing) right bottom/contain no-repeat;opacity:.085}
a{color:inherit}.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.masthead{display:flex;align-items:center;justify-content:space-between;min-height:86px;border-bottom:1px solid var(--line)}
.brand{display:flex;gap:14px;align-items:center;text-decoration:none}.brand-mark{display:grid;width:38px;aspect-ratio:1;place-items:center;color:var(--white);border-radius:50%;background:var(--ink);font:700 18px/1 var(--serif)}
.brand-copy{display:grid;line-height:1.25}.brand-copy strong{font:700 17px/1.3 var(--serif)}.brand-copy span,.updated{color:var(--muted);font-size:12px;letter-spacing:.08em}main{padding:48px 0 72px}
.eyebrow{display:flex;gap:10px;align-items:center;margin:0 0 14px;color:var(--violet-deep);font-size:12px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.eyebrow::before{width:28px;height:2px;content:"";background:currentColor}
.hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);min-height:500px;overflow:hidden;color:var(--white);border-radius:34px;background:var(--ink);box-shadow:var(--shadow)}.hero.no-image{grid-template-columns:1fr;min-height:420px}.hero-copy{container-type:inline-size;display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,6vw,76px)}.hero .eyebrow{color:var(--lilac)}.hero h1{margin:0;font:700 min(clamp(42px,6.5vw,82px),16.66cqi)/1.05 var(--serif);letter-spacing:-.045em;white-space:nowrap}.hero-lead{max-width:570px;margin:28px 0 0;color:rgba(255,253,248,.74)}
.hero-visual{--hero-image-gap:clamp(14px,2vw,24px);position:relative;display:flex;min-height:420px;align-items:center;justify-content:center;margin:0;padding:var(--hero-image-gap);background:#0c0d20}.hero-visual[hidden]{display:none}.hero-visual img{display:block;width:100%;height:auto;max-height:100%;object-fit:contain;border-radius:20px;clip-path:inset(0 round 20px)}
.next-strip{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin-top:38px;padding-top:25px;border-top:1px solid rgba(255,255,255,.18)}.next-date{min-width:82px;padding-right:17px;text-align:center;border-right:1px solid rgba(255,255,255,.18)}.next-date strong{display:block;font:700 32px/1 var(--serif)}.next-date small{color:var(--lilac)}.next-copy h2{margin:0;font:700 20px/1.4 var(--serif)}.next-copy p{margin:5px 0;color:rgba(255,253,248,.7);font-size:13px}.hero-links{display:flex;gap:12px;flex-wrap:wrap}.hero-link{font-size:12px;font-weight:700;color:var(--lilac)}
.section{padding-top:90px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:28px}.section h2{margin:0;font:700 clamp(29px,4vw,44px)/1.2 var(--serif)}.section-note{max-width:470px;margin:0;color:var(--muted);font-size:13px}
.calendar-panel{overflow:hidden;border:1px solid var(--line);border-radius:26px;background:rgba(255,253,248,.82);box-shadow:var(--shadow)}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;padding:20px 24px}.calendar-title{display:grid}.calendar-title strong{font:700 20px/1.4 var(--serif)}.calendar-title span{font-size:11px;color:var(--muted)}.calendar-share{padding:9px 15px;color:var(--white);background:var(--ink);border-radius:99px;text-decoration:none;font-size:11px;font-weight:700}
.calendar-toggle{display:flex;width:100%;min-height:48px;padding:8px 18px;justify-content:center;align-items:center;gap:10px;border:0;border-top:1px solid var(--line);color:var(--violet-deep);background:rgba(217,206,245,.18);cursor:pointer;font-size:11px;font-weight:900;letter-spacing:.04em}.calendar-toggle-top{border-top:0;border-bottom:1px solid var(--line)}.calendar-toggle-bottom{border-bottom:0}.calendar-toggle:hover,.calendar-toggle:focus-visible{background:rgba(217,206,245,.38)}.calendar-toggle:disabled{cursor:wait}.toggle-copy{display:grid}.toggle-copy>span{grid-area:1/1;transition:opacity .26s ease,transform .38s cubic-bezier(.22,1,.36,1)}.toggle-label-month{opacity:1;transform:translateY(0)}.toggle-label-close{opacity:0;transform:translateY(7px)}.calendar-panel.is-expanded .toggle-label-month{opacity:0;transform:translateY(-7px)}.calendar-panel.is-expanded .toggle-label-close{opacity:1;transform:translateY(0)}.toggle-chevron{display:inline-block;font-size:16px;line-height:1;transition:transform .4s cubic-bezier(.22,1,.36,1)}.calendar-panel.is-expanded .toggle-chevron{transform:rotate(180deg)}
.calendar-stage{position:relative;overflow:hidden}.calendar-view{width:100%}.calendar-view[hidden]{display:none}.calendar-stage.is-animating{overflow:hidden;will-change:height}.calendar-stage.is-animating .calendar-view{position:absolute;inset:0 0 auto}
.week-head,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line)}.week-head span,.calendar-weekdays span{padding:9px;text-align:center;border-right:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:800}.week-head span:last-child,.calendar-weekdays span:last-child{border-right:0}.week-grid,.calendar-grid{display:block}.calendar-week{--range-lanes:0;position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.day{position:relative;grid-row:1;min-width:0;min-height:210px;padding:12px 10px;border-top:1px solid var(--line);border-right:1px solid var(--line)}.day:nth-child(7n){border-right:0}.calendar-grid .day{min-height:176px}.calendar-day-items{min-width:0;margin-top:calc(var(--range-lanes) * 74px)}.day.is-outside{background:rgba(233,226,214,.34);color:var(--muted)}.day-date{display:grid;width:31px;height:31px;place-items:center;border-radius:50%;font:700 12px/1 var(--serif)}.calendar-grid .day.is-today .day-date{color:var(--white);background:var(--coral)}.week-grid .day.is-past{opacity:.5}.week-grid .day.is-today{margin-block:-1px;color:var(--white);border:0;border-radius:15px;background:var(--violet-deep);box-shadow:0 12px 28px rgba(62,43,118,.24)}.week-grid .day.is-today .day-date,.week-grid .day.is-today .schedule-time{color:var(--lilac)}.week-grid .day.is-today .schedule-entry{color:var(--white);border-left-color:var(--lilac);background:rgba(255,255,255,.1)}.week-grid .day.is-today .schedule-entry:hover,.week-grid .day.is-today .schedule-entry:focus-visible{background:rgba(255,255,255,.18)}.week-grid .day.is-today .schedule-location,.week-grid .day.is-today .schedule-status{color:rgba(255,253,248,.76)}.today-label{position:absolute;top:-12px;right:10px;padding:3px 9px;color:var(--violet-deep);border-radius:99px;background:var(--lilac);font-size:9px;font-weight:900;letter-spacing:.13em}
.schedule-entry{display:block;width:100%;margin-top:9px;padding:9px;border:0;border-left:3px solid var(--violet);border-radius:9px;text-align:left;color:var(--ink);background:rgba(217,206,245,.64);cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.schedule-entry:hover,.schedule-entry:focus-visible{transform:translateY(-2px);background:rgba(217,206,245,.9);box-shadow:0 8px 20px rgba(43,33,73,.12)}.schedule-entry.event{border-color:var(--coral);background:rgba(218,101,75,.12)}.schedule-entry.calendar-range{position:relative;top:calc(var(--range-lane) * 74px);z-index:3;display:grid;grid-row:1;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto;column-gap:8px;align-items:center;align-self:start;width:auto;height:64px;min-width:0;margin:52px 10px 0;padding:6px 9px;overflow:hidden;background:color-mix(in srgb,var(--violet) 20%,var(--paper))}.schedule-entry.calendar-range.event{background:color-mix(in srgb,var(--coral) 15%,var(--paper))}.schedule-entry.calendar-range.event:hover,.schedule-entry.calendar-range.event:focus-visible{background:color-mix(in srgb,var(--coral) 23%,var(--paper))}.schedule-entry.calendar-range.continues-before{margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.schedule-entry.calendar-range.continues-after{margin-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.calendar-range .schedule-title{display:-webkit-box;grid-column:1/4;grid-row:1;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}.calendar-range .schedule-time{grid-column:1;grid-row:2;white-space:nowrap}.calendar-range .schedule-location{grid-column:2;grid-row:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-range .schedule-status{grid-column:3;grid-row:2;text-align:right;white-space:nowrap}.schedule-time{display:block;color:var(--coral);font-size:10px;font-weight:800}.schedule-title{display:block;font:700 12px/1.35 var(--serif);overflow-wrap:anywhere}.schedule-location,.schedule-status{display:block;color:var(--muted);font-size:9px;line-height:1.45}
.event-list{display:grid;gap:16px}.event-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;padding:24px;border:1px solid var(--line);border-radius:22px;background:rgba(255,253,248,.72);transition:opacity .36s ease,transform .45s cubic-bezier(.22,1,.36,1)}.event-card:not(.has-image){grid-template-columns:1fr}.event-card.is-entering{opacity:0;transform:translateY(15px)}.event-card.is-removing{opacity:0;transform:translateY(-12px)}.event-image{min-height:140px;margin:0;overflow:hidden;border-radius:15px;background:var(--paper-deep)}.event-image img{width:100%;height:100%;max-height:230px;object-fit:contain}.event-copy{min-width:0}.event-copy h3{margin:0 0 8px;font:700 21px/1.4 var(--serif)}.event-date{color:var(--coral);font-weight:800}.event-meta{display:flex;gap:8px 20px;flex-wrap:wrap;margin:8px 0;padding:0;list-style:none;color:var(--muted);font-size:12px}.event-description{margin:8px 0;color:#4f4a55;font-size:13px}.event-update{padding:9px 12px;border-radius:8px;background:rgba(218,101,75,.09);font-size:12px}.event-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.event-link{font-size:12px;font-weight:800;color:var(--violet-deep)}.empty{padding:28px;border:1px dashed var(--line);border-radius:18px;color:var(--muted);text-align:center}
.later .event-card{background:rgba(233,226,214,.58)}.archive-wrap{padding-top:90px}.archive{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.archive summary{display:flex;justify-content:space-between;align-items:center;padding:25px 4px;cursor:pointer;list-style:none}.archive summary span:first-child{display:grid}.archive summary strong{font:700 24px/1.4 var(--serif)}.archive summary small{color:var(--muted)}.archive-toggle{font-size:28px;transition:transform .3s ease}.archive[open] .archive-toggle{transform:rotate(45deg)}.archive-body{padding:0 0 32px}.history-search{display:grid;gap:7px;margin-bottom:18px;color:var(--muted);font-size:12px}.history-search input{max-width:430px;padding:12px 15px;border:1px solid var(--line);border-radius:99px;background:var(--white);font:inherit}.footer{display:flex;justify-content:space-between;gap:25px;padding:28px 0 40px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.footer p{margin:0}.footer a{font-weight:800;color:var(--violet-deep)}
.schedule-popover{position:fixed;z-index:20;width:min(410px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 32px));overflow:auto;padding:22px;border:1px solid var(--line);border-radius:20px;background:rgba(255,253,248,.98);box-shadow:0 28px 80px rgba(31,29,36,.26);opacity:0;transform:translateY(10px) scale(.97);pointer-events:none;transition:opacity .25s ease,transform .35s cubic-bezier(.22,1,.36,1);will-change:left,top,opacity,transform}.schedule-popover.is-open{opacity:1;transform:none;pointer-events:auto}.popover-close{float:right;width:31px;height:31px;border:0;border-radius:50%;background:var(--paper-deep);cursor:pointer}.popover-date{color:var(--coral);font-weight:800}.schedule-popover h3{margin:5px 38px 8px 0;font:700 22px/1.4 var(--serif)}.popover-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:11px}.popover-description{font-size:13px}.popover-update{padding:10px;border-radius:9px;background:rgba(218,101,75,.1);font-size:12px}.popover-image{margin:15px 0 0;overflow:hidden;border-radius:13px;background:var(--paper-deep)}.popover-image img{width:100%;max-height:330px;object-fit:contain}.popover-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.popover-links a{padding:7px 11px;border-radius:99px;background:rgba(217,206,245,.3);font-size:11px;font-weight:700}
@media(min-width:761px){.keep-line-wide{max-width:none;white-space:nowrap}}
@media(max-width:760px){.shell{width:min(100% - 24px,1180px)}.masthead{min-height:72px}main{padding-top:26px}.updated{display:none}.hero{grid-template-columns:1fr;min-height:0;border-radius:24px}.hero-visual{--hero-image-gap:12px;order:-1;min-height:260px}.hero-visual img{border-radius:16px;clip-path:inset(0 round 16px)}.hero-copy{padding:30px 24px 35px}.section{padding-top:64px}.section-head{display:grid;gap:12px}.calendar-toolbar{padding:15px}.calendar-share{padding:7px 10px}.week-head,.calendar-weekdays{display:grid}.day{padding:7px 5px;min-height:160px}.week-grid .day.is-today{margin-inline:-5px;padding-inline:15px}.calendar-grid .day{min-height:145px}.schedule-entry{padding:6px 4px}.schedule-entry.calendar-range{margin-inline:5px;padding-inline:6px;column-gap:4px}.schedule-entry.calendar-range.continues-before{margin-left:0}.schedule-entry.calendar-range.continues-after{margin-right:0}.schedule-location,.schedule-status{font-size:8px}.schedule-title{font-size:10px}.event-card,.event-card.has-image{grid-template-columns:1fr;padding:20px}.event-image{min-height:180px}.footer{display:grid}.schedule-popover{left:16px!important;right:16px!important;bottom:16px!important;top:auto!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
