:root{color:#242421;font-synthesis:none;background:#eceae4;font-family:Yu Gothic,Meiryo,system-ui,sans-serif;font-size:16px;font-weight:500;line-height:1.6}*{box-sizing:border-box}body{background:linear-gradient(#f8f7f2e8,#f5f3eee8),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='440'%20height='600'%20viewBox='0%200%20440%20600'%3e%3cdefs%3e%3cpattern%20id='stone-wall'%20width='220'%20height='150'%20patternUnits='userSpaceOnUse'%3e%3crect%20width='220'%20height='150'%20fill='%23E9E9E5'/%3e%3cg%20stroke='%23F7F7F4'%20stroke-width='2.5'%20stroke-linejoin='round'%3e%3cpath%20d='M-8%204L52%200L64%2029L54%2047L-4%2042Z'%20fill='%23EEEEEA'/%3e%3cpath%20d='M56%200L133%20-4L143%2035L111%2053L67%2045L65%2026Z'%20fill='%23E4E4DF'/%3e%3cpath%20d='M137%20-3L218%200L230%2043L197%2057L151%2043Z'%20fill='%23ECECE7'/%3e%3cpath%20d='M-6%2047L52%2051L71%2074L53%2099L-7%2091Z'%20fill='%23E3E3DE'/%3e%3cpath%20d='M62%2051L111%2057L137%2048L148%2076L130%2099L73%20103L61%2083L77%2072Z'%20fill='%23F0F0EB'/%3e%3cpath%20d='M149%2048L194%2062L224%2048L229%20105L174%20112L142%2096L153%2078Z'%20fill='%23E6E6E1'/%3e%3cpath%20d='M-8%2098L51%20105L65%20127L50%20155L-4%20153Z'%20fill='%23EDEDE8'/%3e%3cpath%20d='M62%20109L127%20105L146%20122L136%20153L58%20154L72%20129Z'%20fill='%23E6E6E1'/%3e%3cpath%20d='M139%20106L174%20118L224%20112L228%20153L144%20153L154%20124Z'%20fill='%23EFEFEB'/%3e%3c/g%3e%3cg%20stroke='%23DADAD5'%20stroke-width='.7'%20opacity='.35'%3e%3cpath%20d='M7%2018L33%2011M83%2017L116%2012M167%2019L199%2014M9%2067L35%2062M89%2077L116%2071M170%2084L199%2078M17%20123L37%20119M85%20130L113%20126M175%20136L205%20130'/%3e%3c/g%3e%3c/pattern%3e%3c/defs%3e%3crect%20x='0'%20y='0'%20width='440'%20height='600'%20rx='0'%20fill='url(%23stone-wall)'%20stroke='none'/%3e%3c/svg%3e");min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:6px;min-height:44px;padding:10px 18px;font-weight:700}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #aa332b}.topbar{background:#fffdf7;border-bottom:1px solid #d8d6cf;justify-content:space-between;align-items:center;height:88px;padding:16px max(24px,50vw - 530px);display:flex}.brand{color:inherit;white-space:nowrap;align-items:center;gap:14px;font-family:Yu Mincho,serif;font-size:24px;font-weight:700;text-decoration:none;display:flex}.brand img{width:46px;height:46px}.brand small{letter-spacing:2px;color:#67655e;margin-top:3px;font:10px system-ui,sans-serif;display:block}main{max-width:1060px;margin:0 auto;padding:32px 24px 56px}.test-banner{color:#684018;text-align:center;background:#f6e9de;padding:8px;font-size:13px}.panel{background:#fffefb;border:1px solid #dfdcd3;border-radius:12px;box-shadow:0 6px 24px #29231b06}.welcome{text-align:center;max-width:580px;margin:24px auto;padding:44px}.crest{border:1px solid #b7afa0;border-radius:50%;width:90px;height:90px;margin:0 auto 28px;padding:16px}.crest img{width:100%;height:100%}.eyebrow{color:#aa332b;letter-spacing:3px;font-size:13px;font-weight:700}.welcome h1{margin:12px 0 20px;font-family:Yu Mincho,serif;font-size:36px;line-height:1.6}.welcome p{color:#676259}.welcome .eyebrow{color:#aa332b}.google{background:#fff;border:1px solid #9e9c95;justify-content:center;align-items:center;gap:16px;width:100%;max-width:350px;margin:30px auto 20px;display:flex}.google span{color:#333;font-family:Arial,sans-serif;font-size:24px}.small{color:#69645c;font-size:13px}.intro h1{margin:4px 0;font-family:Yu Mincho,serif;font-size:32px}.intro>p:last-child{color:#70695f;font-size:14px}.stats{background:#fffefb;border-top:3px solid #aa332b;border-bottom:1px solid #d5cfc5;grid-template-columns:repeat(3,1fr);margin:26px 0;padding:18px 0;display:grid}.stats>button{text-align:center;color:inherit;background:0 0;border-right:1px solid #e3ddd3;border-radius:0;min-width:0;padding:8px 4px}.stats>button:last-child{border-right:0}.stats>button:hover:not(:disabled),.stats>button[aria-pressed=true]{color:#8d2923;background:#f6ebe5}.stats>button:focus-visible{outline-offset:-4px}.stats>button[aria-pressed=true]{box-shadow:inset 0 -3px #aa332b}.stats strong{font-family:Georgia,serif;font-size:34px;font-weight:400;line-height:1.1;display:block}.stats span{letter-spacing:1px;color:#746b5e;font-size:12px}.toolbar{justify-content:space-between;align-items:center;gap:12px;margin:30px 0 16px;display:flex}.tabs{gap:8px;display:flex}.tabs button{color:#71695e;background:0 0;border-bottom:3px solid #0000;border-radius:0;padding:12px}.tabs button[aria-selected=true]{color:#aa332b;border-bottom-color:#aa332b}.primary{color:#fff;background:#aa332b}.primary:hover{background:#8d2923}.secondary{color:#333;background:#f3f0e9;border:1px solid #c5bdb0}.quiet{color:#61584d;background:0 0;padding:8px 12px}.quiet:hover{background:#eee9df}.filters{border-bottom:1px solid #e8e1d6;gap:16px;padding:20px;display:flex}.filters label{color:#756b5b;font-size:12px;display:block}.filters label:first-child{flex:1}input,select,textarea{color:#292620;background:#fff;border:1px solid #bcb4a7;border-radius:5px;width:100%;min-height:46px;padding:11px 12px;display:block}textarea{resize:vertical}.filters input,.filters select{margin-top:5px}.record-list .record-card{border-bottom:1px solid #e4ded2}.record-list .record-card:last-child{border:0}.record-body{padding:22px}.record-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.record-heading h2{margin:0;font-family:Yu Mincho,serif;font-size:23px}.date{color:#756e63;margin:6px 0;font-size:13px}.memo{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.sync-label{color:#8e5a1f;font-size:12px}.sync-label.ok{color:#4f6654}.record-actions{justify-content:flex-end;display:flex}.record-actions button{font-size:13px}.record-grid{grid-template-columns:repeat(3,1fr);gap:22px;padding:22px;display:grid}.record-grid .record-card{border:1px solid #d9d2c6;border-radius:8px;overflow:hidden}.record-grid .record-body{padding:16px}.photo-placeholder{color:#837a6d;background:#f1eee6;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:180px;font-size:12px;display:flex}.photo-placeholder img{opacity:.35;width:68px;height:68px}.empty{text-align:center;color:#7e7569;grid-column:1/-1;padding:56px 24px}.empty img{opacity:.35;width:64px;height:64px}.empty h2{font-size:19px;font-weight:500}.empty p{font-size:14px}.tag{color:#735d3e;background:#eee5d5;border-radius:4px;padding:3px 10px;font-size:12px}.section-head{justify-content:space-between;align-items:center;display:flex}.section-head h2{margin:0;font-family:Yu Mincho,serif;font-size:24px}.editor{max-width:700px;margin:auto;padding:26px}.field{margin:18px 0;font-size:14px;font-weight:700;display:block}.field input,.field select,.field textarea{margin-top:8px;font-weight:400}.field-error{color:#a12520;margin-top:6px;font-size:13px;display:block}fieldset{border:0;margin:22px 0;padding:0}legend{border-bottom:1px solid #ded6c8;width:100%;padding-bottom:8px;font-size:16px}.hint{color:#70695e;font-size:13px}.form-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.sync-bar{color:#726a5e;justify-content:space-between;align-items:center;gap:10px;padding:20px 4px;font-size:12px;display:flex}.info{background:#f3eee0;border:1px solid #ded2b1;border-radius:6px;padding:16px;font-size:14px}.error{color:#8a2822;overflow-wrap:anywhere;background:#fff0ee;border:1px solid #bc6e63;border-radius:6px;margin:20px 0;padding:16px}.error button{float:right}.toast{color:#fff;z-index:30;background:#283d32;border-radius:8px;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 24px);padding:14px 16px;font-size:14px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 5px 24px #0003}.toast button{color:#fff;background:0 0;padding:0 10px}.modal-backdrop{z-index:20;background:#0007;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fffdf8;border-radius:12px;width:100%;max-width:480px;max-height:90vh;padding:28px;overflow:auto}.modal h2{margin-top:0}.full{width:100%}footer{text-align:center;color:#625a4f;border-top:1px solid #d6cfc2;padding:24px;font-family:Yu Mincho,serif;font-size:15px}footer span{margin-top:8px;font:12px system-ui;display:block}@media (width<=700px){.topbar{height:72px;padding:12px 16px}.brand{gap:10px;font-size:20px}.brand img{width:36px;height:36px}.brand small{letter-spacing:1px;font-size:8px}.topbar button{padding:8px;font-size:12px}main{padding:24px 16px 40px}.welcome{margin:12px auto;padding:30px 22px}.welcome h1{font-size:30px}.intro h1{font-size:27px}.stats{margin:20px 0}.stats strong{font-size:30px}.toolbar{gap:8px}.tabs{gap:0}.tabs button{padding:10px;font-size:14px}.toolbar>.primary{padding:10px 12px;font-size:13px}.filters{gap:10px;padding:16px}.filters input{min-width:0}.filters label:last-child{width:120px}.record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px}.record-grid .record-body{padding:12px}.record-heading h2{overflow-wrap:anywhere;font-size:19px}.photo-placeholder{height:150px}.editor{padding:20px}.section-head h2{font-size:21px}.sync-bar{align-items:flex-start}.sync-bar span{padding-top:10px}.sync-bar button{white-space:nowrap}.form-actions button{flex:1}.toast{bottom:max(16px,env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.draft-list{margin-bottom:18px;padding:18px}.draft-list h2{margin:0 0 12px;font-size:16px}.draft-list button{margin:0 8px 8px 0;font-size:13px}.list-title{margin:24px 0 0;scroll-margin-top:16px;font-family:Yu Mincho,serif;font-size:22px}.list-title:focus-visible{outline-offset:4px;outline:2px solid #aa332b}.toolbar,.tabs{flex-wrap:wrap}.stats span{letter-spacing:0}.stats>button[aria-pressed=true] span{color:#8d2923}.delete-confirm{align-items:flex-start;gap:12px;margin:20px 0;line-height:1.7;display:flex}.delete-confirm input{flex-shrink:0;width:22px;height:22px;margin-top:4px}footer a{color:inherit;text-underline-offset:3px}.photo-actions{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px;margin:20px 0;display:grid}.photo-item{background:#fff;border:1px solid #ddd;border-radius:12px;padding:12px}.photo-open,.record-cover{cursor:pointer;background:#eeeae0;border:0;border-radius:8px;width:100%;padding:0;display:block;overflow:hidden}.photo-open{height:230px}.record-cover{height:240px}.record-photo{object-fit:contain;width:100%;height:100%;display:block}.photo-fallback{justify-content:center;align-items:center;min-height:180px;padding:20px;font-size:13px;display:flex}.photo-viewer{background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:12px;width:min(94vw,900px);max-height:94dvh;padding:16px;display:flex}.photo-viewer img{object-fit:contain;max-width:100%;max-height:70dvh}.photo-entry{background:#f4f0e8;border-radius:10px;margin:20px 0;padding:16px}.photo-entry p{font-size:13px}.photo-panel{padding:24px}.photo-panel .section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.photo-panel input[type=file][hidden]{display:none}.record-list .record-cover{max-width:220px;margin:16px}.photo-item .small{min-height:2.6em}@media (width<=480px){.photo-panel{padding:16px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-open{height:175px}.photo-item,.photo-item button{padding:8px}.photo-panel h2{font-size:20px}.photo-actions button{flex:1;padding:10px 8px}.record-list .record-cover{max-width:calc(100% - 32px)}}.badge-book-entry{text-align:left;color:#8d2520;cursor:pointer;background:#fffaf6;border:1px solid #b02f29;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;width:100%;margin:12px 0 20px;padding:20px 24px;display:flex}.badge-book-entry strong{font-size:1.1rem;display:block}.badge-book-entry small{color:#635a54;margin-top:6px;line-height:1.6;display:block}.badge-book-entry>span:last-child{font-size:1.6rem}.badge-book{padding-bottom:32px}.badge-book-heading{padding:16px 0 8px}.badge-book-heading h2{margin:8px 0;scroll-margin-top:20px;font-family:serif;font-size:clamp(1.5rem,5vw,2rem)}.badge-book-count{color:#675d56;font-size:.9rem}.badge-book-count strong{color:#9d2c26;font-family:serif;font-size:2.7rem}.badge-book-count span{margin-left:12px}.badge-book-filters{flex-wrap:wrap;gap:16px;margin:20px 0;display:flex}.badge-book-filters label{flex:1;min-width:0}.badge-book-filters input,.badge-book-filters select{width:100%;min-height:44px}.badge-book-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;display:grid}.badge-book-card{color:#29231f;cursor:pointer;text-align:center;background:#fffdf9;border:1px solid #ddd1c7;border-top:3px solid #ad3029;border-radius:8px;flex-direction:column;align-items:center;gap:10px;min-width:0;padding:24px 16px 16px;scroll-margin-bottom:120px;display:flex;box-shadow:0 3px 12px #34201108}.badge-book-card strong{font-family:serif;font-size:1.05rem;line-height:1.6}.badge-book-card time{color:#675d56;margin-top:auto;font-size:.8rem}.badge-book-card-link{color:#9d2c26;border-top:1px solid #eee3da;width:100%;padding-top:12px;font-size:.8rem}.badge-book-card:hover,.badge-book-entry:hover{background:#fff4e9}.badge-book button:focus-visible,.badge-book-entry:focus-visible{outline-offset:4px;outline:3px solid #9d2c26}.badge-book-award{text-align:center;background:#fffdf9;margin-top:20px;padding:28px 20px}.badge-book-award .achievement-badge{margin:0 auto}.badge-book-award h3{font-size:1rem}.badge-book-award time{margin-top:8px;font-family:serif;font-size:1.5rem;display:block}.badge-book-award .small{max-width:560px;margin:12px auto;line-height:1.8}.badge-book-record-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;display:flex}.badge-book-record-heading h3,.badge-book-record-heading p{margin:0}.badge-book-record-heading p{color:#675d56;font-size:.85rem}.badge-stamp-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-top:20px;display:grid}.badge-stamp{overflow:hidden;padding:0!important}.badge-stamp-placeholder{color:#766b60;background:#f2eee6;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:180px;font-size:.85rem;display:flex}.badge-stamp-placeholder img{opacity:.35;width:56px;height:56px}.badge-stamp-body{padding:20px}.badge-stamp-body h4{margin:8px 0;font-family:serif;font-size:1.25rem}.badge-stamp-edition{overflow-wrap:anywhere;line-height:1.6}.badge-stamp dl{border-top:1px solid #e8dfd5;padding-top:12px;font-size:.85rem}.badge-stamp dl div{gap:12px;margin:8px 0;display:flex}.badge-stamp dt{color:#75685d;min-width:4em}.badge-stamp dd{overflow-wrap:anywhere;margin:0}.badge-stamp-photos{background:#f2eee6;padding:12px}.badge-stamp-photos .record-photo{object-fit:contain;background:0 0;width:100%;height:240px}.badge-stamp-photos .photo-fallback{min-height:120px;padding:20px;display:block}.badge-book-notice{background:#f7eee2;border-left:3px solid #a86628;padding:16px;line-height:1.8}.badge-book .small{line-height:1.8}@media (width<=540px){.badge-book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.badge-book-card{padding:18px 8px 12px}.badge-book-card strong{font-size:.95rem}.badge-book-card .achievement-badge.large{width:96px;height:96px}.badge-book-filters{flex-direction:column;gap:12px}.badge-stamp-grid{grid-template-columns:1fr}.badge-book-entry{padding:16px}.badge-book-award{padding:24px 16px}}.achievements{--stamp:#9c2f29;--ink:#262722;--muted:#68665f;--line:#ddd7cc;color:var(--ink);padding-bottom:12px;scroll-margin-bottom:120px}.achievements button,.achievements a,.achievements input,.achievements select{touch-action:manipulation;scroll-margin-bottom:120px}.achievement-intro{color:#fffdf7;background:#272924;border:1px solid #363a31;border-radius:14px;grid-template-columns:1fr auto;gap:12px 28px;padding:28px 32px;display:grid;position:relative;overflow:hidden}.achievement-intro .eyebrow{color:#e1c1ae;letter-spacing:2px;margin:0 0 8px;font-size:11px}.achievement-intro h2{letter-spacing:1px;margin:0;font-family:Yu Mincho,serif;font-size:25px;font-weight:500}.achievement-total{align-items:center;gap:14px;margin:14px 0 0;display:flex}.achievement-total>strong{font:64px/1 Georgia,serif}.achievement-total>span{color:#d8d5cb;font:22px Georgia,serif}.achievement-total small{letter-spacing:1px;color:#e5e1d7;margin-top:6px;font:12px/1.8 Yu Gothic,sans-serif;display:block}.achievement-principle{color:#e1ddd4;border-top:1px solid #ffffff25;grid-column:1/-1;margin:6px 0 0;padding-top:14px;font-size:13px}.achievement-mobile-break{display:none}.achievement-forecast{color:#efd0bd;margin:12px 0 0;font-size:13px}.achievement-hero-mark{color:#d9b7a3;opacity:.75;align-self:center;justify-items:center;width:108px;display:grid;transform:rotate(7deg)}.achievement-hero-mark svg{stroke:currentColor;fill:none;stroke-width:1.2px;stroke-linejoin:round;width:100%}.achievement-hero-mark span{letter-spacing:3px;margin-top:6px;font:12px Yu Mincho,serif}.achievement-sync{color:#76603f;align-items:center;gap:9px;min-height:48px;padding:12px 2px;font-size:12px;display:flex}.achievement-sync.confirmed{color:#526150}.achievement-sync>span:first-child{flex-shrink:0;font-size:16px}.achievement-segments{background:#e9e6df;border-radius:10px;gap:6px;margin:10px 0 20px;padding:5px;display:flex}.achievement-segments button{color:#5f5d55;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;padding:9px 8px;font-size:13px;font-weight:500;display:flex}.achievement-segments button[aria-pressed=true]{color:var(--stamp);background:#fffefb;border-color:#d9d1c4;font-weight:700;box-shadow:0 2px 5px #302a1e0b}.achievement-segments button span{background:#00000007;border-radius:4px;padding:1px 5px;font:12px Georgia,serif}.achievement-filters{align-items:end;gap:16px;margin:22px 0;display:flex}.achievement-filters label,.achievement-target-search{color:var(--muted);font-size:12px;display:block}.achievement-search{flex:1}.achievement-filters input,.achievement-filters select,.achievement-target-search input{background:#fffefa;margin-top:6px}.achievement-selects{gap:12px;display:flex}.achievement-selects select{max-width:220px;font-size:13px}.achievement-list-heading{justify-content:space-between;align-items:center;gap:12px;margin:24px 0 14px;display:flex}.achievement-list-heading h3{margin:0;font-size:17px;font-weight:600}.achievement-list-heading h3 span{color:var(--muted);margin-left:12px;font-size:12px;font-weight:400}.achievement-list-heading button{padding:8px;font-size:12px}.achievement-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.achievement-card{text-align:left;color:inherit;border:1px solid var(--line);background:#fffefb;border-radius:12px;flex-direction:column;min-width:0;padding:20px;font-weight:400;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 4px 16px #29231b04}.achievement-card:hover{border-color:#a59785;box-shadow:0 6px 20px #29231b10}.achievement-card.earned{background:linear-gradient(130deg,#fffefa,#fbf1eb);border-color:#b77568}.achievement-card.earned:hover{border-color:var(--stamp)}.achievement-card-top{letter-spacing:1px;color:var(--muted);justify-content:space-between;gap:10px;margin-bottom:15px;font-size:11px;display:flex}.achievement-card-top>span:last-child:not(:first-child){color:var(--stamp)}.achievement-card-heading{align-items:center;gap:16px;margin-bottom:14px;display:flex}.achievement-card-heading>span:last-child{flex:1;min-width:0}.achievement-card-title{overflow-wrap:anywhere;font:600 18px/1.6 Yu Mincho,serif;display:block}.achievement-state{color:#666358;background:#f0eee7;border-radius:4px;margin:8px 0 0;padding:3px 8px;font-size:11px;font-weight:500;line-height:1.6;display:inline-block}.achievement-state.earned{color:#fff;background:#9c2f29}.achievement-state.pending{color:#75551b;background:#f4ead7}.achievement-card-condition{color:var(--muted);flex:1;margin:0 0 18px;font-size:12px;line-height:1.8}.achievement-card-progress{justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;display:flex}.achievement-card-progress strong{font:26px Georgia,serif}.achievement-card-progress small{color:var(--muted);font:12px Yu Gothic,sans-serif}.achievement-card-progress>span{color:var(--stamp);font-size:12px}.achievements progress{appearance:none;width:100%;height:5px;accent-color:var(--stamp);background:#e8e4dc;border:none;border-radius:8px;margin:10px 0 18px;overflow:hidden}.achievements progress::-webkit-progress-bar{background:#e8e4dc}.achievements progress::-webkit-progress-value{background:var(--stamp);border-radius:8px}.achievements progress::-moz-progress-bar{background:var(--stamp);border-radius:8px}.achievement-card.locked progress::-webkit-progress-value{background:#676b5d}.achievement-card.pending progress::-webkit-progress-value{background:#96733e}.achievement-card-bottom{color:#65564b;border-top:1px solid #dfd7cb;justify-content:space-between;align-items:center;padding-top:12px;font-size:12px;display:flex}.achievement-card-bottom>span{font-size:18px}.achievement-badge{color:#7b796f;flex-direction:column;flex-shrink:0;align-items:center;width:76px;display:inline-flex}.achievement-badge svg{width:100%;height:auto;overflow:visible}.badge-disc{fill:#f2f0e9;stroke:#b6b0a3;stroke-width:1.3px}.badge-ribbon{fill:#e9e5dc;stroke:#b6b0a3;stroke-width:1px}.badge-ring{fill:none;stroke:#c1b9aa;stroke-width:1px}.badge-ring.inner{stroke-width:.6px}.badge-tier{fill:#6c685d;letter-spacing:1px;font:12px Yu Mincho,serif}.achievement-badge image{opacity:.4}.badge-caption{letter-spacing:1px;margin-top:-1px;font-size:10px;line-height:1.4}.achievement-badge.earned{color:var(--stamp)}.earned .badge-disc{fill:#fff8ec;stroke:#9c2f29;stroke-width:1.8px}.earned .badge-ribbon{fill:#9c2f29;stroke:#7d2721}.earned .badge-ring{stroke:#af5545}.earned .badge-tier{fill:#8e2d25;font-weight:700}.earned image{opacity:.95}.badge-check{fill:none;stroke:#9c2f29;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.achievement-badge.pending .badge-disc{stroke:#96733e;stroke-dasharray:3 3;fill:#faf4e8}.achievement-badge.pending .badge-caption{color:#75551b}.achievement-badge.large{width:120px}.achievement-detail{padding:24px 32px}.achievement-back{margin:0 0 20px -12px}.achievement-detail-heading{align-items:center;gap:24px;display:flex}.achievement-detail-heading>div{min-width:0}.achievement-detail-heading h2{margin:6px 0;scroll-margin-top:24px;font:600 26px/1.6 Yu Mincho,serif}.achievement-detail-heading h2:focus{outline:none}.achievement-category{color:#777064;letter-spacing:2px;margin:0;font-size:12px}.achievement-detail-heading .achievement-state{font-size:12px}.achievement-detail-progress{margin:26px 0 0}.achievement-detail-progress p{justify-content:space-between;align-items:baseline;gap:12px;margin:0;font-size:14px;display:flex}.achievement-detail-progress p>span{white-space:nowrap;color:var(--muted);font-size:13px}.achievement-detail-progress strong{font-weight:600}.achievement-detail-progress progress{height:7px;margin-bottom:10px}.achievement-condition{color:#625c50;margin:8px 0 16px;font-size:14px;line-height:1.9}.achievement-favorite{font-size:13px}.achievement-favorite[aria-pressed=true]{color:var(--stamp);background:#fff4ec;border-color:#a7584a}.achievement-target-title{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:26px;padding-top:26px;display:flex}.achievement-target-title h3{margin:0;font-size:17px}.achievement-target-title>span{color:var(--muted);white-space:nowrap;font-size:12px}.target-segments{max-width:520px;margin:16px 0}.achievement-target-search{max-width:520px;margin:12px 0 24px}.achievement-targets{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0;list-style:none;display:grid}.achievement-targets>li{border:1px solid var(--line);background:#fffefb;border-radius:8px;flex-direction:column;align-items:flex-start;min-width:0;padding:20px;display:flex}.achievement-targets>li.collected{background:#f6f4ee}.achievement-target-head{justify-content:space-between;align-items:baseline;gap:12px;width:100%;font-size:12px;display:flex}.achievement-target-status{color:var(--stamp)}.collected .achievement-target-status{color:#526150}.achievement-target-head>span:last-child{color:var(--muted);white-space:nowrap;font-size:11px}.achievement-targets h4{margin:14px 0 0;font:600 21px Yu Mincho,serif}.achievement-targets p{overflow-wrap:anywhere;margin:10px 0 0;font-size:13px;line-height:1.9}.achievement-targets p.small{color:var(--muted);font-size:12px}.achievement-targets details{width:100%;margin:14px 0 18px;font-size:12px}.achievement-targets summary{cursor:pointer;min-height:44px;padding:11px 0;display:list-item}.achievement-targets a{color:#8d3029;text-underline-offset:3px;overflow-wrap:anywhere}.achievement-targets button{width:100%;margin-top:auto;font-size:13px}.achievement-targets .primary{background:var(--stamp)}.achievement-review{margin:12px 0 20px;padding:16px 20px;font-size:13px}.achievement-review summary{cursor:pointer;min-height:44px;padding:10px 0}.achievement-review button{margin:6px;font-size:12px}.achievement-empty{text-align:center;padding:32px 18px;font-size:14px}.achievement-empty h3{font:20px Yu Mincho,serif}.achievement-empty p{color:var(--muted)}.achievement-footnote{color:var(--muted);margin:24px 0 0;font-size:12px;line-height:1.9}.gojoin-confirm{align-items:center;gap:10px;margin-top:14px;display:flex}.gojoin-confirm input{accent-color:#aa332b;width:22px;min-height:22px}.tabs,.toolbar{flex-wrap:wrap}@media (width<=950px){.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-filters{flex-direction:column;align-items:stretch}.achievement-selects label{flex:1}.achievement-selects select{max-width:none}}@media (width<=700px){.achievement-intro{gap:12px 14px;padding:22px}.achievement-intro h2{font-size:22px}.achievement-intro .eyebrow{letter-spacing:1px;font-size:10px}.achievement-total>strong{font-size:56px}.achievement-hero-mark{width:80px}.achievement-mobile-break{display:block}.achievement-principle{font-size:12px;line-height:1.8}.achievement-grid{grid-template-columns:1fr;gap:14px}.achievement-segments{gap:3px;padding:4px}.achievement-segments button{flex-direction:column;gap:3px;min-height:57px;padding:7px 3px;font-size:12px}.target-segments button{flex-direction:row;gap:6px;min-height:44px}.achievement-selects{gap:10px}.achievement-selects label{min-width:0}.achievement-selects select{padding:10px 6px;font-size:12px}.achievement-card{padding:20px}.achievement-card-heading{gap:20px}.achievement-card-title{font-size:19px}.achievement-card-condition{margin-bottom:14px}.achievement-badge{width:84px}.achievement-detail{padding:18px}.achievement-detail-heading{gap:16px}.achievement-detail-heading h2{font-size:22px}.achievement-badge.large{width:96px}.achievement-detail-progress p{flex-wrap:wrap;gap:6px}.achievement-targets{grid-template-columns:1fr}.achievement-targets>li{padding:18px}.achievement-target-title h3,.achievement-list-heading h3{font-size:16px}.tabs button{padding:10px;font-size:14px}}@media (prefers-reduced-motion:reduce){.achievement-card{transition:none}}.achievement-hero-mark img{filter:invert();opacity:.8;border:1px solid #242421;border-radius:50%;width:90%;padding:12px}.achievement-page-title{margin:0;font:600 24px/1.4 Yu Mincho,serif}.achievement-page-title+.toolbar{margin-top:18px}.achievement-badge .badge-motif{opacity:1}.achievement-badge.locked .badge-motif{filter:grayscale();opacity:.48}.achievement-badge.pending .badge-motif{filter:grayscale(.7);opacity:.7}.achievement-badge.earned .badge-motif{filter:none;opacity:1}.entry-trigger{color:#fffdf8;text-align:left;background:#a72e27;border:1px solid #91251f;border-radius:12px;align-items:center;gap:14px;min-height:64px;padding:10px 20px;transition:background .15s,box-shadow .15s;display:flex;box-shadow:0 5px 16px #67251f24}.entry-trigger:hover:not(:disabled){background:#8e241e;box-shadow:0 7px 20px #67251f38}.entry-trigger:active:not(:disabled){background:#7d201b}.entry-plus{font-size:25px;font-weight:400;line-height:1}.entry-trigger-copy{flex-direction:column;gap:1px;display:flex}.entry-trigger-copy strong{letter-spacing:.06em;font-size:16px}.entry-trigger-copy small{letter-spacing:.03em;color:#ffe4dd;font-size:11px;font-weight:400}.entry-chevron{margin-left:auto;font-size:26px;font-weight:400;line-height:1}.entry-dialog{color:#28251f;overscroll-behavior:contain;background:#fffdf8;border:1px solid #ded6c8;border-radius:20px;width:min(520px,100% - 32px);max-height:calc(100dvh - 48px);padding:0;overflow:auto;box-shadow:0 24px 90px #17120d40}.entry-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#17141080}.entry-sheet{padding:20px 28px 24px}.entry-sheet-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.entry-eyebrow{letter-spacing:.18em;color:#a72e27;font-size:11px;font-weight:700}.entry-close{color:#655d52;background:0 0;border-radius:50%;place-items:center;width:44px;min-width:44px;height:44px;padding:0;font-size:26px;font-weight:400;display:grid}.entry-close:hover{background:#eee9e0}.entry-sheet h2{margin:8px 0;font-family:Yu Mincho,serif;font-size:28px;line-height:1.5}.entry-sheet #entry-description{color:#6a6257;margin:0 0 22px;font-size:13px;line-height:1.8}.entry-timing{border:0;margin:0 0 16px;padding:0}.entry-timing legend{color:#62594e;border:0;margin-bottom:8px;padding:0;font-size:12px}.entry-segments{background:#f1ede5;border:1px solid #ded7cb;border-radius:9px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.entry-segments label{cursor:pointer;min-width:0;position:relative}.entry-segments input{opacity:0;width:1px;height:1px;min-height:0;margin:0;padding:0;position:absolute}.entry-segments span{color:#6b6257;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-height:44px;font-size:14px;font-weight:500;display:flex}.entry-segments input:checked+span{color:#8e241e;background:#fffdf8;border-color:#d8c6b8;font-weight:700;box-shadow:0 1px 4px #3024160c}.entry-segments input:focus-visible+span{outline-offset:1px;outline:3px solid #a72e27}.entry-date-hint{color:#6b6257;min-height:2em;margin:8px 0 0;font-size:12px;line-height:1.6}.entry-choices{gap:12px;display:grid}.entry-choice{text-align:left;color:#28251f;background:#fffdf8;border:1px solid #cfc5b7;border-radius:12px;align-items:center;gap:14px;min-height:98px;padding:16px;transition:background .15s,border-color .15s;display:flex}.entry-choice:hover{background:#f6f2e9;border-color:#968977}.entry-choice-stamp{background:#fff9f5;border-color:#c99d8f}.entry-choice-stamp:hover{background:#f9eee7;border-color:#a72e27}.entry-choice-icon{color:#a72e27;background:#efebe1;border-radius:9px;flex-shrink:0;place-items:center;width:48px;height:52px;display:grid}.entry-choice-stamp .entry-choice-icon{background:#f4e4dc}.entry-choice-icon img{object-fit:contain;width:32px;height:36px}.entry-choice-icon svg{width:32px;height:38px}.entry-choice-copy{flex-direction:column;gap:5px;min-width:0;display:flex}.entry-choice-copy strong{font-size:17px;line-height:1.5}.entry-choice-copy>span{color:#6b6257;font-size:12px;font-weight:400;line-height:1.6}.entry-choice .entry-chevron{color:#a09584;font-size:23px}.entry-note{color:#73695c;text-align:center;margin:16px 0 20px;font-size:11px;line-height:1.8}.entry-resume{color:#574c3d;text-align:left;background:0 0;border-top:1px solid #e6dfd3;border-radius:0;align-items:center;gap:10px;width:100%;padding:16px 0 0;font-size:13px;display:flex}.entry-resume:hover{color:#a72e27}.entry-resume-count{background:#eee7db;border-radius:20px;min-width:28px;padding:2px 7px;font-size:11px}.entry-resume>span:last-child{margin-left:auto}@media (width<=700px){.entry-trigger{z-index:10;bottom:max(16px,env(safe-area-inset-bottom));justify-content:flex-start;min-height:64px;position:fixed;left:16px;right:16px;box-shadow:0 5px 24px #49251e40}main:has(.entry-trigger){padding-bottom:112px}body:has(.entry-trigger) .toast{bottom:calc(96px + env(safe-area-inset-bottom))}.entry-dialog{border-bottom:0;border-radius:22px 22px 0 0;width:100%;max-width:100%;max-height:calc(100dvh - 16px);margin:auto 0 0}.entry-sheet{padding:12px 20px max(24px,env(safe-area-inset-bottom))}.entry-sheet h2{font-size:25px}.entry-sheet #entry-description{margin-bottom:18px}.entry-choice{gap:12px;min-height:94px;padding:14px 12px}.entry-choice-copy strong{font-size:16px}.entry-choice-icon{width:42px;height:48px}}@media (width<=350px){.entry-sheet{padding-left:16px;padding-right:16px}.entry-choice{gap:9px}.entry-choice-copy strong{font-size:15px}.entry-choice-copy>span{font-size:11px}.entry-choice-icon{width:36px}.entry-note{text-align:left}}@media (prefers-reduced-motion:reduce){.entry-trigger,.entry-choice{transition:none}}.castle-picker{background:#faf7f1;border:1px solid #d8c5b8;border-radius:8px;margin:18px 0;padding:18px}.catalog-heading{align-items:center;gap:12px;display:flex}.catalog-heading>img{width:34px;height:34px}.catalog-heading>div{flex:1;min-width:0}.catalog-heading h3{margin:0;font:700 20px Yu Mincho,serif}.catalog-heading p{color:#6a6055;margin:5px 0;font-size:12px}.catalog-heading button{flex-shrink:0}.catalog-selected{color:#9d3029;margin-bottom:4px;font-weight:700}.catalog-filters{grid-template-columns:1fr 1fr;gap:12px;display:grid}.catalog-filters label{min-width:0;font-size:13px}.catalog-filters input,.catalog-filters select{margin-top:6px}.catalog-count{justify-content:space-between;align-items:center;margin-top:12px;font-size:13px;display:flex}.catalog-results{gap:12px;display:grid}.catalog-card{background:#fff;border:1px solid #ded7cd;border-radius:6px;padding:16px}.catalog-card-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.catalog-card h4{margin:5px 0;font:700 23px Yu Mincho,serif}.catalog-card-heading button{flex-shrink:0;min-height:44px;font-size:12px}.catalog-region{color:#796d5e;font-size:12px}.catalog-person{color:#8e332c;margin:6px 0;font-size:13px}.catalog-source{overflow-wrap:anywhere;font-size:12px;line-height:1.7}.catalog-source a,.catalog-card a{color:#91332b;text-underline-offset:3px}.catalog-source span{color:#72695e;display:block}.catalog-card details{border-top:1px solid #eee7de;padding-top:8px;font-size:12px}.catalog-card summary{cursor:pointer;min-height:32px;padding-top:8px}.catalog-places{border-left:3px solid #aa332b;margin-top:20px;padding-left:14px}.catalog-places h3{font-size:15px}.place-option{padding:8px 0}.place-option button{text-align:left;width:100%}.place-option button[aria-pressed=true]{background:#fff1ed;border:2px solid #aa332b}.place-option .hint{margin:6px 0}.place-option .catalog-source{margin:4px 0 12px}.catalog-card .hint{overflow-wrap:anywhere}@media (width<=500px){.castle-picker{margin-left:-4px;margin-right:-4px;padding:12px}.catalog-filters{grid-template-columns:1fr}.catalog-heading{gap:8px}.catalog-heading h3{font-size:18px}.catalog-heading>img{width:28px;height:28px}.catalog-heading button{padding:8px;font-size:12px}.catalog-card{padding:12px}.catalog-card h4{font-size:21px}.catalog-card-heading button{padding:10px}.catalog-count .quiet{padding:8px}}.national-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.national-actions button{min-height:44px}.catalog-count{flex-wrap:wrap;gap:8px}.catalog-picker select{max-width:100%}.record-workspace{max-width:748px;padding-top:24px;padding-bottom:110px}.field-editor{min-width:0}.field-editor-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.field-editor-head h2{margin:2px 0;scroll-margin-top:20px;font:700 26px Yu Mincho,serif}.editor-eyebrow{letter-spacing:2px;color:#963029;margin:0 0 6px;font-size:12px}.editor-close{border:1px solid #c9c1b5;flex-shrink:0}.editor-save-state{color:#526654;margin:12px 0 6px;font-size:12px}.editor-guide{color:#665e53;margin:0 0 24px;font-size:14px}.editor-card{background:#fffefa;border:1px solid #d9d0c4;border-radius:12px;min-width:0;margin:20px 0;padding:16px 20px 20px}.editor-card legend{background:#fffefa;border:0;border-radius:5px;width:auto;padding:0 8px;font-weight:700}.editor-step{color:#fff;background:#aa332b;border-radius:50%;place-items:center;width:24px;height:24px;font:600 13px system-ui;display:inline-grid}.required-tag{color:#923128;margin-left:6px;font-size:11px;font-weight:500}.field-editor .field{margin:14px 0}.field-editor input,.field-editor select,.field-editor textarea{min-width:0;max-width:100%;font-size:16px}.field-editor summary{cursor:pointer;min-height:48px}.field-editor summary:focus-visible{outline-offset:3px;outline:3px solid #aa332b}.manual-castle{border-top:1px solid #e4ddd1;margin-top:12px;padding-top:4px;font-size:13px}.manual-castle>summary{color:#6e5143;padding:12px 0}.stamp-quick-fields{align-items:flex-start;gap:18px;display:flex}.stamp-quick-fields>.field{flex:1;min-width:0}.quantity-field{flex:0 0 154px;margin:14px 0;font-size:14px;font-weight:700}.quantity-control{background:#fff;border:1px solid #bcb4a7;border-radius:6px;min-height:48px;margin-top:8px;display:flex;overflow:hidden}.quantity-control input{text-align:center;appearance:textfield;border:0;border-radius:0;width:58px;padding:8px 0}.quantity-control input::-webkit-inner-spin-button{appearance:none}.quantity-control button{color:#762e28;background:#f3eee6;border-radius:0;width:46px;min-width:44px;padding:8px;font-size:20px}.editor-disclosure{border-top:1px solid #e4ddd1;padding-top:4px}.editor-disclosure summary{padding:10px 0;font-size:13px}.editor-disclosure small{color:#73685a;margin-left:10px;font-size:12px}.editor-photo{text-align:left;color:#85332c;background:#fffdfa;border:1px solid #b49b87;border-radius:12px;align-items:center;gap:14px;width:100%;padding:16px 18px;display:flex}.editor-camera{background:#f4e7df;border-radius:50%;flex-shrink:0;place-items:center;width:46px;height:46px;display:grid}.editor-camera svg{width:30px;height:30px}.editor-photo>span:nth-child(2){flex:1;min-width:0}.editor-photo strong{font-size:16px;display:block}.editor-photo small{color:#746859;margin-top:3px;font-size:12px;font-weight:400;display:block}.photo-save-note{color:#72675b;margin:7px 4px 24px;font-size:11px}.editor-option-title{margin:24px 0 10px;font-size:14px;font-weight:700}.editor-option-title>span{color:#74695b;margin-top:2px;font-size:11px;font-weight:400;display:block}.editor-options{background:#fffefa;border:1px solid #d9d0c4;border-radius:12px;min-width:0;margin:0;overflow:hidden}.editor-option+.editor-option{border-top:1px solid #e4ddd1}.editor-option>summary{grid-template-columns:1fr 20px;gap:3px;padding:16px 20px;list-style:none;display:grid;position:relative}.editor-option>summary::-webkit-details-marker{display:none}.editor-option>summary:after{content:"＋";color:#846f5d;grid-area:1/2/3;align-self:center}.editor-option[open]>summary:after{content:"−"}.editor-option summary>span{font-size:14px;font-weight:700}.editor-option summary small{color:#74685a;overflow-wrap:anywhere;grid-column:1;font-size:12px}.editor-option em{color:#827568;margin-left:8px;font-size:11px;font-style:normal;font-weight:400}.editor-option-body{border-top:1px solid #eee8df;padding:0 20px 14px}.date-quick-fields{flex-wrap:wrap;gap:12px;display:flex}.date-quick-fields>.field{flex:1;min-width:130px}.editor-independent{color:#72675a;margin:14px 4px;font-size:12px}.editor-actions{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf7f5;border-top:1px solid #d8cbbb;margin-top:28px;padding:12px 0;position:sticky;bottom:0}.editor-actions>p{color:#73675b;text-align:center;margin:0 0 8px;font-size:11px}.editor-actions>div{gap:12px;display:flex}.editor-actions .primary{flex:2;min-height:52px}.editor-actions .secondary{flex:1;min-height:52px}.record-workspace:has(.field-editor)~.toast{bottom:120px}.castle-picker.compact{background:0 0;border:0;margin:0;padding:0}.compact .catalog-heading h3{font-size:19px}.compact .catalog-heading>img{width:30px;height:30px}.compact .catalog-results{overscroll-behavior:contain;max-height:260px;padding:3px 4px 5px;scroll-padding:6px;overflow:auto}.compact .catalog-card{padding:12px}.compact .catalog-card h4{font-size:20px}.compact .catalog-card-heading button{padding:9px 12px}.compact .catalog-person{margin-bottom:0;font-size:12px}.compact .catalog-selected{margin-top:12px;font-size:13px}.compact .catalog-filters{grid-template-columns:1fr}.catalog-filter-more{margin-top:8px}.catalog-filter-more>summary,.catalog-selected-details>summary{color:#795b48;padding:12px 0;font-size:12px}.compact .catalog-count{margin-top:4px}.compact .catalog-notice{font-size:11px}.compact .catalog-heading button{font-size:12px}.compact .catalog-card details{margin-top:8px}.compact .catalog-card summary{min-height:44px}@media (width<=700px){.record-workspace{padding:20px 16px 140px}.field-editor-head h2{font-size:22px}.editor-card{padding:12px 14px 14px}.editor-guide{font-size:13px}.editor-actions{padding:10px 16px max(12px,env(safe-area-inset-bottom));margin:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -5px 24px #36281a0b}.editor-actions>div{max-width:700px;margin:auto}.editor-actions .primary,.editor-actions .secondary{padding:12px 8px}.stamp-quick-fields{flex-wrap:wrap;gap:12px}.stamp-quick-fields>.field{flex-basis:155px}.quantity-field{flex-basis:154px}.editor-disclosure small{margin:4px 0 0 16px;display:block}.editor-option>summary{padding:14px 16px}.editor-option-body{padding:0 16px 12px}.editor-photo{padding:14px}.field-editor .catalog-heading{gap:6px}.field-editor .catalog-heading>img{width:25px;height:25px}.compact .catalog-card-heading{gap:6px}.compact .catalog-card-heading button{padding:8px;font-size:12px}.compact .catalog-region{font-size:11px}.quantity-field{flex-wrap:wrap;flex:1 0 100%;justify-content:space-between;align-items:center;gap:10px;margin:0 0 14px;display:flex}.quantity-control{margin:0}.quantity-field>.field-error,.stamp-quick-fields>.field{flex-basis:100%}.stamp-quick-fields{gap:0}.compact .catalog-selected{margin:10px 0 0}.compact .catalog-selected+.hint{margin:4px 0}.catalog-selected-details>summary{padding:10px 0}}.field-editor h2,.field-editor h3{overflow-wrap:anywhere}@media (width<=360px){.editor-actions button{white-space:nowrap;font-size:14px}.field-editor-head h2{font-size:20px}}
