/* Fresh paper, cobalt ink, and real photographs: a living personal zine. */
:root{--ink:#27344a;--muted:#697381;--line:#c5cbd3;--blue:#244ac2;--paper:#fafbf9;--glass:#fffffff0}
body{background:var(--paper)}
body:before{background:url('assets/white-paper-collage.webp') center bottom / cover no-repeat}
p{color:#626d7c}
.glass{background:var(--glass);border:1px solid #dce0e3;box-shadow:0 3px 10px #25385406;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
aside.glass{background:#fdfefcf2;border-radius:5px;border-color:#dce0e3;box-shadow:3px 4px 0 #eff1ee,6px 7px 0 #ffffffa6;padding-top:30px}
aside:after{content:'';position:absolute;top:25px;bottom:25px;right:8px;border-right:1px dashed #c5cdd5;pointer-events:none}
.avatar{border-radius:3px;background:#244ac2;box-shadow:none;transform:rotate(-5deg)}
.brand{color:#202f4a}.sub,.sideintro,.sidefoot{color:#697381}
.nav button{color:#66717e;border-radius:3px}.nav button.active{background:#e9eefb;color:#244ac2;box-shadow:inset 3px 0 0 #244ac2}
.nav button:hover{background:#eff2f6}.nav details{border-color:#ccd3de}.nav summary{color:#818996}
.sidefoot{border-top:1px dashed #c5cbd3}.dot{background:#3157b8;box-shadow:0 0 0 4px #3157b80b}
.topbar{background:#fafbf9e6;border-bottom:1px solid #cbd1d8;backdrop-filter:blur(12px);color:#6b7480}
.sound{border-color:#d5dae1;background:#ffffffa6}
.page{padding-top:28px}.hero{grid-template-columns:minmax(0,1fr) 245px;gap:35px;min-height:338px;margin-bottom:23px}
.hello{font-size:12px;color:#556683;letter-spacing:.4px}
h1{color:#263b67;font-size:clamp(44px,4.35vw,67px);letter-spacing:-2.5px;margin:20px 0 23px}
h1 .cn{color:#2b3646;letter-spacing:0;margin-top:16px;font-size:.53em}
.hero p{line-height:2.05;color:#647080;font-size:12px;margin-bottom:22px}
.tag{border:1px solid #d6dce5;background:#ffffffb0;color:#687489;border-radius:2px;padding:6px 10px}
.hero .tag{border:0;border-bottom:1px solid #9fb0ce;background:transparent;padding:4px 0;margin-right:10px}
.hero-art.collage-portrait{height:338px;scale:1;perspective:none;display:grid;place-items:center;isolation:isolate;animation-delay:.1s}
.portrait-sheet{width:186px;padding:0 0 7px;border:0;background:#fff;box-shadow:3px 6px 12px #23395313;transform:rotate(4deg);position:relative;transition:transform .4s var(--ease)}
.portrait-sheet:before{content:'';position:absolute;width:72px;height:20px;top:-9px;left:58px;z-index:1;background:#eef2f0b3;border:1px solid #dce0db70;transform:rotate(-6deg);clip-path:polygon(2% 0,97% 2%,100% 23%,97% 50%,100% 76%,98% 100%,1% 97%,3% 60%,0 28%)}
.portrait-sheet:hover{transform:rotate(1deg) translateY(-3px)}
.portrait-sheet img{display:block;width:100%;height:282px;object-fit:cover;object-position:center 65%}
.portrait-caption{display:block;padding:10px 6px 3px;font-family:Georgia,'Songti SC',serif;letter-spacing:.8px;font-size:10px;color:#3b4658}
.portrait-note{position:absolute;left:-6px;bottom:3px;background:#fff;color:#385188;border-bottom:2px solid #244ac2;padding:8px 13px;font-family:'Kaiti SC','Songti SC',serif;font-size:12px;line-height:1.7;transform:rotate(-5deg);box-shadow:1px 3px 8px #203d6510}
.collection-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#657185;border-top:1px solid #cbd2de;padding-top:19px;margin:0 0 18px}
.collection-heading span:last-child{font-family:monospace;font-size:9px;letter-spacing:1.5px;color:#8b95a3}
.overview{gap:24px;margin:0 0 56px}.overview .folder-card{height:345px}
.folder-card{height:398px;border-radius:8px 19px 7px 7px;border:1px solid #c6d2e4;background:linear-gradient(135deg,#f6f8fbf7,#e4ebf4ed);box-shadow:inset 0 1px 0 #fff,3px 4px 0 #f8fafc,4px 5px 0 #d7dfe9;overflow:hidden;transition:box-shadow .35s,border-color .35s}
.folder-card:hover{border-color:#9bafd3;box-shadow:inset 0 1px 0 #fff,3px 4px 0 #f8fafc,4px 5px 0 #abbdd8,0 8px 18px #25395809}
.folder-card .folder-tab{top:16px;left:19px;font-size:10px;color:#5b6e8f;letter-spacing:.3px}
.folder-count{border:1px solid #c9d4e5;border-radius:3px;background:#ffffffad;font-family:monospace;font-size:9px;color:#6d7d94;top:11px;right:15px}
.folder-stack{inset:60px 23px 127px;perspective:none}
.paper{height:100%;left:8%;width:84%;border-radius:2px;background:#fff;border:5px solid #fff;box-shadow:0 3px 9px #273c6015}
.paper img{object-fit:cover;object-position:top}
.paper.memory{width:59%;left:20.5%;border-width:3px;background:#f9f8f4}
.paper.memory img{object-fit:contain;object-position:center}
.paper-backing{background:repeating-linear-gradient(#eef2f9 0,#eef2f9 22px,#cad5e538 23px,#eef2f9 24px)!important;border-color:#eef2f9;width:72%;left:14%}
.paper-backing:nth-child(2){background:#d8e4f5!important;border-color:#e3ebf8}
.paper-mark{display:block;padding:30px 20px;color:#8fa0ba;font:10px/2.5 monospace;letter-spacing:2px;text-align:right}
.paper:nth-child(1){transform:translateY(-12px) rotate(-8deg) scale(.91)}
.paper:nth-child(2){transform:translateY(-3px) rotate(6deg) scale(.96)}
.paper:nth-child(3){transform:translateY(5px) rotate(-3deg)}
.folder-card:hover .paper:nth-child(1),.folder-card:focus-visible .paper:nth-child(1){transform:translate(-20px,-19px) rotate(-12deg) scale(.94)}
.folder-card:hover .paper:nth-child(2),.folder-card:focus-visible .paper:nth-child(2){transform:translate(24px,-10px) rotate(10deg)}
.folder-card:hover .paper:nth-child(3),.folder-card:focus-visible .paper:nth-child(3){transform:translateY(-5px) rotate(-1deg)}
.folder-front{min-height:125px;padding:22px 22px 20px;border-radius:0 0 7px 7px;border-top:1px solid #fff;background:linear-gradient(135deg,#ffffffef,#f9fcffcf);box-shadow:inset 0 1px 0 white;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.folder-front:after{content:'';position:absolute;top:0;left:22px;width:42px;height:2px;background:#3156b9}
.folder-front:before{display:none}.folder-front h3{font-size:22px;font-weight:500;letter-spacing:-.4px;color:#2d405f}
.folder-front p{color:#6a778a;font-size:11px;line-height:1.9}.folder-open{color:#3258ab!important}
.overview .folder-stack{top:58px;bottom:123px}.overview .folder-front{min-height:119px}.overview .folder-front h3{font-size:24px}
.folder-caption{color:#6c7b91;font-size:10px;padding-top:12px}
.folder-grid{border-left:1px dashed #aab8ce;gap:30px 24px}
.folder-grid .entry:after{background:#2c53b5;box-shadow:0 0 0 5px #fafbf9;left:-32px}
.date{color:#728097!important;font-family:monospace}.year{color:#263f75;font-style:italic;padding:23px 0 26px;font-size:28px}
.sectionhead h2,.section-title{font-size:26px;letter-spacing:.5px;color:#2f3c51}.sectionhead p{color:#7a8390}
.filters{border-radius:3px;padding:3px;border-color:#d6dce5;background:#ffffffc9;box-shadow:none}.filters button{border-radius:2px;color:#7b8594}.filters button.sel{background:#2d52b8;color:white;box-shadow:none}
.research-paper{padding:20px;background:#fff;font-family:'Songti SC',serif;color:#334b7c;display:flex;flex-direction:column;justify-content:space-between}
.research-paper small{font:8px monospace;letter-spacing:2px}.research-paper b{font-weight:400;font-size:22px;line-height:1.4}.research-paper>span{font-size:10px;color:#8290a4}
.writing-card,.about-body,.about-side,.contact-box{border-radius:3px;background:#fffffff5;position:relative;border-color:#d9dfe5;box-shadow:3px 4px 0 #f0f3f5,4px 5px 0 #dce2ea}
.writing-card{border-left:4px solid #3156b9}.writing-card:after{content:'';position:absolute;right:30px;top:-9px;width:70px;height:19px;background:#e7edf8ad;transform:rotate(5deg)}
.writing-card .category,.text-button{color:#3156b9}.about-side{background:#f1f5fcf7}.about-photo-pair{display:flex;gap:7px;margin:0 0 30px;padding:5px 3px 0}
.about-photo-pair button{border:4px solid white;padding:0;width:49%;transform:rotate(-5deg);background:white;box-shadow:2px 3px 7px #2a3d5917}
.about-photo-pair button+button{transform:rotate(6deg) translateY(10px)}.about-photo-pair img{display:block;width:100%;height:150px;object-fit:cover}
.contact-box:after{content:'';position:absolute;bottom:8px;left:8px;right:8px;border-bottom:1px dashed #bac8df;pointer-events:none}
.link-pill,.magic{border-radius:3px;border-color:#cbd5e6;background:#f6f9fe;color:#37548d}.magic{background:#f4f7fb}
.footer{color:#64728b;border-color:#a5b5ce;background:#fafbf9c9;padding:20px 12px}
dialog{background:#fcfdfb;border-radius:6px;border-color:#e0e3e6;backdrop-filter:none;box-shadow:0 22px 90px #1c294e38}
dialog::backdrop{background:#24385938;backdrop-filter:blur(7px)}
.dialogbar{background:#f8faf6f2;border-bottom:1px dashed #bec9d8;color:#667890}.close{border-color:#ced7e5;background:white;color:#3d5480}
.detail{padding-top:36px}.detail h2{color:#2a406d}.category{color:#566c93}.detail .intro{color:#617085}.detailmeta{border-color:#c9d3e1;color:#71819a}
.result .glass{border-radius:2px;border-color:#d1dbed;background:#edf2fb;color:#37558a}
.gallery-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;border-bottom:1px solid #cbd5e3;padding:0 0 12px;margin:35px 0 24px}
.gallery-heading h3{margin:0}.gallery-heading>span{font-size:10px;color:#7a889c}
.gallery{gap:28px 22px;margin:0 0 30px;align-items:start}
.gallery-sheet{background:#fff;padding:8px 8px 12px;border:1px solid #dde2e8;box-shadow:2px 3px 0 #eff2f5;position:relative}
.gallery-sheet:nth-child(3n+1){transform:rotate(-.8deg)}.gallery-sheet:nth-child(3n+2){transform:rotate(.8deg)}
.gallery-sheet.memory:before{content:'';position:absolute;width:55px;height:16px;top:-7px;left:calc(50% - 27px);transform:rotate(-3deg);background:#e8edf2b0;z-index:1;pointer-events:none}
.photo-open{width:100%;display:block;position:relative;border:0;background:#f5f7fa;padding:0}
.gallery img{width:100%;max-height:none;height:auto;display:block;object-fit:contain;border:0;border-radius:0;background:#f7f8f5}
.photo-zoom{position:absolute;bottom:8px;right:8px;border-radius:50%;background:#fffce9ee;color:#3d567d;width:27px;height:27px;display:grid;place-items:center;font-size:16px;border:1px solid #fff}
.gallery figcaption{margin:12px 3px 0;display:flex;align-items:baseline;gap:9px;font-size:10px;line-height:1.7;color:#64758e}
.photo-number{font:10px monospace;color:#375bad}.detail-actions button{border-radius:3px}
.photo-dialog{width:min(1080px,calc(100vw - 40px));height:calc(100dvh - 36px);max-height:calc(100dvh - 36px);padding:0;background:#fafbf9;overflow:hidden}
.photo-dialog[open]{display:flex;flex-direction:column}.photo-toolbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;font-size:11px;color:#687b99;background:#fffffff0;border-bottom:1px solid #d5dde8}
.photo-toolbar button{width:32px;height:32px;background:#f2f5fc;border:1px solid #d6dfef;border-radius:50%;font-size:19px;color:#47638f}
.photo-toolbar button:disabled{opacity:.3;cursor:default}.photo-toolbar footer{border-top:1px solid #d5dde8}.photo-toolbar div{text-align:center}
.photo-toolbar p{font-size:12px;line-height:1.5;margin:0;color:#425b82}.photo-toolbar small{font:9px monospace;color:#8594ab}
.photo-stage{flex:1;min-height:0;display:flex;justify-content:center;padding:18px;overflow:auto;background:#eff2f5}
.photo-stage img{display:block;max-width:100%;height:100%;object-fit:contain;align-self:center}
.photo-open-body{overflow:hidden}
.chat-panel{background:#fcfdf9f5;border-radius:9px;border-color:#d7e0ec}.chat-top{border-bottom:1px dashed #c1cde0}.message{background:#edf2fa;color:#536986;border-radius:5px}.message.user{background:#dfe9fb}.chat-compose,.chat-note{background:#f7f9f4}
.chat-invite{color:#3e5376;background:linear-gradient(145deg,#fff,#fafcfe)}.chat-invite:after{background:#fafcfe}.chat-invite span{color:#7b8ba1}
@media(max-width:1100px){.hero{grid-template-columns:minmax(0,1fr) 195px;gap:16px}.hero h1{font-size:48px}.hero-art.collage-portrait{height:330px;scale:.94;transform-origin:center}.folder-stack{left:15px;right:15px}.folder-front h3{font-size:20px}.folder-grid{gap:26px 18px}.folder-card{height:383px}}
@media(max-width:1050px){.folder-grid .entry:after{left:-27px}}
@media(max-width:760px){
 body:before{background-size:auto 100dvh;background-position:72% bottom}
 aside.glass{background:#fdfefc;box-shadow:6px 10px 30px #24385b26}.topbar{height:64px;background:#fafbf9f5}
 .page{padding:28px 20px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 114px;gap:10px;align-items:start;min-height:0;margin-bottom:27px;position:relative}
 .hero>div:first-child{min-width:0}.hero h1{font-size:39px;letter-spacing:-1.5px;white-space:nowrap;margin:16px 0 17px}.hero h1 .cn{font-size:23px;letter-spacing:0;white-space:normal;line-height:1.5;max-width:200px;margin-top:12px}
 .hero .hello{font-size:10px;letter-spacing:0}.hero p{font-size:12px;line-height:1.95;margin-top:30px;width:calc(100% + 124px);padding-right:0}.hero .tags{width:calc(100% + 124px);gap:3px}
 .hero-art.collage-portrait{display:block;height:175px;scale:1;top:18px;align-self:start}.portrait-sheet{width:104px;padding-bottom:3px;transform:rotate(5deg)}.portrait-sheet img{height:153px;object-position:center 68%}.portrait-caption{font-size:7px;padding:6px 1px 3px;letter-spacing:0}.portrait-sheet:before{width:42px;height:14px;left:31px;top:-7px}.portrait-note{display:none}
 .collection-heading{font-size:10px;padding-top:16px}.collection-heading span:last-child{font-size:8px;letter-spacing:1px}
 .overview{gap:24px;margin-bottom:45px}.overview .folder-card{height:347px}.folder-card{height:391px}.folder-stack{inset:60px 20px 129px}.paper.memory{width:64%;left:18%}
 .folder-front{padding:21px 20px;min-height:125px}.folder-front h3{font-size:22px}.folder-front p{font-size:11px}.folder-grid{margin-left:5px;padding-left:20px}.folder-grid .entry:after{left:-24px}
 .sectionhead h2,.section-title{font-size:24px}.sectionhead{gap:18px}.filters{max-width:100%;display:flex}.filters button{padding:7px 11px;font-size:10px}
 .about-photo-pair img{height:210px}.gallery{grid-template-columns:1fr;gap:28px}.gallery-heading>span{font-size:9px}.gallery-heading h3{font-size:17px}
 .gallery-sheet{max-width:370px;margin:0 auto!important;width:100%}.gallery figcaption{font-size:11px}.detail{padding:26px 23px}.detail h2{font-size:31px}
 dialog{border-radius:7px}.photo-dialog{width:calc(100vw - 12px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.photo-toolbar{padding:11px 13px}.photo-stage{padding:7px}.photo-toolbar p{font-size:10px}.photo-toolbar small{font-size:9px}
 .footer{font-size:9px;line-height:1.7}.chat-panel{border-radius:12px}
}
@media(max-width:359px){.hero h1{font-size:34px}.hero h1 .cn{font-size:21px}.hero{grid-template-columns:minmax(0,1fr) 92px}.portrait-sheet{width:88px}.portrait-sheet img{height:140px}.hero p,.hero .tags{width:calc(100% + 102px)}.filters button{padding:7px 9px}}
@media(max-width:760px){
 .hero{gap:14px 10px}
 .hero>div:first-child{display:contents}
 .hero .hello{grid-column:1;grid-row:1;align-self:end}
 .hero h1{grid-column:1;grid-row:2;margin:0;align-self:start}
 .hero-art.collage-portrait{grid-column:2;grid-row:1 / span 2;top:0;min-height:185px;height:185px}
 .hero p{grid-column:1 / -1;grid-row:3;width:auto;margin:8px 0 3px}
 .hero .tags{grid-column:1 / -1;grid-row:4;width:auto}
}
@media(prefers-reduced-motion:reduce){.portrait-sheet,.folder-card,.paper{transition:none!important}}
