#town-guide{position:fixed;left:88px;top:112px;width:250px;z-index:15;background:rgba(246,240,225,.96);border:1px solid #b9ad94;box-shadow:0 8px 30px #3c332517;border-radius:3px;color:#393d35;font:13px Georgia,'Songti SC',serif}
#town-guide summary{cursor:pointer;padding:13px 15px;list-style:none;font-size:15px;display:flex;align-items:center;gap:10px}#town-guide summary>span{font-size:12px;color:#a8402f;letter-spacing:.15em}#town-guide summary small{margin-left:auto}
.town-intro,.town-foot{margin:0;padding:0 15px 12px;font-size:11px;color:#767260;line-height:1.6}.town-foot{padding-top:12px;padding-bottom:4px}
.town-option{display:flex;align-items:center;gap:10px;width:100%;border:0;border-top:1px solid #d8cfba;background:transparent;text-align:left;padding:10px 14px;cursor:pointer;font:inherit;color:inherit}
.town-option:hover,.town-option.chosen{background:#e8deca}.town-option small{display:block;margin-top:4px;font-size:10px;color:#6c705e}.town-glyph{font-size:23px;color:#a8402f;width:25px}.town-walk{margin-left:auto;color:#897c62}
.town-map{margin:8px 14px;background:#ede5d3;border:1px solid #d8cfba}.town-map svg{display:block;width:100%;max-height:135px;font:12px serif;fill:#46564b}.town-status{font-size:11px;padding:0 14px 10px;color:#a8402f}
#town-signs{position:fixed;inset:0;z-index:8;pointer-events:none}.town-sign{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;white-space:nowrap;border:1px solid #b8ab90;border-bottom:3px solid #a8402f;border-radius:3px;background:rgba(250,244,228,.96);box-shadow:0 3px 12px #29251c24;color:#343b32;padding:7px 11px;cursor:pointer;font:14px Georgia,serif}.town-sign span{color:#a8402f;margin-right:5px}.town-sign small{display:block;color:#77705f;font-size:10px;margin-top:3px}.town-sign.chosen,.town-sign:hover{background:#fff9e9;border-color:#a8402f}
#town-route{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:6}
#painting-case-button{position:fixed;bottom:26px;left:92px;z-index:16;padding:10px 15px;border:1px solid #9f8d6d;border-radius:3px;background:#f6efdf;color:#493e2e;font:13px Georgia,serif;cursor:pointer}
#painting-overlay{position:fixed;inset:0;z-index:45;background:#25292173;display:grid;place-items:center;padding:20px;box-sizing:border-box}#painting-overlay[hidden]{display:none}
.painting-window{position:relative;width:min(900px,100%);max-height:90dvh;overflow:auto;box-sizing:border-box;background:#f3ecd9;border:1px solid #b4a281;box-shadow:0 20px 80px #181f2755;padding:30px;color:#343b32;font:14px Georgia,'Songti SC',serif}.painting-window h2{margin:0 50px 8px 0;font-size:25px;font-weight:400}.painting-window p{color:#716b5a;line-height:1.65}.painting-close{position:absolute;right:18px;top:15px}.painting-window button{font:inherit;padding:8px 12px;border:1px solid #b4a281;background:#faf4e5;color:#3d4437;cursor:pointer}.painting-window button:hover{border-color:#a8402f;color:#a8402f}.painting-window button:disabled{opacity:.45;cursor:default}.painting-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.painting-toolbar .primary,.painting-window .primary{background:#873e31;color:#fff6e3;border-color:#873e31}.painting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.painting-tile{border:1px solid #d4c6ad;background:#f8f2e4;padding:14px;min-width:0}.painting-tile.locked{opacity:.6}.painting-tile svg{width:100%;height:125px;display:block}.painting-tile h3{margin:8px 0;font-size:16px;font-weight:400}.painting-tile p{font-size:12px;margin:5px 0}.painting-tile .grade{color:#a8402f}.painting-tile input{width:84px;box-sizing:border-box;font:inherit;padding:8px;border:1px solid #b4a281;background:#fff9ed}.painting-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.painting-status{padding:10px 0;color:#a8402f;min-height:20px;font-size:13px}.painting-empty{padding:28px;border:1px dashed #b4a281}.study-grade-guide{font-size:11px!important}
#trace-canvas{width:100%;height:auto;display:block;background:#faf5e8;touch-action:none;cursor:crosshair;border:1px solid #c8b795;box-sizing:border-box}
.in-city #tut,.in-city #board{display:none!important}
.in-city #mini{display:none!important}
#painting-case-button{left:auto;right:28px;bottom:210px}.in-city #painting-case-button{bottom:24px}
.in-city #drawer:not([hidden])~#town-guide{display:none}
@media(max-height:850px) and (min-width:701px){#town-guide{top:95px}.town-map{display:none}.town-option{padding:8px 14px}}
@media(max-width:700px){#town-guide{left:12px;top:125px;width:222px}#town-guide[open]{max-height:65dvh;overflow:auto}.town-map{display:none}#painting-case-button{right:12px;bottom:290px}.in-city #painting-case-button{bottom:145px}.painting-window{padding:20px 14px}.painting-window h2{font-size:21px}.painting-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.painting-tile{padding:10px}.painting-tile svg{height:90px}.painting-window button{font-size:12px}.town-sign{font-size:12px;padding:5px 8px}.town-sign small{font-size:9px}#painting-overlay{padding:8px}}
@media(max-width:380px){.painting-grid{grid-template-columns:1fr}}
