
:root{--paper:#f7f4ed;--panel:#fcfaf5;--ink:#39473d;--muted:#79776d;--accent:#526a54;--line:#ddd9cc;--water:#eef0e5;--land:#d6dbc9;--grid:#dce1d2;--been:#8b9c72;--lived:#b9785e;--traveled:#668e91;--serif:"Noto Serif CJK SC","Songti SC","STSong","SimSun",serif;--sans:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;color:inherit;background:none;border:0}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{transition:background .18s,transform .18s,border-color .18s}button:hover{color:var(--accent)}button svg{flex-shrink:0}a{color:inherit;text-decoration:none}input,textarea,select{max-width:100%}button,input,select,textarea{border-radius:3px}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px;flex-shrink:0}svg.icon{width:19px;height:19px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.4;margin:0}em{font-style:normal;color:var(--accent)}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:12px;z-index:100;background:var(--panel);padding:14px}.skip:focus{top:8px}.site-header{margin:0 4%;height:102px;display:flex;align-items:center;gap:36px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.seal{border:1.7px solid var(--accent);color:var(--accent);font-family:var(--serif);font-size:19px;width:34px;height:48px;line-height:1.05;display:grid;place-content:center;transform:rotate(-3deg);border-radius:3px}.brand-name{font-family:var(--serif);font-size:27px;letter-spacing:3px;line-height:1.5}.brand-tag{display:block;font:9px var(--sans);letter-spacing:2px;color:var(--muted)}.site-header nav{display:flex;gap:25px;align-items:center;margin-left:30px}.site-header nav button{font-size:12px;padding:10px 0}.site-header nav sup{font-size:8px;color:var(--accent);margin-left:3px}.header-end{margin-left:auto;display:flex;align-items:center;gap:23px}.storage-state{color:var(--muted);font-size:11px}.primary,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:12px 20px;border:1px solid var(--accent);letter-spacing:.5px}.primary{background:var(--accent);color:var(--paper)}.primary:hover{color:var(--paper);filter:brightness(.94)}.outline-button{border-color:var(--line);background:transparent}.outline-button:hover{background:var(--water);border-color:var(--accent)}main{max-width:1580px;margin:auto;padding:0 4%}.hero{display:flex;justify-content:space-between;align-items:center;padding:55px 0 42px;gap:30px}.eyebrow,.tiny,.folio{font-size:10px;letter-spacing:2.1px;color:var(--muted)}.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px}.eyebrow>span{width:28px;height:1px;background:var(--accent)}h1{font-size:clamp(39px,4.3vw,68px);line-height:1.45;letter-spacing:3px}.hero h1 em{color:var(--accent)}.hero-note{padding-left:40px;border-left:1px solid var(--line);width:335px;margin:8px 15px 0 0}.hero-note p{font-family:var(--serif);font-size:17px;line-height:2.05;margin:19px 0;color:var(--muted)}.hero-sign{color:var(--accent);font-family:var(--serif);font-size:14px}.hero-sign>span{margin-left:25px;font-family:var(--sans);font-size:20px}.personal-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:16px 0;gap:30px}.palette-id{display:flex;gap:15px;align-items:center;min-width:265px}.palette-id small{font-size:9px;letter-spacing:1.4px;color:var(--muted);display:block}.palette-id strong{font-size:12px;font-weight:500}.palette-id #paletteDots{display:flex;gap:3px}.palette-id i{display:block;width:12px;height:27px}.personal-strip>p{font:16px/1.7 var(--serif);flex:1;color:var(--accent)}.text-button{display:inline-flex;gap:8px;align-items:center;font-size:12px;padding:6px 0;white-space:nowrap}.text-button>span:last-child:not(:first-child){margin-left:7px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:26px 0 17px}.section-heading>div{display:flex;align-items:center;gap:27px}.folio{font-size:11px;color:var(--ink);font-weight:600}.section-aside{color:var(--muted);font-size:11px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:18px}.map-panel{border:1px solid var(--line);background:var(--panel);min-width:0}.map-toolbar{display:flex;padding:17px 18px 10px;gap:13px;align-items:center}.search-wrap{position:relative;display:flex;align-items:center;flex:1;min-width:0;gap:10px;border:1px solid var(--line);background:var(--paper);padding:0 12px;height:44px}.search-wrap>svg{color:var(--muted);width:17px}.search-wrap input{border:0;background:none;width:100%;outline:none!important;font-size:12px;color:var(--ink);padding:10px 0;min-width:0}.search-wrap kbd{color:var(--muted);padding:0 6px;border:1px solid var(--line);font-size:11px}.browse-button{display:flex;gap:7px;align-items:center;font-size:12px;white-space:nowrap;min-height:44px;padding:0 4px}.map-tabs{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 18px 12px}.segmented{display:flex;gap:3px;border:1px solid var(--line);padding:3px;border-radius:3px}.segmented button{font-size:11px;padding:5px 12px;color:var(--muted)}.segmented button.active{background:var(--accent);color:var(--paper)}.tiny-check{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.tiny-check input{width:14px;height:14px}.map-area{height:505px;position:relative;overflow:hidden;touch-action:none;background:var(--water);cursor:grab}.map-area.pin-mode{cursor:crosshair}.map-area:active{cursor:grabbing}.map-area>svg{width:100%;height:100%;display:block;user-select:none}.map-kicker{position:absolute;top:17px;left:19px;right:20px;display:flex;align-items:center;justify-content:space-between;z-index:1;pointer-events:none;font-size:9px;letter-spacing:2px;color:var(--muted)}.map-kicker .compass{font-family:var(--serif);font-size:12px;letter-spacing:1px}.map-foot{position:absolute;bottom:12px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:9px;pointer-events:none}.map-foot button{font-size:9px;pointer-events:auto}.map-zoom{position:absolute;right:17px;bottom:62px;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:4px;box-shadow:0 2px 12px #00000006}.map-zoom button{width:35px;height:35px;display:grid;place-content:center;border-bottom:1px solid var(--line)}.map-zoom button:last-child{border-bottom:0}.map-zoom .icon{width:16px}.map-legend{padding:12px 19px;display:flex;align-items:center;gap:19px;font-size:10px;color:var(--muted);flex-wrap:wrap}.map-legend span{display:flex;align-items:center;gap:7px}.map-legend i,.status-dot,.place-dot{display:inline-block;border-radius:100%;width:7px;height:7px}.been{background:var(--been)}.lived{background:var(--lived)}.traveled{background:var(--traveled)}.map-legend .map-data-state{margin-left:auto;font-size:8px;max-width:52%;text-align:right}.map-outline{fill:var(--land);stroke:var(--water);stroke-width:1.5}.province-shape{fill:var(--land);stroke:var(--paper);stroke-width:.9;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .15s}.province-shape:hover{filter:brightness(.94);stroke:var(--accent);stroke-width:1.4}.province-dot{cursor:pointer}.province-dot:hover .base-dot{fill:var(--accent)!important}.province-label{font:11px var(--sans);fill:var(--ink);paint-order:stroke;stroke:var(--water);stroke-width:3;stroke-linejoin:round;pointer-events:none}.city-label{font:9px var(--sans);fill:var(--ink);paint-order:stroke;stroke:var(--water);stroke-width:3;pointer-events:none}.map-tooltip{position:absolute;background:var(--ink);color:var(--paper);padding:5px 9px;font-size:11px;border-radius:2px;pointer-events:none;z-index:3;max-width:200px}.sample-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--water);border-bottom:1px solid var(--line);padding:8px 17px;color:var(--muted);font-size:9px}.sample-banner button{font-size:10px;white-space:nowrap;color:var(--accent)}.journal{background:var(--panel);border:1px solid var(--line);padding:23px 21px;display:flex;flex-direction:column;min-width:0}.journal-head{display:flex;justify-content:space-between;align-items:center}.journal h2{font-size:26px;letter-spacing:2px;margin-top:5px}.journal .tiny{font-size:9px;letter-spacing:1px}.journal-stamp{font:22px var(--serif);border:1px solid var(--accent);color:var(--accent);padding:1px 5px;opacity:.6;transform:rotate(7deg)}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:23px 0 16px;padding-bottom:18px;border-bottom:1px solid var(--line)}.stats>div{text-align:center;border-right:1px solid var(--line)}.stats>div:first-child{text-align:left}.stats>div:last-child{border:0}.stats strong{display:block;font:31px/1.2 Georgia,var(--serif);color:var(--accent);font-weight:400}.stats small{font-size:9px;letter-spacing:.7px;display:block;margin-top:6px;color:var(--muted)}.journal-filter{display:flex;justify-content:space-between;font-size:10px;margin-bottom:12px}.journal-filter button{padding:4px 10px;border-radius:15px;color:var(--muted)}.journal-filter .active{background:var(--water);color:var(--accent)}.place-list{height:330px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.place-row{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);min-height:59px}.place-main{display:flex;align-items:center;gap:10px;flex:1;text-align:left;min-width:0;padding:7px 0}.place-main>span:last-child{min-width:0}.place-main strong{font-size:12px;font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.place-main small{font-size:9px;color:var(--muted)}.place-dot{width:6px;height:6px;flex-shrink:0}.remove-place{font-size:18px;width:32px;height:38px;color:var(--muted);flex-shrink:0}.remove-place:hover{color:var(--lived)}.add-place{margin-top:13px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px dashed var(--line);padding:10px;font-size:11px;color:var(--accent)}.journal-footer{margin-top:auto;padding-top:20px;color:var(--muted);font-size:8px}.journal-footer>div{display:flex;justify-content:space-between;margin-top:9px;font-size:10px}.journal-footer button,.file-label{padding:4px 0;cursor:pointer}.empty-note{font-family:var(--serif);text-align:center;color:var(--muted);padding:35px 12px;line-height:2.2;font-size:14px}.undo-bar{padding:11px 14px;margin-bottom:12px;background:var(--water);display:flex;align-items:center;gap:14px;font-size:11px;border:1px solid var(--line)}.undo-bar>button:first-of-type{margin-left:auto;border-bottom:1px solid var(--accent);color:var(--accent);white-space:nowrap}.undo-bar>button:last-child{font-size:18px}.city-section{margin-top:50px}.city-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:22px 0}.city-heading h2{font-size:30px;letter-spacing:1px}.city-heading p{font-size:12px;color:var(--muted);margin-top:9px}.city-heading .outline-button{font-size:11px}.city-tools{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:21px;border-bottom:1px solid var(--line)}.region-filters{display:flex;gap:20px;overflow:auto;scrollbar-width:none}.region-filters button{font-size:11px;white-space:nowrap;padding:11px 0;border-radius:0;border-bottom:2px solid transparent;color:var(--muted)}.region-filters button.active{color:var(--accent);border-bottom-color:var(--accent)}.city-multi{font-size:11px;white-space:nowrap;display:flex;gap:5px;align-items:center}.city-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.city-card{border:1px solid var(--line);padding:18px;background:var(--panel);position:relative;min-width:0;transition:background .15s,transform .2s}.city-card:hover{transform:translateY(-2px);border-color:var(--accent)}.city-card.selected{background:var(--water);border-color:var(--accent)}.city-card>button:first-child{display:block;text-align:left;width:100%;padding:0}.city-card .city-no{display:flex;justify-content:space-between;font:10px Georgia;color:var(--muted);margin-bottom:18px}.city-card h3{font-size:24px;letter-spacing:1px}.city-card .region-name{font-size:9px;color:var(--muted);margin-top:3px}.city-card .mood{font-family:var(--serif);font-size:11px;color:var(--muted);margin-top:12px;min-height:37px;line-height:1.8;padding-right:9px}.city-card .city-mark{position:absolute;right:13px;top:12px;font-size:15px;min-width:26px;min-height:26px;color:var(--accent);background:var(--panel);border-radius:50%}.city-card.draft{outline:2px solid var(--accent)}.city-bottom{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:22px;flex-wrap:wrap}.closing{margin:65px 0 40px;border-top:1px solid var(--line);text-align:center;padding:42px 0 30px}.closing-seal{font:19px var(--serif);color:var(--accent);border:1px solid var(--accent);display:inline-block;padding:3px 6px;transform:rotate(-5deg);margin-bottom:20px}.closing h2{font-size:29px;letter-spacing:3px}.closing p{font-size:11px;color:var(--muted);margin:15px 0 24px}.closing .primary{font-size:12px}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);padding:20px 4% 27px;font-size:9px;color:var(--muted)}.site-footer>span{font:14px var(--serif);letter-spacing:1px;white-space:nowrap}.site-footer button{font-size:10px;white-space:nowrap}.mobile-nav{display:none}.search-results{position:absolute;z-index:20;top:calc(100% + 7px);left:-1px;right:-1px;max-height:350px;overflow:auto;background:var(--panel);border:1px solid var(--line);box-shadow:0 10px 35px #242c231a}.result{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;width:100%;text-align:left;border-bottom:1px solid var(--line);border-radius:0;font-size:12px}.result small{color:var(--muted);font-size:10px}.result:hover,.result:focus{background:var(--water)}.result-empty{font-size:12px;padding:18px;color:var(--muted)}
dialog{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:28px;max-height:calc(100dvh - 42px);max-width:calc(100vw - 32px);overflow:auto;box-shadow:0 15px 80px #1623182e}dialog::backdrop{background:#25332766;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.dialog-top .tiny{font-size:9px}.icon-button{height:35px;min-width:35px;font-size:25px;line-height:1;display:grid;place-content:center;color:var(--muted)}.place-dialog{width:500px;padding:28px 33px}.place-dialog h2{font-size:31px;letter-spacing:2px}.muted{color:var(--muted);font-size:12px;margin-top:7px}.province-actions{margin-top:18px}.province-actions button{font-size:11px;width:100%;min-height:38px;padding:8px}.status-fieldset{border:0;padding:0;margin:24px 0 20px}.status-fieldset legend{font-size:12px;margin-bottom:10px}.status-fieldset legend span,.field>span{color:var(--muted);font-size:10px;font-weight:400;margin-left:6px}.status-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.status-options label{border:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap;padding:12px 10px;gap:6px;cursor:pointer;font-size:12px}.status-options input{position:absolute;opacity:0;width:1px;height:1px}.status-options label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.status-options label:has(input:checked){border-color:var(--accent);background:var(--water)}.status-options small{font-size:9px;color:var(--muted);display:block;width:100%;margin-top:4px;white-space:nowrap}.status-options strong{font-weight:500}.field{display:block;font-size:12px;margin-top:18px;font-weight:500}.field input,.field textarea,.field select,.full-input,#quoteSelect{display:block;width:100%;background:var(--paper);border:1px solid var(--line);padding:11px 12px;margin-top:9px;color:var(--ink);font-size:12px;font-weight:400;line-height:1.6}.field textarea{resize:vertical}.field select{padding-right:25px}.place-buttons{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.place-buttons .primary{flex:1}.danger-button{color:#a15047;font-size:12px;padding:10px 2px}.fine{font-size:10px;color:var(--muted);line-height:1.9;margin-top:10px}.error{color:#ac3b36;font-size:12px;margin-top:10px}.browse-dialog{width:1000px}.browse-dialog h2{font-size:31px}.browse-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:25px;margin-top:23px}.province-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;align-content:start;border-right:1px solid var(--line);padding-right:20px}.province-chip{padding:9px 7px;font-size:11px;border:1px solid var(--line);min-height:40px;text-align:left;white-space:nowrap}.province-chip.active{background:var(--accent);color:var(--paper);border-color:var(--accent)}.province-chip.visited:not(.active){background:var(--water)}.browse-content{min-width:0}.browse-content h3{font-size:23px}.browse-heading-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.browse-heading-actions button{font-size:11px}.browse-items{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;max-height:370px;overflow:auto;margin-top:15px;padding:2px}.browse-item{font-size:11px;padding:9px 8px;min-height:40px;text-align:left;border:1px solid var(--line);background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:4px}.browse-item.selected{background:var(--water);border-color:var(--accent)}.browse-item small{font-size:9px;color:var(--muted)}.district-loader{margin-top:18px;border-top:1px solid var(--line);padding-top:9px}.district-loader small{display:block;color:var(--muted);font-size:9px;line-height:1.8}.studio-dialog{width:1200px;padding:27px 32px 35px}.studio-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:28px}.studio-tabs>button{padding:8px 0 13px;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);font-size:12px}.studio-tabs>button.active{border-bottom-color:var(--accent);color:var(--accent)}.studio-tabs span{font:10px Georgia;border:1px solid var(--line);border-radius:30px;padding:0 5px;margin-left:4px}.studio-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:35px}.studio-controls{min-width:0}.studio-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}.studio-title h2{font-size:36px;line-height:1.5;letter-spacing:2px;margin-top:9px}.surprise{border:1px solid var(--line);padding:12px 9px;font-size:10px;display:flex;align-items:center;flex-direction:column;gap:8px;color:var(--accent)}.field-heading{font-size:11px;display:flex;justify-content:space-between;gap:10px;align-items:center;margin:21px 0 10px}.field-heading strong{font-weight:600}.field-heading>span{color:var(--muted);font-size:10px}.palette-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:7px}.palette-option{position:relative;border:1px solid var(--line);padding:6px;height:43px;display:flex;align-items:end;gap:2px}.palette-option>i{height:18px;flex:1}.palette-option:before{content:"迹";position:absolute;top:1px;left:5px;font:9px var(--serif);color:var(--swatchink)}.palette-option.active{outline:2px solid var(--accent);outline-offset:2px}.palette-option.active:after{content:"✓";position:absolute;right:-4px;top:-6px;background:var(--accent);color:var(--paper);font-size:9px;width:14px;height:14px;border-radius:20px}.custom-quote{font-size:10px;font-weight:400;color:var(--muted)}#quoteSelect{margin:0}.check-row{display:flex;align-items:center;gap:8px;font-size:11px;margin:13px 0}.check-row>span{color:var(--muted);font-size:9px;margin-left:auto}.format-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.format-options button{border:1px solid var(--line);padding:12px 5px;font-size:11px;display:flex;flex-direction:column;gap:5px}.format-options button.active{background:var(--water);border-color:var(--accent);color:var(--accent)}.format-options small{font-size:8px;color:var(--muted)}.portrait-box{background:var(--water);border-left:2px solid var(--accent);padding:19px 17px;margin-top:25px}.portrait-box .tiny{font-size:8px;letter-spacing:1px;line-height:1.8;display:block}.portrait-box h3{font-size:22px;margin:10px 0 6px}.portrait-box p{font-size:11px;line-height:1.9}.portrait-box .check-row{margin-bottom:6px}.portrait-box details{font-size:9px;color:var(--muted);margin-top:13px}.portrait-box details p{font-size:9px;margin-top:7px}.portrait-box summary{cursor:pointer}.privacy-check{margin-top:24px}.studio-output{min-width:0;position:sticky;top:0;align-self:start}.preview-paper{padding:22px 20px 15px;background:var(--water);border:1px solid var(--line)}.preview-paper>span{display:block;margin-bottom:18px;font-size:9px}.preview-paper canvas{width:100%;height:auto;display:block;box-shadow:0 7px 28px #1f2b231a;background:var(--paper)}.preview-paper canvas[data-format="story"]{max-height:600px;width:auto;max-width:100%;margin:auto}.preview-paper>p{text-align:center;font-size:9px}.export-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:14px}.export-buttons button{font-size:11px;min-height:44px;padding:10px 7px}.export-buttons svg{width:17px}.studio-poem{text-align:center;font:17px/2 var(--serif);color:var(--accent);margin-top:23px}.archive-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.archive-heading h2{font-size:30px}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}.saved-card{background:var(--paper);border:1px solid var(--line);padding:12px}.saved-card img{width:100%;height:230px;object-fit:contain;display:block;background:var(--water)}.saved-card h3{font-size:14px;margin-top:12px}.saved-card small{color:var(--muted);font-size:9px}.saved-card>div{display:flex;justify-content:space-between;gap:9px;margin-top:10px}.saved-card button{font-size:10px;padding:6px 1px}.about-dialog{width:620px}.about-dialog h2{font-size:33px;line-height:1.6;letter-spacing:2px}.about-dialog h3{font-size:18px;margin-top:25px;margin-bottom:7px}.about-dialog p{font-size:12px;color:var(--muted);line-height:2.1;margin-top:10px}.about-dialog a{text-decoration:underline}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);z-index:100;background:var(--ink);color:var(--paper);padding:13px 20px;box-shadow:0 5px 25px #0002;font-size:12px;max-width:calc(100vw - 32px);width:max-content;border-radius:3px}.toast button{color:inherit;text-decoration:underline;margin-left:16px}.toast:popover-open{display:block}
@media(min-width:1450px){.map-area{height:560px}.place-list{height:385px}.city-card{padding:21px}.city-card h3{font-size:27px}}
@media(max-width:1150px){.site-header nav{margin-left:10px;gap:18px}.storage-state{display:none}.workspace{grid-template-columns:minmax(0,1fr) 285px}.journal{padding:21px 18px}.map-area{height:460px}.place-list{height:284px}.map-data-state{display:none!important}.city-grid{grid-template-columns:repeat(4,1fr)}.hero-note{width:295px}.hero-note p{font-size:15px}.studio-dialog{padding:25px}.studio-layout{gap:25px}.palette-grid{gap:6px}}
@media(max-width:900px){.site-header{height:88px;gap:22px}.site-header nav{display:none}.site-header .primary{font-size:12px;padding:10px 15px}.brand-name{font-size:24px}.hero{padding:35px 0;gap:25px}h1{font-size:48px}.hero-note{width:245px;padding-left:23px;margin-right:0}.hero-note p{font-size:13px}.hero-sign{font-size:11px}.hero-sign>span{margin-left:13px}.personal-strip{gap:15px}.personal-strip>p{font-size:13px}.palette-id{min-width:215px}.palette-id small{font-size:8px;letter-spacing:.5px}.personal-strip .text-button{font-size:10px}.workspace{grid-template-columns:minmax(0,1fr) 255px;gap:12px}.journal{padding:18px 14px}.map-toolbar{padding:13px 12px 9px;gap:8px}.search-wrap{padding:0 9px}.search-wrap input{font-size:11px}.search-wrap kbd{display:none}.browse-button{font-size:10px;gap:4px}.map-tabs{padding:0 12px 10px;gap:8px}.segmented button{font-size:9px;padding:5px 8px}.tiny-check{font-size:9px;gap:3px}.map-area{height:430px}.journal h2{font-size:23px}.stats{margin:20px 0 14px}.stats strong{font-size:28px}.stats small{font-size:8px}.journal-filter button{padding:3px 8px}.place-list{height:250px}.place-main strong{font-size:11px}.place-main small{font-size:8px}.map-legend{gap:16px;font-size:9px}.map-foot{font-size:8px}.city-heading h2{font-size:25px}.city-heading p{font-size:11px}.region-filters{gap:17px}.city-grid{grid-template-columns:repeat(3,1fr)}.browse-layout{grid-template-columns:260px minmax(0,1fr);gap:20px}.browse-items{grid-template-columns:repeat(2,1fr)}.studio-layout{grid-template-columns:1fr 1.05fr;gap:22px}.studio-title h2{font-size:30px}.palette-grid{grid-template-columns:repeat(4,1fr);gap:8px}.palette-option{height:37px}.palette-option>i{height:16px}.studio-dialog{padding:20px}.export-buttons button{font-size:10px;gap:5px}.preview-paper{padding:15px 12px}.archive-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){body{font-size:13px}.site-header{height:76px;margin:0 5%;gap:15px}.brand{gap:9px}.brand-name{font-size:23px;letter-spacing:2px}.brand-tag{font-size:7px;letter-spacing:1.5px}.seal{width:28px;height:39px;font-size:16px}.site-header .primary{font-size:10px;gap:6px;min-height:38px;padding:8px 10px;white-space:nowrap}.site-header .primary .icon{width:15px;height:15px}.header-end{gap:0}main{padding:0 5%}.hero{padding:30px 0 25px;display:block}.eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:13px}.eyebrow>span{width:20px}h1{font-size:43px;line-height:1.45;letter-spacing:3px}.hero-note{border:0;padding:0;margin:21px 0 0;width:100%}.hero-note>.tiny,.hero-note>p{display:none}.hero-sign{font-size:12px;display:flex;align-items:center;justify-content:space-between;letter-spacing:.4px}.hero-sign>span{font-size:17px;margin:0}.personal-strip{padding:14px 0;flex-wrap:wrap;gap:8px}.palette-id{min-width:0;flex:1}.palette-id small{font-size:8px}.palette-id strong{font-size:11px}.palette-id #paletteDots{gap:2px}.palette-id i{width:9px;height:23px}.personal-strip>p{font-size:13px;width:100%;flex:auto;order:3;margin-top:5px}.personal-strip .text-button{font-size:10px}.section-heading{margin:23px 0 12px;gap:12px}.section-aside{display:none}.folio{font-size:10px;letter-spacing:1.2px}.section-heading .text-button{font-size:10px}.section-heading .text-button .icon{width:14px}.workspace{display:block}.journal{display:none}.workspace.show-journal .map-panel{display:none}.workspace.show-journal .journal{display:flex;min-height:525px}.workspace.show-journal .place-list{height:auto;min-height:260px;max-height:460px}.journal{padding:22px}.journal h2{font-size:28px}.stats strong{font-size:33px}.stats small{font-size:10px}.place-main strong{font-size:13px}.place-main small{font-size:10px}.place-row{min-height:62px}.place-list{height:auto}.sample-banner{padding:8px 10px;font-size:8px;gap:8px}.sample-banner button{font-size:9px}.map-toolbar{padding:12px 10px 9px;gap:7px}.search-wrap{height:41px;padding:0 8px;gap:6px}.search-wrap input{font-size:11px}.search-wrap>svg{width:14px}.browse-button{font-size:10px;gap:4px;min-height:41px}.browse-button .icon{width:14px}.map-tabs{padding:0 10px 10px}.segmented{padding:2px;gap:1px}.segmented button{font-size:9px;padding:6px 8px}.tiny-check{font-size:9px}.tiny-check input{width:13px;height:13px}.map-area{height:355px;margin:0;overflow:hidden}.map-kicker{left:12px;right:12px;top:12px;font-size:8px;letter-spacing:1px}.map-kicker .compass{font-size:10px}.map-foot{left:12px;right:12px;bottom:8px;font-size:8px;gap:6px}.map-foot .text-button{font-size:8px}.map-zoom{right:10px;bottom:49px}.map-zoom button{width:31px;height:32px}.map-legend{padding:10px 12px;font-size:9px;gap:19px}.map-legend i{width:6px;height:6px}.map-legend .map-data-state{display:none!important}.city-section{margin-top:33px}.city-section .section-heading>.tiny{font-size:8px;letter-spacing:.3px}.city-heading{display:block;margin:20px 0}.city-heading h2{font-size:26px;line-height:1.6;letter-spacing:.3px}.city-heading h2 em{display:block}.city-heading p{font-size:10px;line-height:1.9;margin-top:9px}.city-heading>.outline-button{display:none}.city-tools{display:block;margin-bottom:15px}.region-filters{gap:18px}.region-filters button{font-size:10px;padding:7px 0 10px}.city-multi{justify-content:end;margin:9px 0;font-size:10px}.city-multi input{width:14px;height:14px}.city-grid{grid-template-columns:repeat(2,1fr);gap:10px}.city-card{padding:16px 13px}.city-card .city-no{margin-bottom:15px;font-size:9px}.city-card h3{font-size:25px}.city-card .region-name{font-size:8px}.city-card .mood{font-size:10px;min-height:36px;margin-top:10px;line-height:1.8;padding-right:0}.city-card .city-mark{right:9px;top:8px;min-width:24px;min-height:24px}.city-bottom{margin-top:17px;gap:13px}.city-bottom .primary{font-size:11px;padding:10px 15px}.closing{margin:42px 0 19px;padding:33px 0 24px}.closing h2{font-size:23px;line-height:1.8;letter-spacing:1px}.closing h2 em{display:block}.closing p{font-size:10px;margin:12px 0 22px}.closing .primary{font-size:11px}.site-footer{display:block;text-align:center;padding:18px 7% 105px;line-height:1.9}.site-footer p{margin:10px 0 7px;font-size:8px}.site-footer>span{font-size:13px}.site-footer button{font-size:9px}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--panel);border-top:1px solid var(--line);padding:9px 12px max(11px,env(safe-area-inset-bottom));box-shadow:0 -4px 22px #23322207}.mobile-nav button{display:flex;align-items:center;flex-direction:column;gap:4px;font-size:9px;color:var(--muted);padding:0;min-height:41px}.mobile-nav button.active,.mobile-nav button:last-child{color:var(--accent)}.mobile-nav .icon{width:19px;height:19px}.toast{bottom:89px;font-size:11px;padding:11px 15px}.undo-bar{font-size:10px;padding:9px 10px}.search-results{right:-55px;max-height:310px}.result{padding:12px 10px;font-size:12px}.result small{font-size:9px}dialog{border-radius:13px 13px 0 0;margin:0;top:auto;bottom:0;width:100%;max-width:100vw;max-height:93dvh;border-bottom:0;padding:23px 22px;padding-bottom:max(25px,env(safe-area-inset-bottom));box-shadow:0 -5px 50px #1623182e}.dialog-top{margin-bottom:14px}.dialog-top .tiny{font-size:8px;letter-spacing:1px}.icon-button{font-size:26px}.place-dialog{padding:22px;width:100%}.place-dialog h2{font-size:30px}.status-options{gap:7px}.status-options label{padding:12px 8px;font-size:12px}.status-options small{font-size:8px;white-space:normal}.field{font-size:12px;margin-top:17px}.field>span{font-size:9px}.field input,.field textarea,.field select,.full-input,#quoteSelect{font-size:16px;padding:10px 11px}.place-buttons .primary{font-size:12px}.fine{font-size:9px}.browse-dialog{padding:22px}.browse-layout{grid-template-columns:1fr;gap:17px;margin-top:19px}.province-grid{grid-template-columns:repeat(5,1fr);border-right:0;border-bottom:1px solid var(--line);padding:0 0 16px;gap:5px;max-height:190px;overflow:auto}.province-chip{font-size:10px;padding:7px 5px;text-align:center;min-height:34px}.browse-content h3{font-size:24px}.browse-items{grid-template-columns:repeat(3,1fr);max-height:255px;gap:6px}.browse-item{font-size:11px;padding:9px 6px;min-height:42px}.browse-heading-actions .primary{padding:8px 12px;min-height:38px}.browse-dialog h2{font-size:28px}.browse-dialog>.muted{font-size:11px}.district-loader small{font-size:8px}.studio-dialog{padding:20px 19px 28px}.studio-tabs{margin-bottom:20px;gap:28px}.studio-layout{display:block}.studio-title{margin-bottom:22px}.studio-title h2{font-size:34px;line-height:1.5}.surprise{font-size:10px;padding:12px}.palette-grid{grid-template-columns:repeat(8,1fr);gap:7px}.palette-option{height:38px;padding:4px}.palette-option>i{height:16px}.palette-option:before{top:2px;left:4px;font-size:8px}.field-heading{font-size:12px;margin-top:21px}.field-heading>span{font-size:10px}.custom-quote{font-size:10px}.check-row{font-size:11px}.portrait-box .tiny{font-size:8px}.portrait-box h3{font-size:22px}.portrait-box p{font-size:11px}.studio-output{position:static;margin-top:25px;border-top:1px solid var(--line);padding-top:22px}.preview-paper{padding:16px 13px 12px}.preview-paper canvas[data-format="story"]{max-height:none;width:100%}.studio-poem{font-size:15px;margin:23px 0 0}.export-buttons button{font-size:11px;min-height:45px}.export-buttons{gap:8px}.archive-grid{grid-template-columns:repeat(2,1fr);gap:10px}.saved-card{padding:9px}.saved-card img{height:180px}.saved-card h3{font-size:12px}.saved-card>div{flex-wrap:wrap;gap:5px}.archive-heading h2{font-size:25px}.about-dialog h2{font-size:29px}.about-dialog p{font-size:12px}.about-dialog h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.site-footer{flex-wrap:wrap}.site-footer .creator-credit{display:block;flex:0 0 100%;text-align:center;font:12px/1.8 var(--sans);letter-spacing:.5px;margin-top:12px;color:var(--muted)}.palette-option{display:flex;align-items:center;gap:2px}.palette-option i{flex:1;min-width:0}.saved-card>div{display:flex;justify-content:space-between}.browse-heading-actions{flex-wrap:wrap}@media(max-width:680px){.site-footer .creator-credit{font-size:11px;margin-top:14px}.browse-heading-actions .outline-button{padding:8px;min-height:38px;font-size:11px}}
.site-footer .edition-link{font-size:12px;text-decoration:underline;text-underline-offset:4px;margin:0 12px}
