/* Scoped styles. Do not alter the official site's tabs, menu or footer. */
.imlog-diary-host{box-sizing:border-box!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;left:0!important;top:0!important;margin:0 auto!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.imlog-diary,.imd-overlay{--imd-accent:#e65a8a;--imd-soft:#fff2f6;--imd-text:#403840;--imd-muted:#81747a;--imd-line:#efdae2;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--imd-text);font-size:14px;line-height:1.5;letter-spacing:normal;text-align:left;box-sizing:border-box;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.imlog-diary[data-shop="tokumei"],.imd-overlay[data-shop="tokumei"]{--imd-accent:#755441;--imd-soft:#f8f0e8;--imd-line:#e9d9cb}
.imlog-diary[data-shop="natural"],.imd-overlay[data-shop="natural"]{--imd-accent:#6d8977;--imd-soft:#f0f6f1;--imd-line:#dbe7de}
.imlog-diary *, .imd-overlay *{box-sizing:border-box}
.imlog-diary{display:block;width:100%;max-width:100%;padding:10px;background:#fff;border:1px solid #868686;border-radius:0;box-shadow:none}
/* Only restore the containing pane while this diary tab is active. */
#tabcontent.imd-diary-active{border:1px solid #868686!important;border-radius:0!important;box-shadow:none!important}
.imlog-diary.imd-in-tab{border:0}
/* Cast-page diary only. Store-wide tabs and non-diary tabs keep their border. */
.imlog-diary.imd-cast-feed,.diary_block .imlog-diary{border:0!important}
#tabcontent.imd-diary-active.imd-cast-diary-active{border:0!important}
.imlog-diary [hidden],.imd-overlay [hidden],.imd-overlay[hidden]{display:none!important}
.imlog-diary button,.imd-overlay button{font-family:inherit;font-size:inherit;line-height:1.45;letter-spacing:normal;-webkit-appearance:none;appearance:none;touch-action:manipulation;cursor:pointer}
/* Pointer/programmatic focus must not leave pink rings around the close icon
   or the card. Keep a neutral, explicit indicator for keyboard navigation. */
.imlog-diary,.imd-overlay,.imlog-diary button,.imd-overlay button,.imd-overlay a{-webkit-tap-highlight-color:transparent}
.imlog-diary:focus,.imlog-diary button:focus,.imd-overlay button:focus,.imd-overlay a:focus,.imd-overlay .imd-dialog:focus,.imd-overlay .imd-modal-scroll:focus{outline:none!important;box-shadow:none!important}
.imlog-diary[data-imd-input="keyboard"]:focus,.imlog-diary[data-imd-input="keyboard"] button:focus,.imd-overlay[data-imd-input="keyboard"] button:focus,.imd-overlay[data-imd-input="keyboard"] a:focus,.imd-overlay[data-imd-input="keyboard"] .imd-modal-scroll:focus{outline:2px solid #626b76!important;outline-offset:-3px}
.imd-grid-stage{position:relative;width:100%;min-width:0}
.imd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px;width:100%;align-items:start}
.imlog-diary[data-imd-layout="mobile-grid"] .imd-grid{grid-template-columns:repeat(var(--imd-mobile-columns,2),minmax(0,1fr))}
.imlog-diary[data-imd-layout="pc-grid"] .imd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.imlog-diary[data-imd-layout="mobile-swipe"] .imd-grid{display:grid;grid-template-columns:none;grid-template-rows:repeat(var(--imd-mobile-swipe-rows,1),auto);grid-auto-flow:column;grid-auto-columns:var(--imd-mobile-swipe-column,100%);gap:10px 10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding:0 0 6px;touch-action:pan-x pan-y}
.imlog-diary[data-imd-layout="mobile-swipe"] .imd-card{scroll-snap-align:start;scroll-snap-stop:always}
.imlog-diary[data-imd-layout="pc-swipe"] .imd-grid{display:grid;grid-template-columns:none;grid-template-rows:repeat(var(--imd-pc-per-column,5),auto);grid-auto-flow:column;grid-auto-columns:minmax(190px,220px);gap:14px 10px;width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding:0 0 8px;touch-action:pan-x pan-y;scrollbar-gutter:stable}
.imlog-diary[data-imd-layout="pc-swipe"] .imd-card{scroll-snap-align:start}
.imlog-diary[data-imd-layout="mobile-swipe"] .imd-grid:focus,.imlog-diary[data-imd-layout="pc-swipe"] .imd-grid:focus{outline:none}
.imlog-diary[data-imd-input="keyboard"][data-imd-layout="mobile-swipe"] .imd-grid:focus,.imlog-diary[data-imd-input="keyboard"][data-imd-layout="pc-swipe"] .imd-grid:focus{outline:2px solid #626b76;outline-offset:2px}
.imlog-diary button.imd-swipe-nav{display:none!important;position:absolute!important;top:50%!important;z-index:20!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:32px!important;height:78px!important;min-width:32px!important;min-height:78px!important;max-width:32px!important;max-height:78px!important;margin:0!important;padding:0!important;transform:translateY(-50%)!important;-webkit-appearance:none!important;appearance:none!important;border:0!important;border-radius:2px!important;outline:0!important;background:rgba(225,225,225,.94)!important;color:#333!important;font-family:Arial,"Helvetica Neue",sans-serif!important;font-size:25px!important;font-weight:400!important;line-height:78px!important;text-align:center!important;text-indent:0!important;letter-spacing:0!important;box-shadow:none!important;text-shadow:none!important;opacity:1!important;cursor:pointer!important;overflow:hidden!important}
.imlog-diary[data-imd-layout="pc-swipe"] button.imd-swipe-nav{display:flex!important}.imlog-diary button.imd-swipe-prev{left:0!important}.imlog-diary button.imd-swipe-next{right:0!important}.imlog-diary button.imd-swipe-nav:disabled{opacity:.32!important;cursor:default!important}.imlog-diary button.imd-swipe-nav:not(:disabled):hover{background:rgba(210,210,210,.96)!important;color:#222!important}.imlog-diary button.imd-swipe-nav:focus{outline:0!important;box-shadow:none!important}
.imlog-diary button.imd-card{display:block;position:relative;width:100%;min-width:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--imd-text);text-align:left;box-shadow:none;overflow:hidden}
.imd-square{display:block;position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:0!important;background:var(--imd-soft)}
@supports not (aspect-ratio:1/1){.imd-square{height:0;padding-bottom:100%}}
.imd-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:14px;white-space:pre-line;text-align:center;color:var(--imd-muted);font-size:13px;background:linear-gradient(135deg,var(--imd-soft),#fff)}
.imlog-diary .imd-thumb{display:block;position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover;object-position:center;margin:0;border:0;border-radius:0}
.imlog-diary video.imd-capture-video{position:absolute!important;left:0!important;top:0!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;opacity:0!important;pointer-events:none!important}
.imd-video-badge{position:absolute;left:7px;top:7px;z-index:1;padding:2px 7px;border-radius:3px;background:rgba(35,28,33,.7);color:#fff;font-size:10px;pointer-events:none}
.imd-badge{position:absolute;top:7px;right:7px;z-index:1;padding:2px 7px;border-radius:12px;background:rgba(35,28,33,.7);color:white;font-size:10px}
/* The caption occupies the lower quarter INSIDE the square, not below it. */
.imd-caption{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:1px;height:25%;min-width:0;padding:3px 5px;background:rgba(60,60,60,.68);color:#fff;border:0;border-radius:0;overflow:hidden}
.imd-caption-top{display:flex;align-items:baseline;gap:4px;width:100%;min-width:0}
.imd-name{display:block;flex:1 1 auto;min-width:0;margin:0;color:#fff;font-size:12px;line-height:1.25;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.imd-date{display:block;flex:0 0 auto;margin:0;color:#fff;font-size:10px;line-height:1.25;font-variant-numeric:tabular-nums;white-space:nowrap}
.imd-title{display:block;min-width:0;margin:0;color:#fff;font-size:12px;line-height:1.25;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Three-column mobile cards are too narrow for the two-column caption geometry. Stack name/date/title into fixed rows. */
.imlog-diary[data-imd-layout="mobile-grid"][data-imd-mobile-columns="3"] .imd-grid{gap:12px 6px}
.imlog-diary[data-imd-layout="mobile-grid"][data-imd-mobile-columns="3"] .imd-caption{height:39%;justify-content:center;gap:1px;padding:3px 4px}
.imlog-diary[data-imd-layout="mobile-grid"][data-imd-mobile-columns="3"] .imd-caption-top{display:flex;flex-direction:column;align-items:stretch;gap:0}
.imlog-diary[data-imd-layout="mobile-grid"][data-imd-mobile-columns="3"] .imd-name{font-size:10px;line-height:1.12}
.imlog-diary[data-imd-layout="mobile-grid"][data-imd-mobile-columns="3"] .imd-date{width:100%;font-size:8.5px;line-height:1.12;overflow:hidden;text-overflow:ellipsis}
.imlog-diary[data-imd-layout="mobile-grid"][data-imd-mobile-columns="3"] .imd-title{font-size:10px;line-height:1.12}
/* Swipe rows 3-5 use the same stacked caption idea at progressively smaller card widths. */
.imlog-diary[data-imd-layout="mobile-swipe"][data-imd-mobile-swipe-rows="3"] .imd-caption,.imlog-diary[data-imd-layout="mobile-swipe"][data-imd-mobile-swipe-rows="4"] .imd-caption,.imlog-diary[data-imd-layout="mobile-swipe"][data-imd-mobile-swipe-rows="5"] .imd-caption{height:42%;justify-content:center;gap:0;padding:2px 3px}
.imlog-diary[data-imd-layout="mobile-swipe"][data-imd-mobile-swipe-rows="3"] .imd-caption-top,.imlog-diary[data-imd-layout="mobile-swipe"][data-imd-mobile-swipe-rows="4"] .imd-caption-top,.imlog-diary[data-imd-layout="mobile-swipe"][data-imd-mobile-swipe-rows="5"] .imd-caption-top{display:flex;flex-direction:column;align-items:stretch;gap:0}
.imlog-diary[data-imd-layout="mobile-swipe"][data-imd-mobile-swipe-rows="3"] .imd-name,.imlog-diary[data-imd-layout="mobile-swipe"][data-imd-mobile-swipe-rows="3"] .imd-title{font-size:9px;line-height:1.08}
.imlog-diary[data-imd-layout="mobile-swipe"][data-imd-mobile-swipe-rows="3"] .imd-date{font-size:7.5px;line-height:1.08}
.imlog-diary[data-imd-layout="mobile-swipe"][data-imd-mobile-swipe-rows="4"] .imd-name,.imlog-diary[data-imd-layout="mobile-swipe"][data-imd-mobile-swipe-rows="4"] .imd-title,.imlog-diary[data-imd-layout="mobile-swipe"][data-imd-mobile-swipe-rows="5"] .imd-name,.imlog-diary[data-imd-layout="mobile-swipe"][data-imd-mobile-swipe-rows="5"] .imd-title{font-size:8px;line-height:1.05}
.imlog-diary[data-imd-layout="mobile-swipe"][data-imd-mobile-swipe-rows="4"] .imd-date,.imlog-diary[data-imd-layout="mobile-swipe"][data-imd-mobile-swipe-rows="5"] .imd-date{font-size:7px;line-height:1.05}
.imlog-diary .imd-status,.imd-status{position:static;width:auto;max-width:100%;margin:0;padding:18px 8px;line-height:1.7;color:var(--imd-muted);font-size:13px;text-align:center;overflow-wrap:anywhere}
.imlog-diary .imd-more,.imd-dialog .imd-more{display:block;width:min(240px,100%);min-height:44px;margin:18px auto 4px;padding:10px 16px;color:var(--imd-accent);background:var(--imd-soft);border:1px solid var(--imd-line);border-radius:24px;font-size:13px;font-weight:700}
.imlog-diary button:disabled,.imd-overlay button:disabled{cursor:default;opacity:.45}
.imd-overlay{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px 10px;background:rgba(25,20,26,.68);overscroll-behavior:none}
.imd-dialog{position:relative;display:flex;flex-direction:column;width:100%;max-width:600px;height:92vh;height:92dvh;max-height:960px;min-height:0;margin:auto;border:0;border-radius:16px;background:#fff;box-shadow:0 15px 65px rgba(0,0,0,.3);overflow:hidden}
.imd-modal-head{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px 4px 18px;border-bottom:1px solid var(--imd-line);background:#fff}
.imd-mode{position:static;width:auto;min-width:0;margin:0;padding:0;font-size:13px;font-weight:700;overflow-wrap:anywhere}
.imd-overlay button.imd-close{display:flex;flex:0 0 44px;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:#625862;font-size:29px;line-height:1}
.imd-modal-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:none;-webkit-overflow-scrolling:touch}
.imd-modal-message{position:static;width:auto;margin:0;padding:18px;color:var(--imd-muted);font-size:13px;line-height:1.7;text-align:center}
.imd-article{display:block;padding:18px;min-width:0}
.imd-detail-name{position:static;width:auto;margin:0 0 3px;padding:0;font-size:16px;font-weight:700;color:var(--imd-accent);line-height:1.5;overflow-wrap:anywhere}
.imd-overlay a.imd-profile-link{display:inline;color:inherit;font:inherit;line-height:inherit;letter-spacing:inherit;text-decoration:none!important;border-bottom:0;overflow-wrap:anywhere;touch-action:manipulation}
.imd-detail-date{display:block;font-size:12px;color:var(--imd-muted);font-variant-numeric:tabular-nums}
.imd-detail-title{position:static;width:auto;margin:13px 0 16px;padding:0;border:0;background:none;color:var(--imd-text);font-size:18px;font-weight:700;line-height:1.55;overflow-wrap:anywhere}
.imd-gallery{display:flex;flex-direction:column;gap:10px;width:100%;margin:0}
.imd-overlay .imd-detail-image,.imd-overlay .imd-detail-video{display:block;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;margin:0;border:0;border-radius:0!important;object-fit:contain}
.imd-overlay .imd-detail-video{max-height:65vh!important;background:#151515}
.imd-fulltext{margin:18px 0 5px;padding:0;font-size:15px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
.imd-modal-foot{flex:0 0 auto;margin:0;padding:9px 12px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--imd-line);background:#fff}
.imd-paging{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin:0 0 9px}
.imd-overlay button.imd-nav{min-width:0;min-height:40px;padding:8px 3px;border:0;border-radius:8px;background:var(--imd-soft);color:var(--imd-accent);font-size:12px}
.imd-position{font-size:11px;color:var(--imd-muted);white-space:nowrap}
.imd-switches{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.imd-overlay button.imd-switch{min-height:48px;padding:9px 7px;border:1px solid var(--imd-accent);border-radius:8px;background:#fff;color:var(--imd-accent);font-size:12px;font-weight:700;overflow-wrap:anywhere}
.imd-overlay button.imd-switch.is-current{background:var(--imd-accent);color:#fff}
@media(max-width:360px){.imlog-diary{padding:8px}.imd-grid{gap:13px 8px}.imlog-diary[data-imd-layout="mobile-grid"] .imd-grid{column-gap:6px}.imd-caption{padding:2px 4px}.imd-name,.imd-title{font-size:11px}.imd-date{font-size:9px}.imd-overlay{padding:8px 6px}.imd-dialog{height:96vh;height:96dvh;border-radius:12px}.imd-article{padding:14px}.imd-modal-foot{padding-left:9px;padding-right:9px}}
@media(prefers-reduced-motion:no-preference){.imlog-diary .imd-card:hover .imd-thumb{filter:brightness(1.035)}.imd-more:hover{filter:brightness(.985)}}

/* Muted inline video occupies the same square as photos; captions stay above it. */
.imlog-diary video.imd-grid-video{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;margin:0;border:0;border-radius:0!important;object-fit:cover;pointer-events:none}
.imd-overlay a.imd-profile-link:hover,.imd-overlay a.imd-profile-link:active,.imd-overlay a.imd-profile-link:visited{text-decoration:none!important}
.imd-overlay .imd-video-wrap{position:relative;width:100%;margin:0}
.imd-overlay video.imd-capture-video{position:absolute!important;left:0!important;top:0!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.imd-overlay button.imd-sound-toggle{display:block;margin:6px 0 0 auto;padding:8px 14px;min-height:40px;background:var(--imd-soft);border:1px solid var(--imd-line);border-radius:8px;color:var(--imd-accent);font-size:12px}
.imd-overlay .imd-play-note{font-size:12px;margin:5px 0;color:var(--imd-muted)}
.imlog-diary[hidden]{display:none!important}

/* A dialog may be portalled into ImLog's outer document. Its height is based
   on that visible viewport, never the full-height official iframe. */
.imd-overlay .imd-dialog{height:calc(var(--imd-viewport-height,100vh) - 32px);max-height:min(960px,100%)}
@media(max-width:360px){.imd-overlay .imd-dialog{height:calc(var(--imd-viewport-height,100vh) - 16px)}}

/* Also present synchronously in diary.js: never inherit a site's red close halo. */
html body .imd-overlay button.imd-close{background:transparent!important;background-image:none!important;border:0!important;border-radius:0!important;outline:none!important;box-shadow:none!important;color:#625862!important}
html body .imd-overlay button.imd-close::before,html body .imd-overlay button.imd-close::after{content:none!important;display:none!important}
html body .imd-overlay[data-imd-input="keyboard"] button.imd-close:focus{outline:2px solid #626b76!important;outline-offset:-3px}
