XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

EARSystem

【ASP】耳间,网页端的情绪智能推荐系统

公开
关注 0 Fork 0 Star 0
UTF-8
:root{--ink:#273d32;--green:#285943;--green-dark:#1e4433;--muted:#89918a;--line:#e9ece4;--paper:#f7f8f3;--yellow:#e5c883;--pale:#e9efe4;--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Microsoft YaHei UI","PingFang SC",system-ui,sans-serif;font-size:14px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}a:hover{color:var(--green)}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;font-weight:650;line-height:1.5;margin-bottom:6px}h2{font-size:19px;font-weight:650;line-height:1.5;margin-bottom:14px}h3{font-size:15px;font-weight:600}p{line-height:1.85}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:38px 24px 24px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:13px;font-size:26px;font-weight:650;letter-spacing:3px}.brand small{display:block;font-size:8px;letter-spacing:2.1px;font-weight:500;color:var(--muted);line-height:1.2}.brand-mark{width:43px;height:47px;background:var(--green);border-radius:18px 18px 20px 8px;color:#f4f1d7;font-family:Georgia,serif;font-size:43px;line-height:38px;text-align:center;letter-spacing:0}.brand-caption{font-size:10px;color:var(--muted);margin:19px 0 38px;letter-spacing:1px}.side-nav{display:flex;flex-direction:column;gap:9px}.side-nav>a{padding:11px 16px;border-radius:11px;color:#718076;display:flex;align-items:center;gap:16px;font-size:13px}.side-nav>a.active{background:#eaf0e6;color:var(--green);font-weight:650}.nav-icon{font-size:22px;line-height:1;width:20px;text-align:center}.sidebar-bottom{margin-top:auto;padding:26px 15px 0;color:var(--muted);font-size:12px}.little-leaf{font-size:32px;color:#adbda0;margin-bottom:15px}.sidebar-bottom p{line-height:2}.main-content{width:100%;max-width:1560px;margin:0 auto;padding:0 44px 20px;min-width:0}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:34px}.topbar>span{font-size:9px;letter-spacing:2px;color:var(--muted)}.topbar>div{display:flex;gap:22px;align-items:center}.date-chip{font-size:11px;color:#7b887e}.avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#e9eddc;color:var(--green);font-size:12px}.eyebrow{display:block;color:#859280;font-size:9px;letter-spacing:2px;font-weight:600;margin-bottom:8px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:26px}.page-heading p{color:var(--muted);font-size:12px;margin:0}.greeting-flower{font-size:29px;color:#c7aa68;padding-left:16px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;min-height:42px;padding:10px 19px;border:1px solid transparent;font-size:12px;font-weight:550;white-space:nowrap;transition:background .18s,transform .18s}.button:hover{transform:translateY(-1px)}.primary{background:var(--green);color:#fff}.primary:hover{background:var(--green-dark);color:#fff}.secondary{background:#fff;border-color:#dde4d8;color:#4b6252}.secondary:hover{background:#f2f5ee}.text-button{background:none;border:0;padding:0;color:#587460;font-size:12px}.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;padding:4px 11px;background:#edf0e7;border-radius:20px;font-size:10px;color:#697e66;font-weight:550}.pill.light{background:#f3f5e9;color:#6e8263}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px}.dashboard-hero,.landing-hero{position:relative;background:#e6eddf;border-radius:22px;padding:35px 40px;overflow:hidden;margin-bottom:24px;min-height:295px;display:flex;align-items:center}.dashboard-hero>div:first-child{position:relative;z-index:2}.dashboard-hero h2{font-size:32px;line-height:1.45;letter-spacing:-1.4px;margin:14px 0 12px;font-weight:650}.dashboard-hero p{font-size:11px;color:#7b8b70;margin-bottom:20px}.hero-garden{position:absolute;right:18px;width:370px;height:290px;bottom:0}.sun{position:absolute;right:35px;top:19px;width:140px;height:140px;border-radius:50%;background:#eedda2}.leaf{position:absolute;width:105px;height:183px;border-radius:110px 0 110px 0;background:#7c9c71;bottom:-13px;transform:rotate(-28deg);right:190px}.leaf-b{width:91px;height:150px;background:#b1c394;right:98px;bottom:-3px;transform:rotate(45deg)}.flower{position:absolute;font-size:135px;line-height:1;right:69px;top:79px;color:#fcfae9;transform:rotate(12deg)}.garden-note{position:absolute;right:187px;top:37px;font-family:Georgia,serif;font-size:11px;color:#708264;letter-spacing:1px;line-height:1.8;transform:rotate(-6deg)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px}.stat-card{padding:20px 23px;border:1px solid var(--line);border-radius:15px;background:#fff}.stat-card>span{color:#8b938a;font-size:11px;display:block}.stat-card strong{display:block;font-size:26px;font-weight:600;margin:8px 0 4px;line-height:1.4}.stat-card:first-child strong{font-size:20px}.stat-card em{font-size:10px;font-weight:400;color:#98a08f;margin-left:6px;font-style:normal}.stat-card i{font-size:26px;color:#cead60;font-style:normal;margin-left:6px}.stat-card small{font-size:10px;color:#9a9f95}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.section-heading h2{margin:0}.section-heading small{color:var(--muted);font-size:11px}.dashboard-middle{display:grid;grid-template-columns:1.7fr 1fr;gap:22px;margin-bottom:28px}.chart-wrap{height:250px;position:relative}.mini-chart{height:185px}.chart-legend{display:flex;justify-content:center;gap:20px;font-size:10px;color:var(--muted);margin-top:14px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px}.green{background:#719471}.gold{background:#d9bf75}.lavender{background:#b2accb}.gentle-card{text-align:center;background:#f3f0e5;display:flex;align-items:center;justify-content:center;flex-direction:column}.gentle-card p{color:#9a9580;font-size:12px}.big-flower{color:#d1bd83;font-size:55px;line-height:1.4}.gentle-card .eyebrow{color:#a29a7c}.gentle-card h2{margin:8px 0}.diary-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:25px;align-items:start}.stack-form{display:flex;flex-direction:column;gap:19px}.stack-form h2,.stack-form h3{margin-bottom:0}.stack-form label,.filter-row>label{display:block;font-size:12px;color:#66735f;font-weight:500}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{display:block;width:100%;border:1px solid #e1e6dc;border-radius:8px;padding:10px 12px;color:var(--ink);background:#fcfdf9;margin-top:7px;min-height:39px}textarea{resize:vertical;line-height:1.9}input:focus,select:focus,textarea:focus{outline:2px solid #aec5a2;border-color:transparent}input[type=range]{width:100%;accent-color:var(--green);display:block;margin-top:15px}input[type=checkbox],input[type=radio]{accent-color:var(--green)}label>small{display:block;font-size:10px;color:#9da294;font-weight:400;margin-top:6px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}.range-value{float:right;color:#7d9075;font-size:10px}.stack-form fieldset{padding:0;border:0}.stack-form legend{font-size:13px;margin-bottom:13px}.mood-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.mood-picker label{text-align:center;cursor:pointer}.mood-picker input{position:absolute;opacity:0;width:1px;height:1px}.mood-face{display:grid;place-items:center;width:47px;height:47px;margin:0 auto;border-radius:50%;font-size:29px;border:2px solid transparent;line-height:1;transition:transform .15s}.mood-picker input:checked+.mood-face{border-color:#6d9564;box-shadow:0 0 0 4px #edf2e6;transform:translateY(-3px)}.mood-picker input:focus-visible+.mood-face{outline:2px solid var(--green);outline-offset:4px}.mood-picker small{font-size:10px;margin-top:9px;color:#8e9789}.mood-1{background:#ded9e8;color:#8d809a}.mood-2{background:#e9e1d6;color:#aa9780}.mood-3{background:#e8ebda;color:#98a578}.mood-4{background:#e9e6b8;color:#b8a652}.mood-5{background:#d6e6c0;color:#81a05e}.tag-picker{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.tag-option input{position:absolute;opacity:0;pointer-events:none}.tag-option span{display:block;border:1px solid #e4e9dd;background:#fbfcf8;color:#9aa38f;border-radius:20px;padding:5px 12px;font-size:10px;cursor:pointer;font-weight:400}.tag-option input:checked+span{background:#eaf1e2;color:#567548;border-color:#b7c9a8}.tag-option input:focus-visible+span{outline:2px solid var(--green)}.check{display:flex!important;gap:9px;align-items:center;font-weight:400!important;white-space:normal}.char-count{text-align:right}.form-status{font-size:12px;min-height:18px;margin:0;color:var(--green)}.form-status.error{color:#a85e4b}.suggestions{display:flex;gap:6px;flex-wrap:wrap}.suggestions:empty{display:none}.card-list{display:flex;flex-direction:column;gap:15px}.diary-card{padding:22px}.card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:15px}.card-top time{font-size:10px;color:#a1a697}.thoughts{font-size:12px;color:#738069;white-space:pre-wrap;overflow-wrap:anywhere}.tag-row{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:#94a084}.card-actions{display:flex;gap:17px;border-top:1px solid var(--line);padding-top:12px;margin-top:17px;justify-content:flex-end}.muted{color:var(--muted)}.small{font-size:11px}.empty-state{text-align:center;padding:40px 20px;color:#98a58d}.empty-state>span{font-size:40px;display:block;margin-bottom:10px}.page-footer{font-size:9px;text-align:center;color:#a5ab9e;padding:32px 0 0;letter-spacing:.6px}.page-footer span{padding:0 7px}.landing-hero{min-height:475px;padding:65px 50px;display:block}.landing-hero h1{font-size:47px;letter-spacing:-2px;margin:20px 0}.landing-hero h1 span{color:#a6b681}.landing-hero p{color:#7e8d76;font-size:13px;margin-bottom:28px}.landing-hero .hero-garden{width:370px;height:330px;right:0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature-grid h3{margin:14px 0 10px}.feature-grid p{font-size:12px;color:var(--muted);margin-bottom:0}.feature-icon{font-size:24px;color:#8ba37a}.auth-panel{max-width:450px;margin:35px auto;padding:36px}.auth-panel h1{font-size:30px;margin:10px 0}.auth-panel .stack-form{margin-top:25px}.auth-switch{text-align:center;font-size:11px;color:var(--muted);margin:24px 0 0}.auth-switch a{color:var(--green);margin-left:7px}.auth-demo{border-top:1px solid var(--line);padding-top:20px;margin-top:24px;text-align:center}.auth-demo p{font-size:11px;color:var(--muted)}.auth-demo small{font-size:9px;color:#a3aa9b;display:block;margin-top:10px}.validation-errors{font-size:12px;color:#a9634d}.validation-errors ul{padding-left:18px}.validation-errors.validation-summary-valid{display:none}.filters-panel{padding:19px 23px;margin-bottom:18px}.filter-row{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.filter-row>label{flex:1;min-width:110px;font-size:10px}.filter-row input,.filter-row select{font-size:11px;padding:8px 10px;min-height:36px}.filter-row .check{flex:0 0 auto;min-width:auto;margin-bottom:9px}.filter-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:14px}.location-details{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.location-details summary{font-size:10px;color:#8f9c84;cursor:pointer}.location-details .filter-row{margin-top:14px}.recommend-basis{display:flex;align-items:center;gap:16px;padding:17px 20px;border-radius:14px;background:#eaf0e3;margin-bottom:24px}.basis-icon{font-size:31px;color:#94ab80}.recommend-basis h3{margin:0 0 4px;font-size:13px}.recommend-basis p{margin:0;font-size:11px;color:#89977b}.nearby-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px;align-items:start}.map-panel{position:sticky;top:24px;padding:0;overflow:hidden}.map-heading{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;font-size:13px}.map-heading small{font-size:9px;color:var(--muted)}#map-canvas{height:525px;position:relative;background:#edf1e3;overflow:hidden}.map-caption{font-size:9px;margin:0;padding:15px 20px;color:#a1aa96}.schematic-map{width:100%;height:100%;background:linear-gradient(22deg,transparent 46%,#d6e2bf 46%,#d6e2bf 57%,transparent 57%),repeating-linear-gradient(90deg,transparent,transparent 86px,#fff8 86px,#fff8 95px),repeating-linear-gradient(0deg,transparent,transparent 79px,#fff8 79px,#fff8 87px);position:relative}.map-pin{position:absolute;background:var(--green);color:white;border:2px solid #fff;border-radius:50%;width:29px;height:29px;font-size:10px;box-shadow:0 3px 8px #44633630;transform:translate(-50%,-50%)}.map-pin:hover,.map-pin.active{background:#be9a4f;z-index:4}.origin-pin{position:absolute;left:50%;top:50%;font-size:10px;background:#fff;padding:4px 8px;border-radius:10px;color:#739064;transform:translate(-50%,-50%)}.map-watermark{position:absolute;bottom:20px;left:20px;color:#879b73;font-size:11px;letter-spacing:2px;pointer-events:none}.place-card{padding:20px;display:grid;grid-template-columns:66px minmax(0,1fr);gap:16px}.place-art{height:76px;border-radius:11px;background:#e6eddb;display:grid;place-items:center;font-size:29px;color:#8caa74}.category-Cafe{background:#eee6d9;color:#ab9372}.category-Park{background:#e0ebd5;color:#8da76e}.category-Bookstore{background:#e4e7d6;color:#9a9e71}.category-Gallery{background:#e8e3ed;color:#aaa0b7}.category-Entertainment{background:#f0e6d8;color:#bca070}.category-Dining{background:#eee7d6;color:#b29b68}.place-card .card-top{margin-bottom:3px;align-items:start}.place-card h3{font-size:13px;margin:0;line-height:1.6}.score{font-size:21px;color:var(--green);font-weight:650;line-height:1.4}.score small{font-size:8px;display:block;color:#92a086;font-weight:400;white-space:nowrap}.place-meta{font-size:9px;color:#a0a691;margin:3px 0 9px}.place-reasons{display:flex;gap:5px;flex-wrap:wrap}.place-reasons span{background:#f1f4eb;color:#8c9b7b;font-size:9px;padding:3px 7px;border-radius:4px}.place-card .card-actions{justify-content:space-between;margin-top:12px;padding-top:9px;gap:8px}.place-card .pill{font-size:8px;padding:2px 8px}.place-card .text-button{font-size:10px}.view-switch{display:none}.modal-content{border:0;border-radius:20px;padding:14px}.modal-close{position:absolute;right:18px;top:10px;background:none;border:0;font-size:26px;color:#8a9681;z-index:3}.modal-body{padding:22px}.modal-body h2{font-size:22px}.modal-body .place-art{width:72px;height:70px;margin-bottom:20px}.modal-body .button-row{margin-top:20px}.back-link{display:inline-block;margin-bottom:20px;font-size:12px;color:#8c9a81}.place-detail-hero{height:180px;display:flex;align-items:center;justify-content:center;border-radius:20px;position:relative}.place-detail-hero .pill{position:absolute;bottom:18px;right:20px;background:#fff9}.detail-symbol{font-size:74px}.place-detail{margin-top:22px;max-width:850px}.place-detail h1{margin:8px 0}.detail-metrics{display:flex;gap:35px;font-size:12px;border-block:1px solid var(--line);padding:18px 0;margin:25px 0}.detail-metrics strong{margin-left:10px}.atmosphere-bars{margin:20px 0 30px;max-width:480px}.atmosphere-bars>div{display:flex;gap:15px;align-items:center;margin-bottom:12px;font-size:11px}.bar-track{height:6px;border-radius:6px;background:#edf1e7;flex:1}.bar-track i{display:block;height:100%;background:#a0b88c;border-radius:6px}.segmented{display:inline-flex;border:1px solid #dfe6d7;border-radius:9px;padding:3px;background:#fff;margin-bottom:24px}.segmented button,.view-switch button{border:0;background:transparent;padding:6px 17px;border-radius:6px;font-size:11px;color:#92a080}.segmented button.active,.view-switch button.active{background:#e9efe0;color:var(--green)}.favorite-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.favorite-card .place-art{height:130px;margin-bottom:20px;font-size:43px}.favorite-card h3{line-height:1.6}.review-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:23px;margin-bottom:25px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-cell{aspect-ratio:1;border:0;border-radius:7px;display:grid;place-items:center;font-size:10px;background:#f4f6ef;color:#a4ac9c}.calendar-cell.mood-1{background:#ded9e8}.calendar-cell.mood-2{background:#e9e1d6}.calendar-cell.mood-3{background:#e8ebda}.calendar-cell.mood-4{background:#e9e6b8}.calendar-cell.mood-5{background:#d6e6c0}.calendar-label{font-size:9px;color:#a0aa96;text-align:center;padding:5px}.calendar-legend{display:flex;align-items:center;justify-content:center;gap:4px;font-size:8px;color:#9aa58c;margin-top:20px}.calendar-legend i{width:10px;height:10px;border-radius:2px}.calendar-legend span{margin:0 5px}.weekly-panel{background:#edf1e6}.weekly-panel .stat-grid{margin-bottom:16px}.weekly-panel .stat-card{background:#fff9}.weekly-panel .summary{font-size:13px;color:#6e8060}.settings-panel{max-width:820px}.align-start{align-self:start}.notice{background:#e7efdc;padding:13px 20px;border-radius:12px;font-size:12px;margin-bottom:20px}.table-wrap{overflow-x:auto}.admin-table{width:100%;font-size:11px}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}.admin-table th{color:#8a967f;font-weight:500}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);padding:12px 24px;border-radius:12px;background:var(--green-dark);color:#fff;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:2000;max-width:90vw;box-shadow:0 8px 24px #1b402225}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.error{background:#8f5c47}.mobile-nav{display:none}button:disabled{opacity:.55;cursor:wait}.loading-card{min-height:145px;background:linear-gradient(100deg,#f2f5ed,#fff,#f2f5ed);animation:pulse 1.5s infinite}.error-box{color:#9e6650;background:#faf1e8;border-radius:12px;padding:20px;font-size:12px}.address-option{display:block;width:100%;text-align:left;background:#f3f6ef;border:0;border-radius:7px;padding:10px;font-size:11px;margin-top:7px}.danger-text{color:#a37666}.blocked-chip{background:#f2eadd;border:0;border-radius:20px;padding:6px 13px;font-size:11px;color:#9d866e}@keyframes pulse{50%{opacity:.6}}
@media(min-width:1500px){.main-content{padding-inline:60px}.dashboard-hero{min-height:320px}.hero-garden{right:70px}}@media(max-width:1200px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:32px 17px}.main-content{padding:0 27px 20px}.hero-garden{opacity:.7;right:-35px;transform:scale(.85);transform-origin:bottom right}.dashboard-hero h2{font-size:28px}.stat-card{padding:18px 15px}.stat-card:first-child strong{font-size:17px}.favorite-grid{grid-template-columns:repeat(2,1fr)}.nearby-grid{grid-template-columns:1.05fr 1fr}.filter-row{gap:10px}.dashboard-middle{grid-template-columns:1.5fr 1fr}}@media(max-width:960px){.app-shell{grid-template-columns:165px minmax(0,1fr)}.sidebar{padding:30px 12px}.brand{font-size:22px;gap:8px}.brand-mark{width:35px;height:41px;font-size:36px}.brand-caption{font-size:8px}.side-nav>a{padding:10px;font-size:11px;gap:9px}.main-content{padding-inline:21px}.stat-grid{grid-template-columns:repeat(2,1fr)}.diary-grid,.dashboard-middle,.review-grid{grid-template-columns:1fr}.gentle-card{display:none}.hero-garden{opacity:.45}.nearby-grid{grid-template-columns:1fr}.map-panel{position:relative}.feature-grid{grid-template-columns:1fr}.landing-hero h1{font-size:36px}.landing-hero{padding:35px}.topbar>span{font-size:8px}.page-heading h1{font-size:25px}}@media(max-width:640px){.app-shell{display:block}.sidebar{position:relative;height:auto;padding:20px 20px 0;border:0;background:transparent;flex-direction:row;justify-content:space-between}.brand{font-size:22px}.brand-mark{height:36px;width:32px;font-size:33px;line-height:32px;border-radius:13px 13px 15px 6px}.brand small{font-size:7px}.brand-caption,.sidebar-bottom,.sidebar .side-nav{display:none}.public-shell .side-nav{display:flex;flex-direction:row;gap:3px}.main-content{padding:0 18px 85px}.topbar{height:59px;margin-bottom:23px}.topbar>span{font-size:7px;letter-spacing:1px}.topbar>div{gap:9px}.date-chip{font-size:9px}.avatar{width:25px;height:25px}.page-heading{align-items:start;margin-bottom:22px}.page-heading h1{font-size:23px;letter-spacing:-.6px}.page-heading p{font-size:10px}.page-heading>.button{font-size:9px;padding:8px 10px;min-height:35px}.eyebrow{font-size:7px;letter-spacing:1.5px}.dashboard-hero{padding:27px 23px;min-height:280px;margin-bottom:18px}.dashboard-hero h2{font-size:28px}.dashboard-hero p{font-size:10px}.hero-garden{width:260px;right:-35px;transform:scale(.72);opacity:.5}.dashboard-hero .button{font-size:10px}.stat-grid{gap:10px;margin-bottom:18px}.stat-card{padding:15px 16px}.stat-card strong{font-size:24px}.stat-card:first-child strong{font-size:17px}.stat-card small{font-size:8px}.stat-card>span{font-size:10px}.panel{padding:20px;border-radius:15px}.dashboard-middle{gap:15px;margin-bottom:20px}.section-heading h2{font-size:16px}.section-heading .text-button{font-size:10px}.mood-face{width:42px;height:42px;font-size:27px}.mood-picker small{font-size:9px}.two-cols{gap:14px}.stack-form{gap:17px}.stack-form label{font-size:11px}.diary-grid{gap:25px}.diary-card{padding:18px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fffffff5;border-top:1px solid var(--line);backdrop-filter:blur(12px);justify-content:space-around;padding:9px 0 max(10px,env(safe-area-inset-bottom));z-index:50}.mobile-nav a{display:flex;flex-direction:column;align-items:center;font-size:21px;color:#78916b;line-height:1.3}.mobile-nav span{font-size:9px;margin-top:3px}.page-footer{font-size:8px}.auth-panel{margin-top:20px;padding:25px}.landing-hero{padding:35px 23px;min-height:410px}.landing-hero h1{font-size:32px}.landing-hero p{font-size:11px}.landing-hero .hero-garden{opacity:.3}.feature-grid{gap:12px}.filters-panel{padding:15px}.filter-row{gap:11px}.filter-row>label{min-width:calc(50% - 12px);flex:1}.filter-row .button{flex:1}.filter-bottom{align-items:flex-start;flex-direction:column;gap:13px}.filter-bottom .tag-picker{gap:5px}.tag-option span{font-size:9px;padding:5px 10px}.recommend-basis{padding:14px;align-items:start}.recommend-basis p{font-size:10px}.view-switch{display:flex;justify-content:center;margin-bottom:18px}.nearby-grid .map-panel{display:none}.nearby-grid.map-view>section{display:none}.nearby-grid.map-view .map-panel{display:block;padding:0}#map-canvas{height:430px}.place-card{padding:17px;gap:12px;grid-template-columns:55px minmax(0,1fr)}.place-art{height:65px;font-size:25px}.place-card h3{font-size:11px}.score{font-size:19px}.place-meta{font-size:8px}.place-card .text-button{font-size:9px}.place-card .card-actions{gap:6px}.modal-dialog{margin:0;position:absolute;bottom:0;width:100%;max-width:none}.modal-content{border-radius:23px 23px 0 0;max-height:85vh;overflow-y:auto}.modal-body{padding:21px}.favorite-grid{grid-template-columns:1fr;gap:15px}.favorite-card .place-art{height:120px}.review-grid{gap:18px}.page-heading>.segmented{margin:0}.segmented button{padding:5px 12px;font-size:10px}.weekly-panel .stat-card strong{font-size:22px}.weekly-panel .section-heading{align-items:start}.weekly-panel #week-label{font-size:9px}.detail-metrics{gap:15px;font-size:10px;flex-wrap:wrap}.detail-metrics strong{margin-left:4px}.place-detail h1{font-size:23px}.admin-grid{grid-template-columns:1fr 1fr}#toast{bottom:85px}.settings-panel{padding:22px}}
.demo-banner{margin:0 0 24px;padding:10px 16px;border-radius:12px;background:#f0f3e7;color:#748366;font-size:12px;line-height:1.8}.demo-banner span{font-weight:700;margin-right:10px}
@media(max-width:1100px){.garden-note{display:none}}