/* オイシルメディア LINE 風チャット（2026-11-04 版2） */
.ocl{position:fixed;z-index:99990;inset:auto 0 0 0;display:none;pointer-events:none}
.ocl.is-open{display:block}
.ocl__win{pointer-events:auto;display:flex;flex-direction:column;margin:0 auto;width:100%;height:min(82vh,640px);background:#8cabd9;border-radius:16px 16px 0 0;overflow:hidden;box-shadow:0 -6px 24px rgba(0,0,0,.25);font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;animation:ocl-up .35s ease-out}
@keyframes ocl-up{from{transform:translateY(100%)}to{transform:none}}
@media (min-width:768px){
  .ocl{inset:auto 24px 24px auto;width:380px}
  .ocl__win{height:600px;border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.28)}
}
.ocl__head{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#06c755;color:#fff}
.ocl__head-av{width:36px;height:36px;border-radius:50%;background:#fff;flex:none;object-fit:cover}
.ocl__title{flex:1;margin:0!important;font-size:16px;font-weight:800;line-height:1.35;color:#fff}
.ocl__close{flex:none;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.2);color:#fff;font-size:22px;line-height:34px;cursor:pointer;padding:0}
.ocl__log{flex:1;overflow-y:auto;padding:14px 10px 6px;-webkit-overflow-scrolling:touch}
.ocl__row{display:flex;margin:0 0 12px}
.ocl__row--user{justify-content:flex-end}
.ocl__av{width:38px;height:38px;border-radius:50%;background:#fff;flex:none;margin-right:7px;object-fit:cover}
.ocl__col{max-width:78%}
.ocl__name{margin:0 0 3px!important;font-size:11px;color:#2c3e58;line-height:1.2}
.ocl__line{display:flex;align-items:flex-end;gap:5px}
.ocl__row--user .ocl__line{max-width:80%}
.ocl__bubble{position:relative;padding:9px 12px;border-radius:17px;background:#fff;color:#111;font-size:15px;line-height:1.6;white-space:pre-wrap;word-break:break-word}
.ocl__row--bot .ocl__bubble{border-top-left-radius:4px}
.ocl__row--user .ocl__bubble{background:#8de055;border-top-right-radius:4px}
.ocl__time{flex:none;font-size:10px;color:#2c3e58;line-height:1.3;text-align:right}
.ocl__read{display:block}
.ocl__row--typing .ocl__bubble{display:flex;gap:4px;padding:12px 14px}
.ocl__row--typing .ocl__bubble span{width:6px;height:6px;border-radius:50%;background:#9aa4b1;animation:ocl-dot 1s infinite}
.ocl__row--typing .ocl__bubble span:nth-child(2){animation-delay:.15s}
.ocl__row--typing .ocl__bubble span:nth-child(3){animation-delay:.3s}
@keyframes ocl-dot{0%,80%,100%{opacity:.3}40%{opacity:1}}
.ocl__qr{display:flex;flex-direction:column;gap:7px;padding:10px 12px 8px;background:#f3f5f8;border-top:1px solid #dfe3e9;max-height:46%;overflow-y:auto}
.ocl__qr:empty{display:none}
.ocl__choice{width:100%;padding:10px 12px;border:1.5px solid #06c755;border-radius:999px;background:#fff;color:#05a648;font-size:14px;font-weight:700;line-height:1.4;text-align:center;cursor:pointer}
.ocl__choice:active{background:#e9f9ef}
.ocl__line-btn{display:block;padding:13px 12px;border-radius:999px;background:#06c755;color:#fff!important;font-size:16px;font-weight:800;text-align:center;text-decoration:none!important}
.ocl__restart{border:0;background:none;color:#5c6b80;font-size:13px;text-decoration:underline;cursor:pointer;padding:4px}
.ocl__meta{margin:0!important;padding:4px 12px 8px;background:#f3f5f8;font-size:10px;line-height:1.4;color:#8a94a3}
/* 版2.1：モザイクと呼び出しボタン */
.ocl__bubble--mosaic{position:relative;overflow:hidden;min-height:86px}
.ocl__blur{display:block;filter:blur(5px);opacity:.75;user-select:none;-webkit-user-select:none;pointer-events:none}
.ocl__unlock{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:8px;background:rgba(255,255,255,.35);color:#05a648!important;font-weight:800;font-size:15px;text-align:center;text-decoration:none!important}
.ocl__unlock::before{content:"🔒";margin-right:4px}
.ocl-fab{position:fixed;right:12px;bottom:14px;z-index:99980;display:none;align-items:center;gap:6px;padding:6px 12px 6px 6px;border:0;border-radius:999px;background:#06c755;color:#fff;font-size:12px;font-weight:800;line-height:1.25;text-align:left;box-shadow:0 4px 14px rgba(0,0,0,.25);cursor:pointer;font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif}
.ocl-fab.is-show{display:flex;animation:ocl-pop .3s ease-out}
.ocl-fab img{width:38px;height:38px;border-radius:50%;background:#fff;object-fit:cover}
@keyframes ocl-pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
