/* R12 migration batch 1. Loaded last so the approved mockup tokens/materials win. */
@font-face{font-family:"Pinyon";src:url("/static/fonts/PinyonScript.woff2") format("woff2");font-display:swap}

#blueink-r11{
  --bg:#F7F1E6;--bg-2:#F1E9DC;--surface:rgba(255,253,249,.88);
  --ink:#2B2A30;--ink-2:#6E6873;--ink-3:#A39EA6;
  --ribbon-deep:#3563C2;--ribbon:#9DB8EC;--milk:#D7E2F7;--milk-2:#E9EFFA;
  --blush:#F4DCDF;--gold:#C4A36A;--gold-soft:#E9DCBF;--hair:rgba(93,116,165,.14);
  --paper:var(--bg);--paper-light:#FFFDF9;--secondary:var(--ink-2);--blue:var(--ribbon-deep);
  --blue-soft:var(--milk);--line:var(--hair);--glass:rgba(255,253,249,.46);
  --glass-ui:rgba(247,241,230,.55);--glass-strong:rgba(255,253,249,.94);
  --ai:rgba(255,253,249,.62);--human:rgba(215,226,247,.62);
  --shadow:0 6px 24px rgba(70,56,40,.07),0 1px 2px rgba(70,56,40,.05);
  --font-body:"JH","Cormorant Garamond","Songti SC",serif;
  --font-title:"JH","Cormorant Garamond","Songti SC",serif;
  --font-number:"Cormorant Garamond","JH","Times New Roman",serif;
  --font-script:"Pinyon",cursive;--card-radius:20px;--bubble-radius:18px;
  background:var(--bg);color:var(--ink);
}
#blueink-r11[data-theme=night]{
  --bg:#141A2A;--bg-2:#1C2340;--surface:rgba(255,255,255,.06);
  --ink:#EFE9DD;--ink-2:#ABA7B9;--ink-3:#726F85;
  --ribbon-deep:#8FB0F2;--ribbon:#7F9EDC;--milk:rgba(160,188,240,.24);
  --milk-2:rgba(160,188,240,.12);--blush:rgba(244,220,223,.10);
  --gold:#D8BB80;--gold-soft:rgba(216,187,128,.22);--hair:rgba(233,220,191,.12);
  --paper:var(--bg);--paper-light:#232A42;--secondary:var(--ink-2);--blue:var(--ribbon-deep);
  --blue-soft:var(--milk);--line:var(--hair);--glass:rgba(255,255,255,.06);
  --glass-ui:rgba(22,28,48,.50);--glass-strong:rgba(35,42,66,.96);
  --ai:rgba(255,255,255,.08);--human:rgba(160,188,240,.20);
  --shadow:0 8px 28px rgba(0,0,0,.28);
}
body::before{content:"";position:fixed;z-index:0;inset:0 0 auto;height:calc(100dvh + var(--pwa-bleed,0px) + env(safe-area-inset-bottom,0px));background-color:#F7F1E6;background-image:linear-gradient(rgba(247,241,230,.35),rgba(247,241,230,.35)),url("assets/r12/paper_day_full.jpg");background-position:center;background-repeat:no-repeat;background-size:cover;pointer-events:none}
html[data-blueink-theme=night] body::before{background-color:#141A2A;background-image:linear-gradient(rgba(22,28,48,.55),rgba(22,28,48,.55)),url("assets/r12/paper_night_full.jpg")}
#blueink-r11.preview-shell{z-index:1;background:transparent}
#blueink-r11 .app{background:transparent}
#blueink-r11 .app::before{background:none}
#blueink-r11 .app::after{display:none}
#blueink-r11 .topbar{background:var(--glass-ui);backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1)}
#blueink-r11 .topbar h1{font:600 17px/1.4 var(--font-title)}
#blueink-r11 .icon-btn{color:var(--ribbon-deep)}
#blueink-r11 .actions [data-action=theme]{color:var(--gold)}
#blueink-r11 .bottom-nav{position:absolute;inset:auto 14px calc(12px + var(--bottom-safe));flex:0 0 64px;height:64px;margin:0;padding:6px 8px;border:.5px solid rgba(255,255,255,.60);border-radius:26px;background:var(--glass-ui);box-shadow:var(--shadow),inset 0 0 0 .5px rgba(255,255,255,.30);backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1)}
#blueink-r11[data-theme=night] .bottom-nav{border-color:var(--hair)}
#blueink-r11 .nav-btn{font:10px/1.3 var(--font-body);color:var(--ink-2)}
#blueink-r11 .nav-btn.active{color:var(--ribbon-deep)}
#blueink-r11 .nav-btn.active::after{width:24px;height:5px;bottom:-2px;background:none;border:0;border-bottom:1.5px solid currentColor;border-radius:50%;opacity:.85;transform:rotate(-2deg)}
#blueink-r11 .content{padding-bottom:calc(92px + var(--bottom-safe))}
#blueink-r11 .content.nonav{padding-bottom:calc(24px + var(--bottom-safe))}
@supports not (backdrop-filter:blur(1px)){
  #blueink-r11 :is(.topbar,.bottom-nav){background:var(--glass-strong)}
}

/* Home: approved round-7 composition, now fed by the live R11 adapters. */
#blueink-r11[data-current-page=home] .home-header{height:calc(83px + var(--top-safe));padding-top:calc(10px + var(--top-safe));padding-bottom:3px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
#blueink-r11[data-current-page=home] .content{padding-top:0}
#blueink-r11[data-current-page=home] .home-hero{padding-top:0;margin:0;text-align:center}
#blueink-r11 .hero-art{position:relative;isolation:isolate;display:grid;place-items:center;width:260px;height:240px;margin:-8px auto 16px}
#blueink-r11 .hero-art::before{content:"";position:absolute;inset:26px;z-index:0;border-radius:50%;background:radial-gradient(circle,var(--gold-soft),transparent 68%);opacity:.72}
#blueink-r11 .hero-art img{position:relative;z-index:1;width:260px}
#blueink-r11 .hero-night{display:none}
#blueink-r11[data-theme=night] .hero-day{display:none}
#blueink-r11[data-theme=night] .hero-art{width:240px;height:225px}
#blueink-r11[data-theme=night] .hero-night{display:block;width:240px}
#blueink-r11 .greeting{margin:0 0 9px;font:600 17px/1.5 var(--font-title);letter-spacing:.02em}
#blueink-r11 .count-row{display:flex;align-items:center;justify-content:center;gap:11px}
#blueink-r11 .motif-star{width:10px;height:10px;flex:0 0 10px;color:var(--gold);fill:currentColor;stroke:none}
#blueink-r11 .day-count{display:flex;align-items:baseline;justify-content:center;gap:8px}
#blueink-r11 .day-count strong{color:var(--ink);font:400 46px/.95 var(--font-number)}
#blueink-r11 .day-count span{color:var(--ink-2);font-size:13px}
#blueink-r11 .count-since{margin:4px 0 0;color:var(--ink-3);font:12px/1.4 var(--font-number);letter-spacing:.08em}
#blueink-r11 .home-section{margin-top:24px}
#blueink-r11 .card{border:0;border-radius:var(--card-radius);background:var(--surface);box-shadow:var(--shadow)}
#blueink-r11[data-theme=night] .card{border:1px solid var(--hair);box-shadow:none}
#blueink-r11 .daily-note{position:relative;max-width:100%;overflow:visible;border-radius:8px;background-color:#FFFDF9}
#blueink-r11[data-theme=night] .daily-note{background-color:var(--surface)}
#blueink-r11 .daily-note.round7-note{--note-rule:color-mix(in srgb,var(--milk) 80%,transparent);padding:22px 22px 2px 44px;background-image:linear-gradient(to right,transparent 0 31px,color-mix(in srgb,var(--blush) 80%,transparent) 31px 32px,transparent 32px),linear-gradient(to bottom,transparent 26px,var(--note-rule) 26px 27px);background-position:0 0,0 18px;background-repeat:no-repeat,repeat-y;background-size:100% 100%,100% 27px}
#blueink-r11[data-theme=night] .daily-note.round7-note{--note-rule:rgba(160,188,240,.28);background-image:linear-gradient(to right,transparent 0 31px,rgba(244,220,223,.22) 31px 32px,transparent 32px),linear-gradient(to bottom,transparent 26px,var(--note-rule) 26px 27px)}
#blueink-r11 .daily-note blockquote{position:relative;z-index:1;margin:0;font:400 15px/27px var(--font-title)}
#blueink-r11 .note-washi{position:absolute;z-index:2;top:-16px;left:12px;width:92px;transform:rotate(-12deg)}
#blueink-r11 .daily-note.round7-note .note-stamp{position:absolute;top:10px;right:14px;z-index:2;width:64px;transform:rotate(6deg)}
#blueink-r11 .daily-note.round7-note .note-postmark{position:absolute;top:16px;right:-28px;z-index:5;width:150px;height:80px;overflow:visible;color:#2A4F9C;opacity:.8;transform:rotate(-10deg);transform-origin:34px 40px;pointer-events:none}
#blueink-r11[data-theme=night] .note-postmark{color:#9DB8F0}
#blueink-r11 .postmark-ring{font:600 7px/1 var(--font-number);letter-spacing:.12em}
#blueink-r11 .postmark-ring-cn{font-family:var(--font-body);font-size:6px;letter-spacing:.1em}
#blueink-r11 .postmark-date{font:600 8px/1 var(--font-number);letter-spacing:.04em}
#blueink-r11 .daily-note.round7-note .note-float{float:right;width:112px;height:76px;margin:-22px -22px 0 8px}
#blueink-r11 .daily-note .note-signature{position:relative;z-index:1;clear:both;margin:12px 0 0;padding-right:4px;color:#2A4F9C;font:400 15px/27px var(--font-title);text-align:right}
#blueink-r11[data-theme=night] .daily-note .note-signature{color:#9DB8F0}
#blueink-r11 .note-empty{min-height:54px;margin:0;color:var(--ink-2);font-size:13px;line-height:27px}
#blueink-r11 .family-card{display:grid;grid-template-columns:124px minmax(0,1fr);gap:10px;align-items:center;width:100%;padding:10px 16px 10px 8px;text-align:left}
#blueink-r11 .family-card img{width:124px}
#blueink-r11 .family-card strong{display:block;margin:0 0 3px;font:600 15px/1.4 var(--font-title)}
#blueink-r11 .family-card small{display:block;color:var(--ink-2);font-size:13px;line-height:1.6}
#blueink-r11 .trace-list{overflow:hidden}
#blueink-r11 .trace-list .trace-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:0;width:100%;min-height:58px;padding:8px 14px;color:var(--ink);text-align:left;border:0;border-bottom:1px solid var(--hair)}
#blueink-r11 .trace-list .trace-row:last-child{border-bottom:0}
#blueink-r11 .trace-list .trace-row img{width:32px;height:32px;object-fit:contain}
#blueink-r11 .trace-list .trace-row strong{display:block;font-size:14px;font-weight:500}
#blueink-r11 .trace-list .trace-row time{float:none;color:var(--ink-2);font:12px/1.4 var(--font-number)}
#blueink-r11 .utility-card{display:grid;grid-template-columns:44px minmax(0,1fr) 20px;align-items:center;width:100%;min-height:76px;padding:10px 14px 10px 4px;text-align:left}
#blueink-r11 .utility-icon{display:grid;place-items:center;color:var(--ribbon-deep)}
#blueink-r11 .utility-card strong{display:block;font:600 15px/1.4 var(--font-title)}
#blueink-r11 .utility-card small{display:block;color:var(--ink-2);font-size:12px}
#blueink-r11 .r12-empty-state{display:grid;justify-items:center;text-align:center}
#blueink-r11 .r12-empty-state img{width:180px;height:180px;object-fit:contain}
#blueink-r11 .r12-empty-state p{margin:12px 0 0;color:var(--ink-2);font-size:14px;line-height:1.7}

/* Chat: real messages and controls in the approved stationery composition. */
#blueink-r11 .chat-header.r12-chat-header:has(.conversation-actions){display:grid;grid-template-columns:36px auto minmax(0,1fr) auto;gap:7px;height:calc(66px + var(--top-safe));min-height:calc(66px + var(--top-safe));padding:calc(8px + var(--top-safe)) 10px 8px 14px;border:0}
#blueink-r11 .r12-chat-header>.toolbar-side{grid-column:1}
#blueink-r11 .r12-chat-header>.chat-contact{grid-column:2;display:flex;min-width:0;align-items:center;gap:9px}
#blueink-r11 .chat-contact-avatar{width:32px;height:32px;flex:0 0 32px;overflow:hidden;border-radius:50%;box-shadow:0 0 0 1px var(--gold)}
#blueink-r11 .chat-contact-avatar img{width:100%;height:100%;object-fit:cover}
#blueink-r11 .chat-contact-copy{display:grid;min-width:0;line-height:1.1}
#blueink-r11 .chat-contact-copy strong{font:600 16px/1.15 var(--font-body)}
#blueink-r11 .chat-contact-copy small{display:flex;align-items:center;gap:4px;margin-top:3px;color:var(--ink-3);font:400 12px/1 var(--font-body)}
#blueink-r11 .chat-contact-copy small .icon{width:6px;height:6px;flex:0 0 6px;color:var(--gold);fill:currentColor;stroke:none}
#blueink-r11 .r12-chat-header>.conversation-actions{grid-column:4;display:flex;gap:0}
#blueink-r11 .r12-chat-header .icon-btn{width:34px;height:34px;color:var(--ribbon-deep)}
#blueink-r11 .r12-chat-header [data-action=theme]{color:var(--gold)}
#blueink-r11 .chat-stationery-decor{position:absolute;inset:calc(66px + var(--top-safe)) 0 0;z-index:0;overflow:hidden;opacity:.7;pointer-events:none}
#blueink-r11[data-theme=night] .chat-stationery-decor{opacity:.35}
#blueink-r11 .chat-stationery-decor.is-hidden{display:none}
#blueink-r11 .chat-stationery-decor img{position:absolute;object-fit:contain}
#blueink-r11 .chat-decor-doily{top:-18px;right:-60px;width:140px;transform:scaleX(-1)}
#blueink-r11 .chat-decor-washi{top:42%;right:-45px;width:90px;transform:rotate(-8deg)}
#blueink-r11 .chat-decor-flower{bottom:154px;left:-5px;width:80px}
#blueink-r11 .chat-decor-stars{top:22%;left:6px;width:60px}
#blueink-r11 .r12-message-list{position:relative;z-index:1;padding:8px 14px 28px}
#blueink-r11 .r12-message-list .day-divider{justify-content:center;gap:10px;margin:6px 0 20px;color:var(--ink-2);font:12px/1.5 var(--font-number)}
#blueink-r11 .r12-message-list .day-divider::before,#blueink-r11 .r12-message-list .day-divider::after{width:7px;height:7px;flex:0 0 7px;background:var(--gold);clip-path:polygon(50% 0,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0 50%,39% 36%)}
#blueink-r11 .r12-message-list .msg{display:grid;column-gap:8px;margin:14px 0 0}
#blueink-r11 .r12-message-list .msg.assistant{grid-template-columns:34px minmax(0,1fr);justify-items:start}
#blueink-r11 .r12-message-list .msg.user{grid-template-columns:minmax(0,1fr) 34px;justify-items:end}
#blueink-r11 .r12-message-list .msg .avatar{align-self:end;width:34px;height:34px;border:0;box-shadow:0 0 0 1.5px color-mix(in srgb,var(--gold) 60%,transparent)}
#blueink-r11 .r12-message-list .assistant .avatar{grid-column:1;grid-row:1}
#blueink-r11 .r12-message-list .user .avatar{grid-column:2;grid-row:1}
#blueink-r11 .r12-message-list .bubble-stack{display:flex;flex-direction:column;gap:4px;max-width:100%}
#blueink-r11 .r12-message-list .assistant .bubble-stack{grid-column:2}
#blueink-r11 .r12-message-list .user .bubble-stack{grid-column:1;align-items:flex-end}
#blueink-r11 .r12-message-list .bubble{position:relative;width:fit-content;max-width:min(78%,272px);padding:10px 14px;border:.5px solid rgba(255,255,255,.7);border-radius:var(--bubble-radius);background:rgba(255,253,249,.62);box-shadow:0 4px 14px rgba(70,56,40,.06),inset 0 1px 0 rgba(255,255,255,.55);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);font-size:14px;line-height:1.65;text-wrap:pretty}
#blueink-r11 .r12-message-list .assistant .bubble{border-bottom-left-radius:6px}
#blueink-r11 .r12-message-list .user .bubble{border-bottom-right-radius:6px;background:rgba(215,226,247,.62)}
#blueink-r11[data-theme=night] .r12-message-list .bubble{border-color:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.10)}
#blueink-r11[data-theme=night] .r12-message-list .assistant .bubble{background:rgba(255,255,255,.08)}
#blueink-r11[data-theme=night] .r12-message-list .user .bubble{background:rgba(160,188,240,.20)}
#blueink-r11 .r12-message-list [data-group-tail=1] .bubble:last-child{z-index:1;overflow:visible;margin-bottom:22px}
#blueink-r11 .r12-message-list [data-group-tail=1] .bubble:last-child::after{content:"";position:absolute;bottom:-5px;z-index:3;width:9px;height:9px;background:var(--gold);opacity:.9;clip-path:polygon(50% 0,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0 50%,39% 36%);pointer-events:none}
#blueink-r11 .r12-message-list .assistant[data-group-tail=1] .bubble:last-child::after{left:-5px}
#blueink-r11 .r12-message-list .user[data-group-tail=1] .bubble:last-child::after{right:-5px}
#blueink-r11 .r12-message-list .bubble-group-middle,#blueink-r11 .r12-message-list .bubble-group-bottom{margin-top:4px}
#blueink-r11 .r12-message-list .bubble-group-middle .avatar,#blueink-r11 .r12-message-list .bubble-group-bottom .avatar{visibility:hidden}
#blueink-r11 .r12-message-list .quote-preview{display:block;margin:-2px 0 8px;padding:5px 8px;color:var(--ink-2);background:rgba(255,253,249,.30);border:.5px solid rgba(255,255,255,.45);border-left:2px solid var(--ribbon);border-radius:7px;box-shadow:inset 0 1px 0 rgba(255,255,255,.35);font-size:12px;text-align:left}
#blueink-r11 .r12-message-list .message-time{position:absolute;top:calc(100% + 5px);left:10px;display:block;margin:0;color:var(--ink-3);font:12px/1.4 var(--font-number);white-space:nowrap}
#blueink-r11 .r12-message-list .user .message-time{right:10px;left:auto}
#blueink-r11 .r12-message-list :is(.bubble-group-top,.bubble-group-middle) .message-time{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
#blueink-r11 .r12-message-list .thinking-toggle{width:fit-content;max-width:82%;padding:6px 10px;color:var(--ink-2);background:rgba(255,253,249,.30);border:.5px solid rgba(255,255,255,.45);border-radius:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
#blueink-r11[data-theme=night] .r12-message-list .thinking-toggle{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}
#blueink-r11 .r12-message-list .thinking-toggle>summary{display:flex;align-items:center;gap:5px;min-height:0;padding:0;list-style:none}
#blueink-r11 .r12-message-list .thinking-toggle>summary>span{color:var(--gold);font:400 16px/1 var(--font-script);letter-spacing:0}
#blueink-r11 .r12-message-list .thinking-chevron{width:11px;height:11px;color:var(--gold);transition:transform .2s ease}
#blueink-r11 .r12-message-list .thinking-toggle[open] .thinking-chevron{transform:rotate(180deg)}
#blueink-r11 .r12-message-list .thinking-toggle .detail-body{margin-top:6px;padding:4px 0 3px 9px;border-left:1px solid var(--gold);color:var(--ink-2);font:400 13px/1.65 var(--font-body)}
#blueink-r11 .chat-empty-state{min-height:100%;align-content:center;padding-bottom:72px}
#blueink-r11 .r12-composer{position:relative;z-index:30;flex-shrink:0;margin:0 12px calc(12px + var(--bottom-safe));padding:0;background:transparent;border:0;backdrop-filter:none;-webkit-backdrop-filter:none}
#blueink-r11 .r12-composer::before{content:"";position:absolute;right:-12px;bottom:0;left:-12px;z-index:0;height:82px;background:linear-gradient(to bottom,transparent,var(--bg));pointer-events:none}
#blueink-r11 .r12-composer .composer-box{position:relative;z-index:1;padding:10px 10px 8px;border:0;border-radius:24px;background:#FFFDF9;box-shadow:var(--shadow)}
#blueink-r11[data-theme=night] .r12-composer .composer-box{border:1px solid var(--hair);background:#232A42;box-shadow:none}
#blueink-r11 .r12-composer .reply-strip{position:relative;z-index:2;display:flex;align-items:center;gap:9px;margin:0 12px;padding:8px 10px;color:var(--ink-2);background:#FFFDF9;border:0;border-left:3px solid var(--ribbon);border-radius:14px 14px 0 0;box-shadow:var(--shadow);font-size:12px}
#blueink-r11[data-theme=night] .r12-composer .reply-strip{background:#232A42;box-shadow:none}
#blueink-r11 .r12-composer .reply-strip button{margin-left:auto}
#blueink-r11 .r12-composer textarea{min-height:29px;padding:0 7px;font-size:14px}
#blueink-r11 .r12-composer .compose-tools{height:36px;margin-top:6px}
#blueink-r11 .r12-composer .native-media-tools{min-width:0;flex:1}
#blueink-r11 .r12-composer .daily-media-toolbar{min-height:34px}
#blueink-r11 .r12-composer .daily-media-tool{display:grid;place-items:center;width:30px;height:30px;min-height:30px;padding:0;color:var(--ink-2)}
#blueink-r11 .daily-media-tool-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#blueink-r11 .daily-media-recording-label{font:10px/1 var(--font-ui);white-space:nowrap}
#blueink-r11 .r12-composer .send-btn{width:36px!important;height:36px!important;margin-left:auto;color:var(--ribbon-deep)}
#blueink-r11 .r12-composer .send-btn::before{inset:0;background:var(--milk)}
#blueink-r11[data-theme=night] .r12-composer .send-btn{color:#2B2A30}
#blueink-r11[data-theme=night] .r12-composer .send-btn::before{background:var(--gold)}
@media(max-width:370px){
  #blueink-r11 .r12-chat-header>.conversation-actions .icon-btn{width:31px}
  #blueink-r11 .r12-message-list .bubble{max-width:min(82%,252px)}
}
