@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@500;700;800&family=Dela+Gothic+One&family=Zen+Kaku+Gothic+New:wght@400;500;700&family=Klee+One:wght@400;600&family=Yomogi&family=Reggae+One&display=swap');
ai{--pp:#efe9dd;--pp2:#e5ddcd;--ink:#17140f;--ink2:#443c31;--gy:#8b8175;--red:#a8261c;--ln:rgba(23,20,15,.22);display:flex;flex-wrap:wrap;gap:7px;align-items:flex-start;font-family:"Zen Kaku Gothic New",sans-serif;font-size:14px;line-height:1.85;letter-spacing:.02em;color:var(--ink);padding:2px}
ai>details{flex:0 0 auto;position:relative;overflow:hidden;background-color:var(--pp);background-image:repeating-linear-gradient(0deg,rgba(23,20,15,.032) 0 1px,transparent 1px 4px),radial-gradient(circle at 18% 8%,rgba(255,255,255,.55),transparent 62%);border:1px solid var(--ink);box-shadow:2px 2px 0 rgba(23,20,15,.5);transition:box-shadow .18s ease,border-color .18s ease,background-color .18s ease}
ai>details:not([open]):hover{box-shadow:5px 5px 0 rgba(23,20,15,.6);border-color:var(--red);background-color:#f5f0e6}
ai>details:not([open]):hover>summary{color:var(--red)}
ai>details:not([open]):hover>summary::before{background:var(--red)}
ai>details:not([open]):active{box-shadow:0 0 0 rgba(23,20,15,0),inset 0 0 0 100px rgba(168,38,28,.14)}
ai>details[open]{flex:1 1 100%;box-shadow:0 3px 12px rgba(23,20,15,.3)}
ai>details[b=news]{flex:1 1 100%}
ai>text{flex:1 1 100%}
ai summary{display:block;list-style:none;cursor:pointer;position:relative;padding:7px 30px 7px 32px;font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:14px;letter-spacing:.2em;white-space:nowrap;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;color:var(--ink);background-color:transparent;background-repeat:no-repeat;background-image:linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink));background-size:9px 2px,2px 9px,9px 2px,2px 9px;background-position:5px 5px,5px 5px,calc(100% - 5px) calc(100% - 5px),calc(100% - 5px) calc(100% - 5px);transition:color .18s,background-color .18s}
ai summary::-webkit-details-marker{display:none}
ai summary::before{content:"◆";position:absolute;left:9px;top:50%;transform:translateY(-50%);width:17px;height:17px;line-height:17px;text-align:center;font-size:9.5px;background:var(--ink);color:var(--pp);transition:background .18s,color .18s}
ai summary::after{content:"＋";position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;font-family:"Zen Kaku Gothic New",sans-serif;opacity:.75;transition:opacity .18s}
ai details[open]>summary{text-align:center;color:var(--pp);background-color:var(--ink);background-image:linear-gradient(var(--pp),var(--pp)),linear-gradient(var(--pp),var(--pp)),linear-gradient(var(--pp),var(--pp)),linear-gradient(var(--pp),var(--pp));box-shadow:inset 0 -3px 0 rgba(239,233,221,.18)}
ai details[open]>summary::before{background:var(--pp);color:var(--ink)}
ai details[open]>summary::after{content:"−"}
ai details[open]>summary:hover{background-color:#3a3226;color:#f7f2e6}
ai details[open]>summary:hover::before{background:var(--red);color:var(--pp)}
ai summary c{display:inline-block;margin-left:8px;padding:0 7px;font-family:"Reggae One",cursive;font-size:10px;letter-spacing:.06em;border:1px solid currentColor;border-radius:2px;vertical-align:2px;opacity:.9}
ai details[b=me]>summary::before{content:"人"}
ai details[b=girl]>summary::before{content:"写"}
ai details[b=fav]>summary::before{content:"心"}
ai details[b=night]>summary::before{content:"夜"}
ai details[b=mem]>summary::before{content:"縮"}
ai details[b=act]>summary::before{content:"案"}
ai details[b=news]>summary::before{content:"号"}
ai f{display:block;padding:3px 3px 4px;border-bottom:1px dotted var(--ln);position:relative;transition:background .18s}
ai f em{font-style:normal;display:inline-block;min-width:52px;margin-right:8px;padding:1px 7px;font-family:"Shippori Mincho B1",serif;font-size:11px;font-weight:700;letter-spacing:.12em;text-align:center;color:var(--pp);background:var(--ink2);vertical-align:1.5px;transition:background .18s}
ai f:hover{background:rgba(23,20,15,.07)}
ai f:hover em{background:var(--red)}
ai f s{text-decoration:none;margin-left:8px;font-family:"Klee One",serif;font-size:11.5px;color:var(--gy)}
ai du{display:flex;flex-wrap:wrap;gap:0 14px;padding:2px 10px}
ai du f{flex:1 1 44%;min-width:150px}
ai lb{display:block;margin:11px 10px 5px;padding:0 0 3px;font-family:"Shippori Mincho B1",serif;font-size:11.5px;font-weight:700;letter-spacing:.28em;color:var(--ink);border-bottom:3px double var(--ink)}
ai lb::before{content:"■ ";font-size:8px;vertical-align:2px}
ai lb[x]{color:var(--red);border-bottom-color:var(--red)}
ai text{display:block;padding:10px 12px 12px;background-color:var(--pp);background-image:repeating-linear-gradient(0deg,rgba(23,20,15,.03) 0 1px,transparent 1px 4px);border-top:3px double var(--ink);border-bottom:3px double var(--ink)}
ai text p{margin:.45em 0;text-indent:1em;line-height:1.95;font-size:14.5px}
ai text p:first-of-type{text-indent:0}
ai text p:first-of-type::first-letter{float:left;margin:2px 7px 0 0;padding:2px 6px;font-family:"Shippori Mincho B1",serif;font-size:2.5em;line-height:.92;font-weight:800;color:var(--pp);background:var(--ink)}
ai text strong{font-weight:700;background:linear-gradient(transparent 64%,rgba(168,38,28,.3) 0)}
ai say{display:block;margin:7px 0 7px 4px;padding:4px 10px 5px 12px;font-family:"Klee One",serif;font-size:14.5px;font-weight:600;border-left:4px solid var(--ink);background:linear-gradient(90deg,rgba(23,20,15,.05),transparent 70%);transition:.22s}
ai say:hover{background:linear-gradient(90deg,rgba(23,20,15,.14),transparent 80%);box-shadow:inset 3px 0 0 var(--red)}
ai say[w=gg]{border-color:#2f4a6d;color:#22385a}
ai say[w=jj]{border-color:var(--red);color:#8e2018;font-style:italic}
ai say[w=mm]{border-color:#2f5a4a;color:#22493c}
ai say[w=cxg]{border-color:#8a5a1e;color:#70481a;border-left-style:dashed}
ai say[w=ll]{border-color:#5b4470;color:#4b3860;letter-spacing:.06em}
ai say[w=o]{border-color:var(--gy);color:#6b6258;font-family:"Zen Kaku Gothic New",sans-serif;font-size:13.5px}
ai say[w=me]{margin:7px 4px 7px 0;padding:4px 12px 5px 10px;text-align:right;border-left:none;border-right:4px solid var(--ink);color:var(--pp);background:var(--ink)}
ai say[w=me]:hover{background:#2b251c;box-shadow:inset -3px 0 0 var(--red)}
ai text i{display:block;margin:8px 10px;padding:4px 12px;font-family:"Yomogi",cursive;font-style:normal;font-size:13.5px;color:var(--ink2);border-top:1px dashed var(--ln);border-bottom:1px dashed var(--ln);animation:br 4.6s ease-in-out infinite}
ai details[b=news]{border-top-width:4px;border-bottom-width:4px}
ai details[b=news] np{display:block;position:relative;margin:9px 12px 0;padding:8px 0 6px;font-family:"Dela Gothic One",sans-serif;font-size:22px;letter-spacing:.2em;text-align:center;border-top:1px solid var(--ink);border-bottom:3px double var(--ink);text-shadow:1px 1px 0 rgba(255,255,255,.7)}
ai details[b=news] np::before{content:"SHIRAKAWA TOWN DAILY";position:absolute;left:0;right:0;top:-3px;font-family:"Zen Kaku Gothic New",sans-serif;font-size:8px;letter-spacing:.4em;color:var(--gy)}
ai details[b=news] np::after{content:"雪";position:absolute;right:4px;bottom:9px;width:27px;height:27px;line-height:26px;font-family:"Shippori Mincho B1",serif;font-size:14px;color:var(--red);border:2px solid var(--red);border-radius:50%;transform:rotate(-12deg);opacity:.88}
ai details[b=news] du{padding:7px 12px 11px;gap:0 0}
ai details[b=news] du f{flex:1 1 33%;min-width:132px;padding:3px 10px;border-bottom:1px solid var(--ln);border-right:1px solid var(--ln)}
ai details[b=news] du f em{background:var(--ink)}
ai details[b=news][open]>summary~*{animation:unfold .5s cubic-bezier(.2,.85,.25,1) both;transform-origin:top}
ai details[b=me] abil{display:flex;flex-wrap:wrap;gap:6px;padding:2px 10px 4px}
ai details[b=me] abil k{display:inline-block;position:relative;padding:3px 10px;font-family:"Shippori Mincho B1",serif;font-size:12px;letter-spacing:.08em;color:var(--gy);border:1px dashed var(--gy);background:rgba(23,20,15,.04);transition:box-shadow .2s,border-color .2s,color .2s}
ai details[b=me] abil k[on]{padding-right:28px;color:var(--ink);border:1px solid var(--ink);background:var(--pp2);animation:stamp .55s cubic-bezier(.3,1.6,.4,1) both}
ai details[b=me] abil k[on]::after{content:"済";position:absolute;right:3px;top:50%;transform:translateY(-50%) rotate(-13deg);width:17px;height:17px;line-height:16px;text-align:center;font-size:10px;color:var(--red);border:1.5px solid var(--red);border-radius:50%}
ai details[b=me] abil k:hover{box-shadow:3px 3px 0 rgba(23,20,15,.4);border-color:var(--red);color:var(--red)}
ai details[b=me] items{display:block;padding:0 10px 10px}
ai details[b=me] it{display:flex;align-items:baseline;gap:5px;padding:3px 2px;font-size:13px;transition:background .18s}
ai details[b=me] it n{font-family:"Shippori Mincho B1",serif;font-weight:700;white-space:nowrap}
ai details[b=me] it n::before{content:"・"}
ai details[b=me] it e{flex:1;text-align:right;font-size:12px;color:var(--ink2);border-bottom:1px dotted var(--ln)}
ai details[b=me] it:hover{background:rgba(168,38,28,.09)}
ai details[b=me] f[m] em{background:var(--red)}
ai details[b=me] f[p] em{background:#3a4a6b}
ai details[b=me][open]>summary~*{animation:bookopen .55s ease-out both}
ai details[b=girl] pic{display:block;position:relative;width:-moz-fit-content;width:fit-content;max-width:min(94%,360px);margin:14px auto 8px;padding:8px 8px 4px;background:#fbf8f1;border:1px solid var(--ink);box-shadow:3px 4px 0 rgba(23,20,15,.45);transform:rotate(-1.2deg);transition:transform .5s,box-shadow .5s}
ai details[b=girl] pic:hover{transform:rotate(0);box-shadow:6px 7px 0 rgba(23,20,15,.5)}
ai details[b=girl] pic img{display:block;width:auto;max-width:100%;height:auto;max-height:48vh;object-fit:contain;filter:grayscale(.72) contrast(1.14) sepia(.16);transition:filter .7s}
ai details[b=girl] pic[o=h] img{max-height:34vh}
ai details[b=girl] pic[o=v] img{max-height:56vh}
ai details[b=girl] pic:hover img{filter:grayscale(0) contrast(1.02) sepia(0)}
ai details[b=girl] pic::after{content:"";position:absolute;inset:8px 8px 22px;pointer-events:none;background-image:radial-gradient(rgba(23,20,15,.5) .6px,transparent .7px);background-size:3px 3px;mix-blend-mode:multiply;opacity:.5;transition:opacity .6s}
ai details[b=girl] pic:hover::after{opacity:0}
ai details[b=girl] cap{display:block;max-width:100%;padding:4px 2px 0;margin-top:5px;font-family:"Klee One",serif;font-size:11px;letter-spacing:.06em;color:var(--ink2);text-align:center;border-top:1px dotted var(--ln);box-sizing:border-box}
ai details[b=girl] cap::before{content:"▲写真　"}
ai details[b=girl] sec{display:block;margin:0 10px;padding:6px 9px;border:1px solid var(--red);background:repeating-linear-gradient(45deg,rgba(168,38,28,.05) 0 6px,transparent 6px 12px)}
ai details[b=girl] sec f{border-bottom:1px dotted rgba(168,38,28,.3)}
ai details[b=girl] sec f em{background:var(--red);min-width:46px}
ai details[b=girl] sec f:hover{background:rgba(168,38,28,.1)}
ai details[b=girl] sec f:hover::after{content:"秘";position:absolute;right:5px;top:3px;font-family:"Shippori Mincho B1",serif;font-size:10px;color:var(--red);animation:pop .5s ease-out}
ai details[b=girl] f[h] em{background:var(--red)}
ai details[b=girl] f[h]::before{content:"♥";margin-right:3px;color:var(--red);font-size:10px;animation:beat 1.4s ease-in-out infinite;display:inline-block}
ai details[b=girl] mind{display:block;margin:2px 10px 12px;padding:9px 13px;font-family:"Yomogi",cursive;font-size:13.5px;color:var(--ink2);background:#f7f3ea;border:1px solid var(--ink);border-radius:2px;box-shadow:2px 2px 0 rgba(23,20,15,.3);position:relative}
ai details[b=girl] mind::before{content:"❝";position:absolute;left:3px;top:-2px;font-size:16px;color:var(--gy)}
ai details[b=girl] mind::after{content:"";position:absolute;left:22px;bottom:-8px;width:10px;height:10px;background:#f7f3ea;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:rotate(45deg)}
ai details[b=girl][open]>summary~*{animation:curtain .5s ease-out both}
ai details[b=fav] fav{display:block;padding:8px 10px 4px}
ai details[b=fav] r{display:block;position:relative;padding:6px 8px 8px;margin-bottom:6px;border:1px solid var(--ln);border-left:4px solid var(--ink);background:rgba(255,255,255,.35);transition:border-color .22s,background .22s,box-shadow .22s}
ai details[b=fav] r:hover{border-left-color:var(--red);background:rgba(255,255,255,.75);box-shadow:3px 3px 0 rgba(23,20,15,.2)}
ai details[b=fav] r n{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:14.5px;letter-spacing:.08em}
ai details[b=fav] r t{display:inline-block;margin-left:8px;padding:1px 9px;font-family:"Klee One",serif;font-size:11px;color:var(--pp);background:var(--ink2);letter-spacing:.08em}
ai details[b=fav] g,ai details[b=fav] g2{display:block;position:relative;z-index:0;margin-top:4px;padding:1px 8px;font-family:"Reggae One",cursive;font-size:10.5px;letter-spacing:.08em;color:var(--ink);background:rgba(23,20,15,.08);border:1px solid var(--ln);overflow:hidden}
ai details[b=fav] g::before,ai details[b=fav] g2::before{content:"";position:absolute;left:0;top:0;bottom:0;z-index:-1;width:0;transform-origin:left;animation:barin .85s cubic-bezier(.2,.9,.2,1) both}
ai details[b=fav] g::before{background:repeating-linear-gradient(90deg,var(--red) 0 3px,rgba(168,38,28,.25) 3px 6px)}
ai details[b=fav] g2::before{background:repeating-linear-gradient(45deg,var(--ink) 0 3px,rgba(23,20,15,.2) 3px 7px)}
ai details[b=fav] [v="0"]::before{width:3%}
ai details[b=fav] [v="1"]::before{width:10%}
ai details[b=fav] [v="2"]::before{width:20%}
ai details[b=fav] [v="3"]::before{width:30%}
ai details[b=fav] [v="4"]::before{width:40%}
ai details[b=fav] [v="5"]::before{width:50%}
ai details[b=fav] [v="6"]::before{width:60%}
ai details[b=fav] [v="7"]::before{width:70%}
ai details[b=fav] [v="8"]::before{width:80%}
ai details[b=fav] [v="9"]::before{width:90%}
ai details[b=fav] [v="10"]::before{width:100%}
ai details[b=fav] x{display:none}
ai details[b=fav] x[on]{display:block;position:absolute;right:5px;top:5px;width:22px;height:22px;line-height:20px;text-align:center;font-family:"Shippori Mincho B1",serif;font-size:12px;color:var(--red);border:2px solid var(--red);border-radius:50%;transform:rotate(-11deg);animation:wob 2.8s ease-in-out infinite}
ai details[b=fav][open]>summary~*{animation:popin .5s cubic-bezier(.3,1.4,.4,1) both}
ai details[b=night]{background-color:var(--ink);background-image:radial-gradient(rgba(239,233,221,.5) .7px,transparent 1px),radial-gradient(rgba(239,233,221,.3) .7px,transparent 1px);background-size:44px 58px,71px 86px;background-position:0 0,21px 30px;color:var(--pp);animation:snow 26s linear infinite}
ai details[b=night]>summary{color:var(--pp);background-color:transparent;background-image:linear-gradient(var(--pp),var(--pp)),linear-gradient(var(--pp),var(--pp)),linear-gradient(var(--pp),var(--pp)),linear-gradient(var(--pp),var(--pp))}
ai details[b=night]>summary::before{content:"夜";background:var(--pp);color:var(--ink)}
ai>details[b=night]:not([open]):hover{background-color:#241f17}
ai>details[b=night]:not([open]):hover>summary{color:#ffb3ac}
ai>details[b=night]:not([open]):hover>summary::before{background:#ffb3ac;color:var(--ink)}
ai details[b=night][open]>summary{background-color:rgba(239,233,221,.14);box-shadow:inset 0 -3px 0 rgba(239,233,221,.3)}
ai details[b=night][open]>summary:hover{background-color:rgba(239,233,221,.28);color:#fff}
ai details[b=night] f{border-bottom:1px dotted rgba(239,233,221,.28)}
ai details[b=night] f:hover{background:rgba(239,233,221,.1)}
ai details[b=night] f em{color:var(--ink);background:var(--pp)}
ai details[b=night] al{display:flex;align-items:center;gap:9px;margin:8px 12px 12px;padding:7px 12px;font-family:"Reggae One",cursive;font-size:17px;letter-spacing:.12em;border:2px solid}
ai details[b=night] al em{min-width:auto;font-style:normal;font-family:"Shippori Mincho B1",serif;font-size:11px;letter-spacing:.14em;padding:1px 8px;color:var(--ink);background:var(--pp)}
ai details[b=night] al[v=安全]{color:#cfe6d8;border-color:#8fb9a4;animation:hb 2.4s ease-in-out infinite}
ai details[b=night] al[v=警觉]{color:#efdca4;border-color:#c0a664;animation:hb 1.5s ease-in-out infinite}
ai details[b=night] al[v=紧张]{color:#f0c193;border-color:#c88f52;animation:hb 1s ease-in-out infinite}
ai details[b=night] al[v=暴露]{color:#ffb3ac;border-color:var(--red);background:rgba(168,38,28,.3);animation:hb .58s ease-in-out infinite}
ai details[b=night][open]>summary~*{animation:rise .55s ease-out both}
ai details[b=mem]{background-color:#e9e0c9;background-image:repeating-linear-gradient(0deg,rgba(120,95,55,.06) 0 1px,transparent 1px 5px),radial-gradient(circle at 82% 12%,rgba(150,120,70,.16),transparent 55%)}
ai>details[b=mem]:not([open]):hover{background-color:#f0e8d3}
ai details[b=mem]::after{content:"";position:absolute;right:0;bottom:0;width:26px;height:26px;pointer-events:none;background:linear-gradient(315deg,#dbcfae 48%,rgba(23,20,15,.2) 50%,transparent 52%)}
ai details[b=mem] mem{display:block;margin:0 10px 6px;padding:2px 0 0 12px;border-left:2px solid var(--ln)}
ai details[b=mem] m{display:block;position:relative;padding:6px 4px 7px 30px;border-bottom:1px solid rgba(120,95,55,.3);transition:background .2s,box-shadow .2s}
ai details[b=mem] m:hover{background:rgba(150,120,70,.16);box-shadow:inset 3px 0 0 var(--red)}
ai details[b=mem] no{position:absolute;left:0;top:7px;width:21px;height:21px;line-height:20px;text-align:center;font-family:"Shippori Mincho B1",serif;font-size:11px;color:var(--pp);background:var(--ink);border-radius:50%}
ai details[b=mem] tm{display:block;font-family:"Shippori Mincho B1",serif;font-size:11px;letter-spacing:.06em;color:#6d5c40}
ai details[b=mem] sm{display:block;font-family:"Klee One",serif;font-size:13.5px;line-height:1.8;color:#332b1f}
ai details[b=mem][open]>summary~*{animation:pageturn .6s ease-out both;transform-origin:left center}
ai details[b=act] act{display:block;counter-reset:c;padding:9px 10px 11px}
ai details[b=act] o{display:block;position:relative;counter-increment:c;margin-bottom:6px;padding:8px 76px 8px 40px;font-size:13.5px;font-family:"Klee One",serif;font-weight:600;cursor:copy;user-select:all!important;-webkit-user-select:all!important;-moz-user-select:all;-ms-user-select:all;-webkit-touch-callout:default;background:rgba(255,255,255,.45);border:1px solid var(--ink);box-shadow:2px 2px 0 rgba(23,20,15,.35);transition:background .2s,color .2s,box-shadow .2s,border-color .2s}
ai details[b=act] o::before{content:counter(c);position:absolute;left:8px;top:50%;transform:translateY(-50%);width:22px;height:22px;line-height:21px;text-align:center;font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:12px;color:var(--pp);background:var(--ink);user-select:none!important;-webkit-user-select:none!important;pointer-events:none;transition:background .2s,color .2s}
ai details[b=act] o::after{content:"⧉ 全選複写";position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:2px 7px;font-family:"Shippori Mincho B1",serif;font-size:10px;letter-spacing:.08em;white-space:nowrap;color:var(--pp);background:var(--ink2);border:1px solid var(--ink);user-select:none!important;-webkit-user-select:none!important;pointer-events:none;z-index:1;transition:background .2s,color .2s,border-color .2s}
ai details[b=act] o::selection{color:#fff8f6;background:var(--red)}
ai details[b=act] o::-moz-selection{color:#fff8f6;background:var(--red)}
ai details[b=act] o:hover{color:var(--pp);background:var(--ink);box-shadow:5px 5px 0 rgba(23,20,15,.45)}
ai details[b=act] o:hover::before{color:var(--ink);background:var(--pp)}
ai details[b=act] o:hover::after{color:var(--ink);background:var(--pp);border-color:var(--pp)}
ai details[b=act] o:active{box-shadow:0 0 0 rgba(23,20,15,0);border-color:var(--red)}
ai details[b=act] o[sp]{border:2px solid var(--red);background:repeating-linear-gradient(45deg,rgba(168,38,28,.09) 0 7px,transparent 7px 14px)}
ai details[b=act] o[sp]::before{content:"★";background:var(--red)}
ai details[b=act] o[sp]::after{background:var(--red);border-color:var(--red)}
ai details[b=act] o[sp]:hover{background:var(--red);border-color:var(--red);color:#fff5f3}
ai details[b=act] o[sp]:hover::before{color:var(--red);background:#fff5f3}
ai details[b=act] o[sp]:hover::after{color:var(--red);background:#fff5f3;border-color:#fff5f3}
ai details[b=act] cp{display:block;position:relative;margin-top:9px;padding:9px 12px 9px 74px;font-family:"Klee One",serif;font-size:12px;line-height:1.7;color:var(--pp2);background:var(--ink);border:1px solid var(--ink);border-top:3px double var(--pp2);cursor:copy;user-select:all!important;-webkit-user-select:all!important;-moz-user-select:all;-webkit-touch-callout:default;box-shadow:2px 2px 0 rgba(23,20,15,.4);transition:background .2s,box-shadow .2s}
ai details[b=act] cp::before{content:"⧉ 一括複写";position:absolute;left:6px;top:50%;transform:translateY(-50%);padding:3px 8px;font-family:"Shippori Mincho B1",serif;font-size:10px;letter-spacing:.08em;white-space:nowrap;color:var(--ink);background:var(--pp2);user-select:none!important;-webkit-user-select:none!important;pointer-events:none}
ai details[b=act] cp::selection{color:var(--ink);background:var(--pp2)}
ai details[b=act] cp::-moz-selection{color:var(--ink);background:var(--pp2)}
ai details[b=act] cp:hover{background:#2f2820;box-shadow:5px 5px 0 rgba(23,20,15,.5)}
ai details[b=act] cp:active{box-shadow:0 0 0 rgba(23,20,15,0)}
ai details[b=act][open]>summary~*{animation:slidein .5s ease-out both}
@keyframes unfold{0%{transform:scaleY(.86) rotateX(-13deg);opacity:0}100%{transform:none;opacity:1}}
@keyframes bookopen{0%{transform:perspective(700px) rotateY(-12deg);opacity:0}100%{transform:none;opacity:1}}
@keyframes curtain{0%{clip-path:inset(0 0 100% 0);opacity:.3}100%{clip-path:inset(0);opacity:1}}
@keyframes rise{0%{transform:translateY(12px);opacity:0;filter:blur(3px)}100%{transform:none;opacity:1;filter:none}}
@keyframes popin{0%{transform:scale(.95) translateY(8px);opacity:0}100%{transform:none;opacity:1}}
@keyframes pageturn{0%{transform:perspective(800px) rotateY(-26deg);opacity:0}100%{transform:none;opacity:1}}
@keyframes slidein{0%{transform:translateX(-14px);opacity:0}100%{transform:none;opacity:1}}
@keyframes barin{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes stamp{0%{transform:scale(1.45) rotate(-8deg);opacity:0}60%{transform:scale(.96);opacity:1}100%{transform:none}}
@keyframes beat{0%,100%{transform:scale(1)}25%{transform:scale(1.32)}45%{transform:scale(1.04)}}
@keyframes hb{0%,100%{filter:brightness(1)}12%{filter:brightness(1.45)}26%{filter:brightness(1)}}
@keyframes pop{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes wob{0%,100%{transform:rotate(-11deg)}50%{transform:rotate(-2deg)}}
@keyframes br{0%,100%{opacity:.78}50%{opacity:1}}
@keyframes snow{0%{background-position:0 0,21px 30px}100%{background-position:0 580px,21px 610px}}
@media (max-width:430px){ai{font-size:13.5px;gap:5px}ai summary{font-size:13px;letter-spacing:.12em;padding:6px 26px 6px 29px}ai du f{flex:1 1 100%}ai details[b=news] du f{flex:1 1 100%}ai details[b=news] np{font-size:17px}ai details[b=girl] pic{max-width:96%}ai details[b=girl] pic img{max-height:42vh}ai details[b=girl] pic[o=h] img{max-height:30vh}ai details[b=girl] pic[o=v] img{max-height:50vh}ai details[b=act] o{padding:8px 11px 24px 36px}ai details[b=act] o::after{top:auto;bottom:3px;right:5px;transform:none}ai details[b=act] cp{padding:26px 11px 9px 11px}ai details[b=act] cp::before{top:4px;left:6px;transform:none}}

@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@500;700;800&family=Dela+Gothic+One&family=Zen+Kaku+Gothic+New:wght@400;500;700&family=Klee+One:wght@400;600&display=swap");

:root {
  --np-paper: #efe9dd;
  --np-paper-dark: #e5ddcd;
  --np-paper-light: #f5f0e6;
  --np-ink: #17140f;
  --np-ink-soft: #443c31;
  --np-muted: #8b8175;
  --np-red: #a8261c;
  --np-white: #fff8f6;
}

/* ==================== 页面基础 ==================== */

body {
  color: var(--np-ink) !important;
  font-family: "Zen Kaku Gothic New", sans-serif !important;
}

::selection {
  color: var(--np-white) !important;
  background: var(--np-red) !important;
}

/* ==================== 顶部导航栏 ==================== */

nav.custom-styles.sticky,
nav.sticky.top-0.w-full {
  color: var(--np-ink) !important;
  background-color: var(--np-paper) !important;
  background-image:
    repeating-linear-gradient(
      0deg,
      rgba(23, 20, 15, 0.03) 0 1px,
      transparent 1px 4px
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.55),
      transparent 65%
    ) !important;
  border-bottom: 4px double var(--np-ink) !important;
  box-shadow: 0 3px 8px rgba(23, 20, 15, 0.2) !important;
  font-family: "Shippori Mincho B1", serif !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

nav.custom-styles > header,
nav.sticky.top-0.w-full > header {
  color: var(--np-ink) !important;
  background: transparent !important;
  border-bottom: 0 !important;
}

nav.custom-styles #nav-left button,
nav.custom-styles #nav-right button,
nav.sticky.top-0.w-full #nav-left button,
nav.sticky.top-0.w-full #nav-right button {
  color: var(--np-ink) !important;
  background-color: var(--np-paper-dark) !important;
  background-image: repeating-linear-gradient(
    90deg,
    rgba(23, 20, 15, 0.035) 0 1px,
    transparent 1px 5px
  ) !important;
  border: 1px solid var(--np-ink) !important;
  border-radius: 2px !important;
  box-shadow: 2px 2px 0 rgba(23, 20, 15, 0.35) !important;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease !important;
}

nav.custom-styles #nav-left button:hover,
nav.custom-styles #nav-right button:hover,
nav.sticky.top-0.w-full #nav-left button:hover,
nav.sticky.top-0.w-full #nav-right button:hover {
  color: var(--np-paper) !important;
  background-color: var(--np-ink) !important;
  box-shadow: 3px 3px 0 rgba(168, 38, 28, 0.5) !important;
  transform: translate(-1px, -1px) !important;
}

nav.custom-styles button svg,
nav.sticky.top-0.w-full button svg {
  color: currentColor !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 2 !important;
}

nav.custom-styles button[aria-label="系统公告"] svg,
nav.sticky.top-0.w-full button[aria-label="系统公告"] svg {
  color: var(--np-red) !important;
  stroke: var(--np-red) !important;
}

nav.custom-styles button[aria-label="系统公告"]:hover svg,
nav.sticky.top-0.w-full button[aria-label="系统公告"]:hover svg {
  color: var(--np-paper) !important;
  stroke: var(--np-paper) !important;
}

nav.custom-styles button[aria-label="通知"],
nav.sticky.top-0.w-full button[aria-label="通知"] {
  position: relative !important;
  overflow: visible !important;
}

nav.custom-styles button[aria-label="通知"]::after,
nav.sticky.top-0.w-full button[aria-label="通知"]::after {
  content: "" !important;
  position: absolute !important;
  top: 4px !important;
  right: 4px !important;
  width: 6px !important;
  height: 6px !important;
  background: var(--np-red) !important;
  border: 1px solid var(--np-paper) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}

nav.custom-styles button[aria-label="theme scheme"] svg,
nav.sticky.top-0.w-full button[aria-label="theme scheme"] svg {
  color: var(--np-ink-soft) !important;
  stroke: var(--np-ink-soft) !important;
}

nav.custom-styles button[aria-label="theme scheme"]:hover svg,
nav.sticky.top-0.w-full button[aria-label="theme scheme"]:hover svg {
  color: var(--np-paper) !important;
  stroke: var(--np-paper) !important;
}

/* ==================== 输入框外壳 ==================== */

div[data-slot="input-group"]:has(#prompt-input-body) {
  position: relative !important;
  color: var(--np-ink) !important;
  background-color: var(--np-paper) !important;
  background-image:
    repeating-linear-gradient(
      0deg,
      rgba(23, 20, 15, 0.035) 0 1px,
      transparent 1px 5px
    ),
    radial-gradient(
      circle at 92% 4%,
      rgba(168, 38, 28, 0.07),
      transparent 44%
    ) !important;
  border: 1px solid var(--np-ink) !important;
  border-top: 4px double var(--np-ink) !important;
  border-radius: 2px !important;
  outline: none !important;
  box-shadow: 3px 3px 0 rgba(23, 20, 15, 0.4) !important;
  overflow: visible !important;
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

div[data-slot="input-group"]:has(#prompt-input-body)::before {
  content: "原　稿" !important;
  position: absolute !important;
  z-index: 20 !important;
  top: -13px !important;
  left: 9px !important;
  padding: 1px 9px !important;
  color: var(--np-paper) !important;
  background: var(--np-ink) !important;
  font-family: "Shippori Mincho B1", serif !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  line-height: 17px !important;
  letter-spacing: 0.24em !important;
  pointer-events: none !important;
}

div[data-slot="input-group"]:has(#prompt-input-body)::after {
  content: "雪" !important;
  position: absolute !important;
  z-index: 10 !important;
  right: 7px !important;
  bottom: 7px !important;
  width: 21px !important;
  height: 21px !important;
  color: rgba(168, 38, 28, 0.45) !important;
  border: 1.5px solid rgba(168, 38, 28, 0.4) !important;
  border-radius: 50% !important;
  font-family: "Shippori Mincho B1", serif !important;
  font-size: 10px !important;
  line-height: 20px !important;
  text-align: center !important;
  transform: rotate(-12deg) !important;
  pointer-events: none !important;
}

div[data-slot="input-group"]:has(#prompt-input-body):focus-within {
  border-color: var(--np-red) !important;
  outline: none !important;
  box-shadow: 4px 4px 0 rgba(168, 38, 28, 0.45) !important;
  --tw-ring-color: transparent !important;
  --tw-ring-shadow: 0 0 #0000 !important;
}

/* ==================== 文本输入区域 ==================== */

#prompt-input-body {
  color: var(--np-ink) !important;
  background: transparent !important;
}

#prompt-input-body textarea,
#prompt-input-body textarea[data-slot="input-group-control"] {
  color: var(--np-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  font-family:
    "Klee One",
    "Zen Kaku Gothic New",
    serif !important;
  font-size: 14.5px !important;
  line-height: 1.85 !important;
  letter-spacing: 0.02em !important;
  caret-color: var(--np-red) !important;
  color-scheme: light !important;
}

#prompt-input-body textarea:focus,
#prompt-input-body textarea:focus-visible {
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  --tw-ring-color: transparent !important;
  --tw-ring-shadow: 0 0 #0000 !important;
}

#prompt-input-body textarea::placeholder {
  color: var(--np-muted) !important;
  opacity: 1 !important;
  font-family: "Shippori Mincho B1", serif !important;
  letter-spacing: 0.12em !important;
}

#prompt-input-body textarea::selection {
  color: var(--np-white) !important;
  background: var(--np-red) !important;
}

/* ==================== 输入框顶部工具栏 ==================== */

#prompt-input-header {
  color: var(--np-ink) !important;
  background: transparent !important;
  font-family: "Shippori Mincho B1", serif !important;
}

#prompt-input-header > div {
  scrollbar-width: thin !important;
  scrollbar-color: var(--np-red) transparent !important;
}

#prompt-input-header > div::-webkit-scrollbar {
  height: 4px !important;
}

#prompt-input-header > div::-webkit-scrollbar-track {
  background: transparent !important;
}

#prompt-input-header > div::-webkit-scrollbar-thumb {
  background: rgba(168, 38, 28, 0.55) !important;
  border-radius: 0 !important;
}

#prompt-input-header button {
  color: var(--np-ink) !important;
  background-color: var(--np-paper-dark) !important;
  background-image: repeating-linear-gradient(
    0deg,
    rgba(23, 20, 15, 0.035) 0 1px,
    transparent 1px 4px
  ) !important;
  border: 1px solid var(--np-ink) !important;
  border-radius: 2px !important;
  box-shadow: 1px 1px 0 rgba(23, 20, 15, 0.35) !important;
  font-family: "Shippori Mincho B1", serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  transition:
    color 0.16s ease,
    background-color 0.16s ease,
    box-shadow 0.16s ease,
    transform 0.16s ease !important;
}

#prompt-input-header button:hover {
  color: var(--np-paper) !important;
  background-color: var(--np-ink) !important;
  box-shadow: 2px 2px 0 rgba(168, 38, 28, 0.5) !important;
  transform: translate(-1px, -1px) !important;
}

#prompt-input-header button svg {
  color: currentColor !important;
  stroke: currentColor !important;
  fill: none !important;
}

#prompt-input-header button:has(svg.lucide-package) svg {
  color: var(--np-red) !important;
  stroke: var(--np-red) !important;
}

#prompt-input-header button:has(svg.lucide-package):hover svg {
  color: var(--np-paper) !important;
  stroke: var(--np-paper) !important;
}

#prompt-input-header button.rounded-full {
  color: var(--np-red) !important;
  border-radius: 2px !important;
}

#prompt-input-header button.rounded-full:hover {
  color: var(--np-paper) !important;
}

#prompt-input-header .w-px.bg-border {
  width: 1px !important;
  background: var(--np-ink) !important;
  opacity: 0.45 !important;
}

/* ==================== 输入框底部工具栏 ==================== */

#prompt-input-footer {
  color: var(--np-ink) !important;
  background: rgba(229, 221, 205, 0.4) !important;
  border-top: 3px double rgba(23, 20, 15, 0.28) !important;
  font-family: "Shippori Mincho B1", serif !important;
}

#prompt-input-footer button:not([type="submit"]) {
  color: var(--np-ink) !important;
  background-color: var(--np-paper) !important;
  background-image: repeating-linear-gradient(
    0deg,
    rgba(23, 20, 15, 0.03) 0 1px,
    transparent 1px 4px
  ) !important;
  border: 1px solid var(--np-ink) !important;
  border-radius: 2px !important;
  box-shadow: 1px 1px 0 rgba(23, 20, 15, 0.35) !important;
  font-family: "Shippori Mincho B1", serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  transition:
    color 0.16s ease,
    background-color 0.16s ease,
    box-shadow 0.16s ease,
    transform 0.16s ease !important;
}

#prompt-input-footer button:not([type="submit"]):hover {
  color: var(--np-paper) !important;
  background-color: var(--np-ink) !important;
  box-shadow: 2px 2px 0 rgba(168, 38, 28, 0.5) !important;
  transform: translate(-1px, -1px) !important;
}

#prompt-input-footer button svg {
  color: currentColor !important;
  stroke: currentColor !important;
  fill: none !important;
}

#prompt-input-footer button:has(svg.lucide-settings) {
  color: var(--np-red) !important;
}

#prompt-input-footer button:has(svg.lucide-settings):hover {
  color: var(--np-paper) !important;
}

#prompt-input-footer button:has(svg.lucide-info) {
  color: var(--np-ink-soft) !important;
}

#prompt-input-footer button:has(svg.lucide-info):hover {
  color: var(--np-paper) !important;
}

#prompt-input-footer button:has(img[alt$="logo"]) {
  color: var(--np-ink) !important;
  background-color: var(--np-paper-dark) !important;
  border-top: 3px double var(--np-ink) !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
}

#prompt-input-footer button:has(img[alt$="logo"]):hover {
  color: var(--np-paper) !important;
  background-color: var(--np-ink) !important;
}

#prompt-input-footer button img {
  filter: grayscale(1) contrast(1.25) !important;
  opacity: 0.8 !important;
}

#prompt-input-footer button:hover img {
  filter: grayscale(1) brightness(0) invert(1) !important;
  opacity: 1 !important;
}

#prompt-input-footer button[aria-label="回复模式"] {
  color: var(--np-red) !important;
}

#prompt-input-footer button[aria-label="回复模式"]:hover {
  color: var(--np-paper) !important;
}

/* ==================== 发送按钮 ==================== */

#prompt-input-footer button[type="submit"],
#prompt-input-footer button[aria-label="发送"] {
  color: var(--np-paper) !important;
  background-color: var(--np-ink) !important;
  border: 1px solid var(--np-ink) !important;
  border-radius: 2px !important;
  box-shadow: 2px 2px 0 rgba(23, 20, 15, 0.4) !important;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease !important;
}

#prompt-input-footer button[type="submit"]:hover,
#prompt-input-footer button[aria-label="发送"]:hover {
  color: var(--np-white) !important;
  background-color: var(--np-red) !important;
  border-color: var(--np-red) !important;
  box-shadow: 3px 3px 0 rgba(23, 20, 15, 0.5) !important;
  transform: translate(-1px, -1px) !important;
}

#prompt-input-footer button[type="submit"] svg,
#prompt-input-footer button[aria-label="发送"] svg {
  color: currentColor !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 2.4 !important;
}

/* ==================== 快捷操作按钮 ==================== */

button[aria-label="滚动到底部"],
button[aria-label="Add image"] {
  color: var(--np-ink) !important;
  background-color: var(--np-paper-dark) !important;
  border: 1px solid var(--np-ink) !important;
  border-radius: 2px !important;
  box-shadow: 1px 1px 0 rgba(23, 20, 15, 0.35) !important;
  transition:
    color 0.16s ease,
    background-color 0.16s ease,
    box-shadow 0.16s ease !important;
}

button[aria-label="滚动到底部"]:hover,
button[aria-label="Add image"]:hover {
  color: var(--np-paper) !important;
  background-color: var(--np-ink) !important;
  box-shadow: 2px 2px 0 rgba(168, 38, 28, 0.5) !important;
}

button[aria-label="滚动到底部"] svg,
button[aria-label="Add image"] svg {
  color: currentColor !important;
  stroke: currentColor !important;
  fill: none !important;
}

/* ==================== 消息气泡兼容 ==================== */

[data-message-author-role="assistant"],
[data-role="assistant"],
[data-author="assistant"],
article[data-testid*="assistant"],
div[data-testid*="assistant-message"] {
  position: relative !important;
  overflow: visible !important;
  color: var(--np-ink) !important;
  background-color: var(--np-paper) !important;
  background-image:
    repeating-linear-gradient(
      0deg,
      rgba(23, 20, 15, 0.032) 0 1px,
      transparent 1px 4px
    ),
    radial-gradient(
      circle at 16% 6%,
      rgba(255, 255, 255, 0.6),
      transparent 60%
    ) !important;
  border: 1px solid var(--np-ink) !important;
  border-top: 4px double var(--np-ink) !important;
  border-radius: 2px !important;
  box-shadow: 3px 3px 0 rgba(23, 20, 15, 0.5) !important;
  font-family:
    "Zen Kaku Gothic New",
    "Shippori Mincho B1",
    sans-serif !important;
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

[data-message-author-role="assistant"]:hover,
[data-role="assistant"]:hover,
[data-author="assistant"]:hover,
article[data-testid*="assistant"]:hover,
div[data-testid*="assistant-message"]:hover {
  border-color: var(--np-red) !important;
  box-shadow: 6px 6px 0 rgba(23, 20, 15, 0.55) !important;
}

[data-message-author-role="user"],
[data-role="user"],
[data-author="user"],
article[data-testid*="user"],
div[data-testid*="user-message"] {
  position: relative !important;
  overflow: visible !important;
  color: #f2ece0 !important;
  background-color: var(--np-ink) !important;
  background-image: repeating-linear-gradient(
    0deg,
    rgba(255, 255, 255, 0.03) 0 1px,
    transparent 1px 4px
  ) !important;
  border: 1px solid var(--np-ink) !important;
  border-radius: 2px !important;
  box-shadow: -3px 3px 0 rgba(23, 20, 15, 0.45) !important;
  font-family:
    "Klee One",
    "Zen Kaku Gothic New",
    serif !important;
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

[data-message-author-role="user"]:hover,
[data-role="user"]:hover,
[data-author="user"]:hover,
article[data-testid*="user"]:hover,
div[data-testid*="user-message"]:hover {
  border-color: var(--np-red) !important;
  box-shadow: -6px 6px 0 rgba(23, 20, 15, 0.5) !important;
}

/* ==================== Markdown 内容 ==================== */

[data-message-author-role="assistant"] :is(.markdown, .prose),
[data-role="assistant"] :is(.markdown, .prose),
[data-author="assistant"] :is(.markdown, .prose),
article[data-testid*="assistant"] :is(.markdown, .prose) {
  color: var(--np-ink) !important;
  font-family:
    "Zen Kaku Gothic New",
    "Shippori Mincho B1",
    sans-serif !important;
  line-height: 1.9 !important;
  letter-spacing: 0.02em !important;
}

[data-message-author-role="assistant"] :is(.markdown, .prose) *,
[data-role="assistant"] :is(.markdown, .prose) *,
[data-author="assistant"] :is(.markdown, .prose) *,
article[data-testid*="assistant"] :is(.markdown, .prose) * {
  color: inherit !important;
  background-color: transparent !important;
}

[data-message-author-role="user"] :is(.markdown, .prose),
[data-role="user"] :is(.markdown, .prose),
[data-author="user"] :is(.markdown, .prose),
article[data-testid*="user"] :is(.markdown, .prose) {
  color: #f2ece0 !important;
  font-family:
    "Klee One",
    "Zen Kaku Gothic New",
    serif !important;
  line-height: 1.85 !important;
}

:is(
  [data-message-author-role="assistant"],
  [data-role="assistant"],
  [data-author="assistant"],
  article[data-testid*="assistant"]
) :is(.markdown, .prose) strong {
  color: var(--np-ink) !important;
  background: linear-gradient(
    transparent 64%,
    rgba(168, 38, 28, 0.28) 0
  ) !important;
  font-weight: 700 !important;
}

:is(
  [data-message-author-role="assistant"],
  [data-role="assistant"],
  [data-author="assistant"],
  article[data-testid*="assistant"]
) :is(.markdown, .prose) em {
  color: #5a4c3a !important;
  font-family: "Klee One", serif !important;
  font-style: normal !important;
}

:is(
  [data-message-author-role="assistant"],
  [data-role="assistant"],
  [data-author="assistant"],
  article[data-testid*="assistant"]
) :is(.markdown, .prose) :is(h1, h2, h3) {
  color: var(--np-ink) !important;
  border-bottom: 3px double var(--np-ink) !important;
  padding-bottom: 3px !important;
  font-family:
    "Dela Gothic One",
    "Shippori Mincho B1",
    sans-serif !important;
  letter-spacing: 0.12em !important;
}

:is(
  [data-message-author-role="assistant"],
  [data-role="assistant"],
  [data-author="assistant"],
  article[data-testid*="assistant"]
) :is(.markdown, .prose) blockquote {
  color: #3d3428 !important;
  background: rgba(23, 20, 15, 0.05) !important;
  border-left: 4px solid var(--np-red) !important;
  border-radius: 0 !important;
  font-family: "Klee One", serif !important;
}

:is(
  [data-message-author-role="assistant"],
  [data-role="assistant"],
  [data-author="assistant"],
  article[data-testid*="assistant"]
) :is(.markdown, .prose) code:not(pre code) {
  color: var(--np-paper) !important;
  background: var(--np-ink) !important;
  border-radius: 2px !important;
  padding: 0.12em 0.35em !important;
  font-size: 0.9em !important;
}

:is(
  [data-message-author-role="assistant"],
  [data-role="assistant"],
  [data-author="assistant"],
  article[data-testid*="assistant"]
) :is(.markdown, .prose) pre {
  color: var(--np-paper) !important;
  background: var(--np-ink) !important;
  border: 1px solid var(--np-ink) !important;
  border-radius: 2px !important;
  box-shadow: 2px 2px 0 rgba(168, 38, 28, 0.35) !important;
}

:is(
  [data-message-author-role="assistant"],
  [data-role="assistant"],
  [data-author="assistant"],
  article[data-testid*="assistant"]
) :is(.markdown, .prose) pre code {
  color: var(--np-paper) !important;
  background: transparent !important;
}

:is(
  [data-message-author-role="assistant"],
  [data-role="assistant"],
  [data-author="assistant"],
  article[data-testid*="assistant"]
) :is(.markdown, .prose) hr {
  border: 0 !important;
  border-top: 3px double rgba(23, 20, 15, 0.5) !important;
}

:is(
  [data-message-author-role="assistant"],
  [data-role="assistant"],
  [data-author="assistant"],
  article[data-testid*="assistant"]
) :is(.markdown, .prose) table {
  border-collapse: collapse !important;
}

:is(
  [data-message-author-role="assistant"],
  [data-role="assistant"],
  [data-author="assistant"],
  article[data-testid*="assistant"]
) :is(.markdown, .prose) th {
  color: var(--np-paper) !important;
  background: var(--np-ink) !important;
  border: 1px solid var(--np-ink) !important;
  font-family: "Shippori Mincho B1", serif !important;
  letter-spacing: 0.1em !important;
}

:is(
  [data-message-author-role="assistant"],
  [data-role="assistant"],
  [data-author="assistant"],
  article[data-testid*="assistant"]
) :is(.markdown, .prose) td {
  color: var(--np-ink) !important;
  background: rgba(255, 255, 255, 0.25) !important;
  border: 1px solid rgba(23, 20, 15, 0.3) !important;
}

:is(
  [data-message-author-role="assistant"],
  [data-role="assistant"],
  [data-author="assistant"],
  article[data-testid*="assistant"]
) :is(.markdown, .prose) a {
  color: var(--np-red) !important;
  text-decoration: underline dotted !important;
}

:is(
  [data-message-author-role="user"],
  [data-role="user"],
  [data-author="user"],
  article[data-testid*="user"]
) :is(.markdown, .prose) a {
  color: #ffb3ac !important;
}

/* ==================== Radix 弹窗与菜单 ==================== */

[role="dialog"],
[role="menu"],
[role="listbox"] {
  font-family:
    "Zen Kaku Gothic New",
    "Shippori Mincho B1",
    sans-serif !important;
}

[role="dialog"][class*="border"],
[role="menu"][class*="border"],
[role="listbox"][class*="border"],
[data-radix-menu-content],
[data-radix-popper-content-wrapper] > div[class*="border"] {
  color: var(--np-ink) !important;
  background-color: var(--np-paper) !important;
  background-image: repeating-linear-gradient(
    0deg,
    rgba(23, 20, 15, 0.03) 0 1px,
    transparent 1px 4px
  ) !important;
  border: 1px solid var(--np-ink) !important;
  border-top: 4px double var(--np-ink) !important;
  border-radius: 2px !important;
  box-shadow: 5px 5px 0 rgba(23, 20, 15, 0.42) !important;
}

[role="menuitem"],
[role="option"] {
  color: var(--np-ink) !important;
  border-radius: 2px !important;
  font-family: "Zen Kaku Gothic New", sans-serif !important;
}

[role="menuitem"]:hover,
[role="menuitem"][data-highlighted],
[role="option"]:hover,
[role="option"][data-highlighted] {
  color: var(--np-paper) !important;
  background: var(--np-ink) !important;
}

/* ==================== 通用按钮状态 ==================== */

button:focus-visible {
  outline: 2px solid var(--np-red) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

button:disabled,
button[disabled] {
  color: var(--np-muted) !important;
  background-color: var(--np-paper-dark) !important;
  border-color: var(--np-muted) !important;
  box-shadow: none !important;
  opacity: 0.65 !important;
}

/* ==================== 深色模式强制适配 ==================== */

.dark nav.custom-styles.sticky,
.dark nav.sticky.top-0.w-full,
.dark div[data-slot="input-group"]:has(#prompt-input-body) {
  color: var(--np-ink) !important;
  background-color: var(--np-paper) !important;
}

.dark #prompt-input-header,
.dark #prompt-input-footer,
.dark #prompt-input-body,
.dark #prompt-input-body textarea {
  color: var(--np-ink) !important;
}

.dark #prompt-input-header button,
.dark #prompt-input-footer button:not([type="submit"]) {
  color: var(--np-ink) !important;
  background-color: var(--np-paper-dark) !important;
  border-color: var(--np-ink) !important;
}

.dark #prompt-input-header button:hover,
.dark #prompt-input-footer button:not([type="submit"]):hover {
  color: var(--np-paper) !important;
  background-color: var(--np-ink) !important;
}

/* ==================== 动画 ==================== */

@keyframes npBlink {
  0%,
  100% {
    opacity: 0.45;
  }

  50% {
    opacity: 1;
  }
}

/* ==================== 移动端 ==================== */

@media (max-width: 768px) {
  nav.custom-styles > header,
  nav.sticky.top-0.w-full > header {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }

  #prompt-input-header,
  #prompt-input-footer {
    padding-right: 6px !important;
    padding-left: 6px !important;
  }

  div[data-slot="input-group"]:has(#prompt-input-body)::before {
    left: 7px !important;
  }

  div[data-slot="input-group"]:has(#prompt-input-body)::after {
    display: none !important;
  }

  #prompt-input-body textarea {
    font-size: 14px !important;
  }
}

.chat-box {
  background: #ececec;
  border-radius: 12px;
  padding: 12px;
  font-family: -apple-system, "Microsoft YaHei", sans-serif;
  font-size: 14px;
  max-width: 100%;
  overflow: hidden;
}

.chat-group-title {
  font-size: 13px;
  font-weight: bold;
  color: #333;
  padding: 8px 4px 4px;
  border-bottom: 1px solid #d9d9d9;
  margin-bottom: 8px;display: flex;
  align-items: center;
  gap: 6px;
}

.chat-group-title .chat-time {
  margin-left: auto;
}

.chat-time {
  font-size: 11px;
  font-weight: normal;
  color: #999;
}

.chat-title-icon {
  width: 22px;
  height: 22px;
  border-radius: 4px;
  object-fit: cover;
}

.chat-divider {
  height: 1px;
  background: #d9d9d9;
  margin: 12px 0;
}

.msg-row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 10px;
  gap: 8px;
}

.msg-row.left {
  flex-direction: row;
  justify-content: flex-start;
}

.msg-row.right {
  flex-direction: row-reverse;
  justify-content: flex-start;
}

.chat-avatar {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
  box-shadow: 0 1px 3px rgba(0,0,0,0.12);
}

.chat-avatar-placeholder {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  background: linear-gradient(135deg, #74b9ff, #a29bfe);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: bold;
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 1px 3px rgba(0,0,0,0.12);
}

.msg-content {
  max-width: 70%;
  display: flex;
  flex-direction: column;
}

.msg-name {
  font-size: 11px;
  color: #888;
  margin-bottom: 2px;
  padding-left: 4px;
}

.bubble {
  padding: 8px 12px;
  border-radius: 8px;
  line-height: 1.5;
  word-break: break-word;
  position: relative;
}

.left-bubble {
  background: #fff;
  color: #333;
  border-top-left-radius: 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.08);
}

.right-bubble {
  background: #95ec69;
  color: #333;
  border-top-right-radius: 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.08);
}

.left-bubble::before {
  content: "";
  position: absolute;
  left: -6px;
  top: 10px;
  border-width: 6px;
  border-style: solid;
  border-color: transparent #fff transparent transparent;
}

.right-bubble::after {
  content: "";
  position: absolute;
  right: -6px;
  top: 10px;
  border-width: 6px;
  border-style: solid;
  border-color: transparent transparent transparent #95ec69;
}

.chat-unread {
  text-align: center;
  font-size: 12px;
  color: #fff;
  background: #f55;
  border-radius: 10px;
  padding: 2px 12px;
  margin: 10px auto 0;
  width: fit-content;
  display: block;
}