:root{--bg:#fafaf7;--ink:#252b25;--muted:#747970;--green:#355449;--line:#e3e6df;--red:#355449}*{box-sizing:border-box}html{touch-action:manipulation}body{margin:0;background:#e8eae5;color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased;-webkit-touch-callout:none}button,input,textarea{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer;min-width:44px;min-height:44px;padding:8px;-webkit-appearance:none;appearance:none}button:active{opacity:.65}button:disabled{opacity:.4;cursor:default}button:focus,input:focus,textarea:focus{outline:2px solid var(--green);outline-offset:2px}main:focus{outline:none}button svg{width:22px;height:22px;vertical-align:middle;flex-shrink:0}p,h1,h2{margin:0}img{display:block;max-width:100%;height:auto}#app{max-width:480px;min-height:100vh;margin:auto;background:var(--bg);padding-top:0;padding-top:var(--safe-area-inset-top,env(safe-area-inset-top,0px))}#header{padding:12px 20px 0}main{padding:0 20px 100px;padding-bottom:calc(100px + var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))}.brand{display:flex;align-items:center;justify-content:space-between;height:44px;margin-bottom:19px}.brand-name{font-size:17px;font-weight:600;letter-spacing:.3px}.saved-toggle{display:flex;align-items:center;font-size:12px;margin-right:-8px}.saved-toggle svg{width:18px;height:18px;margin-right:5px}.saved-toggle.selected{color:var(--green);background:#eaf0e9;border-radius:4px}.selected svg,[aria-pressed=true].favorite svg,[aria-pressed=true].favorite-detail svg{fill:currentColor}.heading-row{display:flex;align-items:baseline;margin-bottom:17px}.heading-row h1{font-size:29px;line-height:1.3;font-weight:600;letter-spacing:-.5px}.heading-row>span{margin-left:12px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.search{display:flex;align-items:center;background:#eff1ed;border:1px solid transparent;border-radius:5px;padding:0 11px;min-height:44px}.search>svg{width:18px;height:18px;color:#7d857c;flex-shrink:0}.search input{border:0;background:none;width:100%;min-width:0;padding:10px;font-size:13px}.search input::placeholder{color:#858b83}.search button{font-size:22px;margin-right:-10px}.filters{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;margin:9px 0 16px;border-bottom:1px solid var(--line)}.filters button{flex-shrink:0;padding:10px 2px 11px;margin-right:23px;font-size:12px;color:#747b73;border-bottom:2px solid transparent}.filters button[aria-pressed=true]{color:var(--green);font-weight:600;border-color:var(--green)}.masonry{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px}.masonry>div{min-width:0}.asset-card{margin-bottom:21px;min-width:0;position:relative}.open-asset{width:100%;padding:0;text-align:left;display:block}.art{border-radius:3px;overflow:hidden;border:1px solid #e9eae4;background:#f1f1e9}.art img{width:100%;height:auto}.envelope-art{background:#eee}.asset-name{display:block;font-size:12px;line-height:1.6;padding:9px 25px 0 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.asset-card>.card-bottom{min-height:20px;padding-top:1px}.card-bottom{display:flex;align-items:center;justify-content:space-between}.asset-tag{font-size:10px;color:#80887c;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;padding-right:22px}.favorite{color:#626f62;flex-shrink:0;margin-right:-9px;padding:10px}.favorite svg{width:16px;height:18px}.asset-card .favorite{position:absolute;right:0;bottom:0}.favorite[aria-pressed=true]{color:var(--green)}.load-more{display:block;width:100%;border-top:1px solid var(--line);font-size:12px;color:#637061;margin:14px 0}.device-note{font-size:10px;color:#868b81;text-align:center;padding:14px 0}.sentence-card{padding:3px 0 12px;border-bottom:1px solid var(--line);margin-bottom:20px}.quote-meta{font-size:11px;color:var(--green);line-height:1.6}.quote{font-size:18px;line-height:1.8;letter-spacing:.1px;font-weight:400;margin:9px 0 3px;-webkit-user-select:text;user-select:text}.sentence-card .card-bottom{justify-content:flex-end}.sentence-card .favorite{margin-left:8px}.open-text{font-size:11px;color:var(--green)}.empty{padding:58px 14px;text-align:center}.empty>svg{width:30px;height:30px;color:#83907f}.empty h2{font-size:17px;font-weight:500;margin:20px 0 10px}.empty p{font-size:12px;color:var(--muted);margin-bottom:22px}.primary,.secondary{border-radius:4px;display:block;width:100%;padding:12px 16px;font-size:14px;min-height:48px}.primary{background:var(--green);color:#fff}.secondary{border:1px solid #d8ded3;background:#f0f3ed}.warning{font-size:12px;color:#874737;padding:10px;background:#f7efea}#navigation{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:auto;display:flex;justify-content:space-around;background:var(--bg);border-top:1px solid var(--line);padding:8px 14px 10px;padding-bottom:calc(10px + var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)));z-index:5}#navigation button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:30%;font-size:11px;color:#797f75;padding:4px}#navigation svg{margin-bottom:4px;width:21px;height:21px}#navigation [aria-current=page]{color:var(--green);font-weight:600}#navigation [aria-current=page]:before{content:'';position:absolute;top:-8px;width:23px;height:2px;background:var(--green)}[hidden]{display:none!important}#notice{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);max-width:85%;width:max-content;background:#29392e;color:#fff;padding:11px 17px;border-radius:4px;z-index:70;font-size:12px}.detail-header{display:flex;align-items:center;justify-content:space-between;margin:0 -8px 20px}.detail-header>span{font-size:14px}.detail-header .detail-mark{font-size:12px;color:#7d8778;width:58px}.favorite-detail{margin-top:20px;display:flex;align-items:center;justify-content:center}.favorite-detail svg{width:19px;margin-right:9px}.detail-pagination{display:flex;justify-content:space-between;margin-top:14px}.detail-pagination button{font-size:12px;color:var(--green)}.sentence-detail{padding:18px 0 30px;border-bottom:1px solid var(--line);margin:20px 0 28px}.eyebrow{font-size:12px;color:var(--green)}.detail-quote{font-size:25px;line-height:1.85;margin-top:22px;-webkit-user-select:text;user-select:text}.original-label{display:block;font-size:11px;color:#7c8778;margin-top:28px}.select-label{display:block;font-size:12px;color:#737d6c;margin-bottom:10px}#select-text{width:100%;height:112px;resize:vertical;border:1px solid #dce1d6;border-radius:4px;background:#f6f8f2;padding:12px;margin-bottom:10px;font-size:14px;line-height:1.7;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.image-error{padding:40px 12px;font-size:12px;color:#874737}@media(max-width:350px){#header{padding-left:16px;padding-right:16px}main{padding-left:16px;padding-right:16px}.heading-row h1{font-size:27px}.quote{font-size:17px}.filters button{margin-right:19px}.masonry{grid-gap:12px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.album{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#171815;color:#f6f4ed;display:flex;flex-direction:column;padding-top:0;padding-top:var(--safe-area-inset-top,env(safe-area-inset-top,0px));padding-bottom:0;padding-bottom:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px))}.album-top{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;flex-shrink:0}.album-top>span{font-size:13px;color:#cbcbbf}.album-top button{color:inherit}.album-top button:first-child{font-size:30px;font-weight:300}.album-top [aria-pressed=true] svg{fill:currentColor}.album-stage{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;min-width:0;overflow:hidden;padding:0 12px;touch-action:pan-y}.album-stage img{width:100%;height:100%;object-fit:contain;max-width:100%;max-height:100%;-webkit-user-select:none;user-select:none}.album-bottom{flex-shrink:0;padding:12px 20px 6px;text-align:center}.album-controls{display:flex;align-items:center;justify-content:space-between;max-width:480px;margin:auto}.album-controls>span{font-size:11px;color:#979b8d}.album-controls button{font-size:22px;color:inherit}.album-controls button:disabled{opacity:.25}#album-title{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#album-retry{color:#f6f4ed;border:1px solid #686c5c;border-radius:6px}#notice{z-index:70}

/* Compact content-first layout */
.brand{margin-bottom:9px}.heading-row{margin-bottom:12px}.heading-row h1{font-size:23px;line-height:1.4;font-weight:500;letter-spacing:0}.brand-name{font-size:15px}.heading-row>span{font-size:11px;margin-left:9px}.filters{margin:0 0 15px}.filters button{padding-top:6px;padding-bottom:9px}.sentence-card{position:relative;padding:14px 0 19px;margin-bottom:0}.sentence-card:first-child{padding-top:2px}.quote-meta{padding-right:44px;color:#7a8377;font-size:11px;min-height:25px;display:flex;align-items:center}.quote{font-size:17px;line-height:1.85;margin:5px 0 0}.sentence-card .card-bottom{position:absolute;top:4px;right:0}.sentence-card:first-child .card-bottom{top:-8px}.sentence-card .favorite{margin-left:0;margin-right:-9px}.sentence-card .favorite svg{width:15px;height:17px}.quote{-webkit-touch-callout:default}.asset-card{margin-bottom:17px}

.asset-name{padding-right:0}.asset-tag{padding-right:0}.quote-meta{padding-right:0}.album-top #album-save{font-size:12px;min-width:76px}.album-top #album-close{min-width:76px;text-align:left}.watermark-note{font-size:10px;color:#a2a79a;margin-top:6px}

/* Excerpt collection */
#header{padding-top:14px}.brand{height:36px;margin-bottom:12px}.brand-name{font-size:13px;color:#687360;font-weight:500}.heading-row{margin-bottom:15px}.heading-row h1{font-size:25px;font-weight:600}.heading-row>span{background:#eef1e9;border-radius:4px;padding:1px 6px;color:#73806a}.sentence-view .filters{flex-wrap:wrap;overflow:visible;border:0;margin:0 -6px 15px 0}.sentence-view .filters button{margin:0 6px 7px 0;border:1px solid #e0e5d9;border-radius:5px;padding:5px 11px;min-height:36px;background:#fff;font-size:12px}.sentence-view .filters button[aria-pressed=true]{background:#355449;border-color:#355449;color:#fff}.sentence-view #results{padding-top:0}.sentence-card,.sentence-card:first-child{padding:12px 16px 18px;border:1px solid #e2e7dc;border-radius:7px;background:#fff;margin:0 0 12px}.excerpt-top{display:flex;align-items:center;justify-content:space-between;margin:-5px -7px 3px 0;min-height:36px}.excerpt-category{font-size:11px;color:#79866e}.copy-sentence{font-size:11px;color:#48633e;display:flex;align-items:center;min-height:44px;padding:8px}.copy-sentence svg{width:14px;height:14px;margin-right:5px}.sentence-card .quote{font-size:17px;font-weight:400;line-height:1.85;margin:0;letter-spacing:.2px}.selected-quote{display:block;width:100%;resize:none;border:0;background:transparent;padding:0;font-family:inherit;overflow:hidden;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.copy-help{font-size:11px;color:#66785c;padding-top:12px}.asset-view .art{border-radius:5px}.asset-view .asset-card{margin-bottom:20px}.asset-view .filters{margin-bottom:17px}

/* Individual letter-note cards */
.sentence-card,.sentence-card:first-child{background:#fffaf0;border-color:#e8dfce;border-radius:10px;padding:20px 23px 8px;margin-bottom:18px;box-shadow:0 3px 10px rgba(72,61,38,.035);overflow:hidden}.sentence-card:nth-child(3n+2){background:#f0f5ee;border-color:#dce6d8}.sentence-card:nth-child(3n){background:#f6f3f8;border-color:#e6dfeb}.sentence-card .excerpt-top{margin:0;min-height:20px;justify-content:flex-start}.excerpt-category{font-size:11px;letter-spacing:1px;color:#81735a;display:flex;align-items:center}.excerpt-category:before{content:'';display:block;width:14px;height:1px;background:currentColor;margin-right:8px}.sentence-card:nth-child(3n+2) .excerpt-category{color:#697e63}.sentence-card:nth-child(3n) .excerpt-category{color:#85718b}.sentence-card .quote{font-size:18px;line-height:1.95;letter-spacing:.5px;margin:20px 0 22px;color:#3b3d34}.note-footer{border-top:1px solid rgba(90,88,64,.12);display:flex;align-items:center;justify-content:space-between;min-height:44px}.note-footer>span{font-size:10px;color:#8c8b7e;letter-spacing:1px}.note-footer .copy-sentence{margin-right:-7px;color:#6c775f;font-size:11px}.selected-quote{font-family:inherit}.copy-help{padding:5px 0 10px}.sentence-view .filters button{border-radius:16px;padding:5px 12px}.sentence-view .filters{margin-bottom:12px}@media(max-width:350px){.sentence-card,.sentence-card:first-child{padding-left:19px;padding-right:19px}.sentence-card .quote{font-size:17px}}

/* Illustrated letter cards, six backgrounds from a single local atlas */
.sentence-card.illustrated-card,.sentence-card.illustrated-card:first-child{border:0;background:transparent;border-radius:0;box-shadow:none;padding:0;margin:0 0 25px;overflow:visible}.illustrated-card .excerpt-top{justify-content:space-between;margin:0 0 9px;min-height:26px}.note-theme{font-size:13px;color:#76684f;letter-spacing:1px}.illustrated-card .excerpt-category{font-size:10px;color:#929080;letter-spacing:0}.illustrated-card .excerpt-category:before{display:none}.note-face{background-image:url(./assets/sentence-atlas.webp);background-size:300% 200%;background-position:0 0;min-height:410px;padding:95px 47px 115px;box-shadow:0 4px 12px rgba(75,64,45,.13);border-radius:2px}.note-1 .note-face{background-position:50% 0}.note-2 .note-face{background-position:100% 0}.note-3 .note-face{background-position:0 100%}.note-4 .note-face{background-position:50% 100%}.note-5 .note-face{background-position:100% 100%}.illustrated-card .quote{font-family:"Kaiti SC",STKaiti,KaiTi,"Songti SC",STSong,serif;font-size:23px;line-height:1.9;font-weight:400;color:#294b72;letter-spacing:1px;margin:0}.note-1 .quote{color:#4d5c39}.note-3 .quote{color:#805039}.note-4 .quote{color:#65462e}.note-5 .quote{color:#35486d}.illustrated-card .note-footer{border:0;padding:5px 0 0}.illustrated-card .copy-help{padding:0 0 6px}.illustrated-card .selected-quote{background:transparent}@media(max-width:350px){.note-face{min-height:370px;padding:82px 39px 105px}.illustrated-card .quote{font-size:21px;line-height:1.85}}
/* Compact illustrated cards */
.sentence-view .sentence-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:16px 12px;align-items:start}.sentence-card.illustrated-card,.sentence-card.illustrated-card:first-child{margin:0;min-width:0}.illustrated-card .excerpt-top{margin-bottom:5px;min-height:23px}.note-theme{font-size:11px;letter-spacing:0}.illustrated-card .excerpt-category{display:none}.note-face{min-height:228px;padding:45px 20px 55px;box-shadow:0 2px 6px rgba(75,64,45,.1)}.illustrated-card .quote{font-size:15px;line-height:1.7;letter-spacing:0;overflow-wrap:break-word}.illustrated-card .note-footer{padding-top:0;min-height:38px}.illustrated-card .note-footer>span{font-size:9px;letter-spacing:0}.illustrated-card .copy-sentence{font-size:10px;padding:6px;min-height:44px;margin-right:-5px}.copy-sentence svg{width:12px;height:12px;margin-right:3px}.illustrated-card .copy-help{font-size:10px;line-height:1.5}@media(max-width:350px){.sentence-view .sentence-list{grid-gap:12px 10px}.note-face{min-height:210px;padding:42px 17px 50px}.illustrated-card .quote{font-size:14px;line-height:1.7}.note-theme{font-size:10px}.illustrated-card .note-footer>span{display:none}.illustrated-card .note-footer{justify-content:flex-end}}

@font-face{font-family:ManyouHandwriting;src:url(./assets/handwriting.woff2) format('woff2');font-style:normal;font-weight:400;font-display:swap}.illustrated-card .quote{font-family:ManyouHandwriting,"Kaiti SC",KaiTi,serif;font-size:19px;line-height:1.65;letter-spacing:0}@media(max-width:350px){.illustrated-card .quote{font-size:18px}}

.copy-panel{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(22,28,22,.4);z-index:80;display:flex;align-items:flex-end;justify-content:center}.copy-sheet{width:100%;max-width:480px;max-height:90vh;overflow:auto;background:#fafaf7;border-radius:14px 14px 0 0;padding:15px 20px 24px;padding-bottom:calc(24px + var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))}.copy-sheet-heading{display:flex;align-items:center;justify-content:space-between}.copy-sheet-heading h2{font-size:17px;font-weight:500}.copy-sheet-heading button{font-size:26px}.copy-instructions{font-size:12px;color:#687760;margin:0 0 12px}#copy-content{width:100%;height:156px;resize:none;padding:12px;border:1px solid #dce2d4;background:#fff;border-radius:5px;font:16px/1.8 -apple-system,"PingFang SC",sans-serif;margin-bottom:12px;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
