.map-host{position:relative;width:100%;height:100%;background:var(--steel-900);overflow:hidden}.map-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.map-canvas .amap-logo,.map-canvas .amap-copyright{opacity:.42}.map-canvas .amap-scalecontrol{background:#0b0f12d1!important;border:var(--seam)!important;border-radius:var(--radius);padding:2px 6px!important;font-family:var(--face-num)!important;font-size:11px!important;color:var(--ink-200)!important}.mark{cursor:pointer;line-height:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));transition:transform var(--dur) var(--ease-out);transform-origin:bottom center}.mark:hover{transform:scale(1.14)}.mark:focus-visible{outline:2px solid var(--iala-yellow);outline-offset:3px;border-radius:2px}.mark--lit{filter:drop-shadow(0 3px 8px rgba(0,0,0,.7))}.mark--flash{filter:drop-shadow(0 0 7px var(--tape-lit)) drop-shadow(0 3px 8px rgba(0,0,0,.7))}.map-boot,.map-picking{position:absolute;left:var(--s-4);top:var(--s-4);padding:var(--s-2) var(--s-3);background:#0b0f12e0;border:var(--seam);border-radius:var(--radius);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.map-picking{border-color:var(--iala-yellow)}.map-picking .stencil{color:var(--iala-yellow)}.map-layer-toggle{position:absolute;right:var(--s-4);top:var(--s-4);display:flex;border:var(--seam-strong);border-radius:var(--radius);overflow:hidden;background:#0b0f12e0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.seg{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink-300);font-family:var(--face-stencil);font-size:var(--t-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:7px 12px;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.seg+.seg{border-left:var(--seam)}.seg:hover{color:var(--ink-100);background:#ffffff0d}.seg--on{color:var(--iala-black);background:var(--iala-yellow)}.seg--on:hover{color:var(--iala-black);background:#ffc63f}.map-host--error{display:grid;place-items:center}.map-fault{max-width:42ch;text-align:center;padding:var(--s-6);border:var(--seam-strong);border-radius:var(--radius);background:var(--steel-800)}.map-fault .stencil{color:var(--iala-red-ink);margin:0 0 var(--s-3)}.map-fault__msg{color:var(--ink-200);font-size:var(--t-sm);margin:0 0 var(--s-5);line-height:1.6}.auth{display:grid;grid-template-columns:1fr min(440px,92vw);height:100%;background:var(--steel-900)}.auth__chart{position:relative;background:radial-gradient(circle at 30% 40%,rgba(255,184,28,.04),transparent 60%),linear-gradient(180deg,#0b0f12,#050709);display:flex;align-items:flex-end;padding:var(--s-10) var(--s-10);overflow:hidden}.auth__chart:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(70,85,94,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(70,85,94,.18) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%);mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%)}.auth__hero{position:relative;z-index:1;max-width:480px}.auth__kicker{display:block;margin-bottom:var(--s-3)}.auth__name{margin:0 0 var(--s-3);font-family:var(--face-stencil);font-size:56px;font-weight:700;letter-spacing:.02em;line-height:1.05;color:var(--ink-100);text-transform:uppercase}.auth__tag{margin:0 0 var(--s-5);font-size:var(--t-md);line-height:1.6;color:var(--ink-300);max-width:36ch;text-wrap:balance}.auth__rules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}.auth__rules li{display:flex;align-items:baseline;gap:var(--s-3);font-size:var(--t-sm);color:var(--ink-300)}.auth__rules .num{color:var(--iala-yellow);font-weight:600}.auth__form{display:flex;flex-direction:column;padding:var(--s-8) var(--s-8);background:var(--steel-800);border-left:var(--seam-strong);overflow-y:auto}.auth__brand{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-8)}.auth__brand-mark{font-family:var(--face-stencil);font-weight:700;font-size:22px;letter-spacing:.06em;color:var(--iala-yellow)}.auth__brand-sub{font-family:var(--face-stencil);font-size:10px;letter-spacing:.2em;color:var(--ink-400)}.auth__title{margin:0 0 var(--s-2);font-size:var(--t-xl);font-weight:700;letter-spacing:-.01em}.auth__sub{margin:0 0 var(--s-6);font-size:var(--t-sm);color:var(--ink-300)}.auth__err{margin:0 0 var(--s-4);padding:var(--s-3);font-size:var(--t-sm);background:#d8556b1f;border-left:1px solid var(--iala-red-ink);color:var(--iala-red-ink);border-radius:var(--radius)}.auth__inviter{display:flex;align-items:center;gap:var(--s-2);margin:0 0 var(--s-4);padding:var(--s-2) var(--s-3);font-size:var(--t-sm);color:var(--ink-200);background:var(--steel-700);border:var(--seam);border-radius:var(--radius)}.auth__inviter strong{color:var(--iala-yellow);font-weight:600}.auth__foot{margin-top:var(--s-6);font-size:var(--t-sm);color:var(--ink-300)}.auth__foot a{color:var(--iala-yellow)}@media (max-width: 860px){.auth{grid-template-columns:1fr}.auth__chart{display:none}.auth__form{padding:var(--s-5);border-left:0}}.admin{display:flex;flex-direction:column;height:100%;background:var(--steel-900);overflow:hidden}.admin__scroll{flex:1;overflow-y:auto}.admin__head{padding:var(--s-5) var(--s-6) var(--s-3);border-bottom:var(--seam)}.admin__title{margin:0;font-size:var(--t-xl);font-weight:700;letter-spacing:-.01em;text-transform:uppercase;font-family:var(--face-stencil);color:var(--ink-100)}.admin__sub{margin:var(--s-1) 0 0;font-size:var(--t-sm);color:var(--ink-300)}.admin__stats{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-bottom:var(--seam)}.admin__stat{display:flex;flex-direction:column;gap:2px;padding:var(--s-4) var(--s-5);border-right:1px solid var(--steel-500);background:var(--steel-800)}.admin__stat:last-child{border-right:0}.admin__stat-n{font-size:var(--t-xl);font-weight:700;line-height:1.1;color:var(--ink-100)}.admin__stat-l{font-size:var(--t-xs);color:var(--ink-400)}.admin__tabs{display:flex;border-bottom:var(--seam);background:var(--steel-800);position:sticky;top:0;z-index:2}.admin__tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-right:var(--seam);color:var(--ink-300);font-family:var(--face-stencil);font-size:var(--t-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:12px 18px;cursor:pointer;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.admin__tab:hover{color:var(--ink-100)}.admin__tab--on{color:var(--iala-yellow);background:var(--steel-700);border-bottom:1px solid var(--iala-yellow);margin-bottom:-1px}.admin__panel{padding:var(--s-5) var(--s-6)}.admin-table{width:100%;border-collapse:collapse;font-size:var(--t-sm)}.admin-table th,.admin-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--steel-500);vertical-align:middle}.admin-table th{font-family:var(--face-stencil);font-size:var(--t-xs);letter-spacing:.1em;color:var(--ink-300);text-transform:uppercase;background:var(--steel-800);position:sticky;top:0}.admin-table td.num,.admin-table .num{font-family:var(--face-num)}.admin-table .role-pill{display:inline-block;font-size:10px;padding:2px 6px;border-radius:2px;letter-spacing:.06em;font-family:var(--face-stencil);text-transform:uppercase}.role-pill--admin{color:var(--iala-black);background:var(--iala-yellow)}.role-pill--moderator{color:var(--iala-black);background:var(--iala-green-ink)}.role-pill--user{color:var(--ink-200);background:var(--steel-600)}.admin__invite-row code{font-family:var(--face-num);color:var(--iala-yellow);font-size:var(--t-md);letter-spacing:.06em}.tree{list-style:none;margin:0;padding:0;font-size:var(--t-sm)}.tree ul{list-style:none;padding-left:var(--s-5);border-left:1px dashed var(--steel-500);margin:0}.tree li{padding:4px 0}.tree__who{display:flex;align-items:baseline;gap:var(--s-2)}.tree__cnt{font-size:var(--t-xs);color:var(--ink-400)}.tree__role{font-size:10px;color:var(--ink-300)}.admin__create{display:flex;gap:var(--s-2);align-items:end;padding:var(--s-4);background:var(--steel-800);border:var(--seam);border-radius:var(--radius);margin-bottom:var(--s-4)}.admin__create label{display:flex;flex-direction:column;gap:4px;font-size:var(--t-xs);color:var(--ink-300)}.admin__create input{background:var(--steel-900);border:var(--seam);border-radius:var(--radius);color:var(--ink-100);font-size:var(--t-sm);padding:6px 10px;width:80px;font-family:var(--face-num)}@media (max-width: 860px){.admin__stats{grid-template-columns:repeat(2,1fr)}.admin__stat{border-right:0;border-bottom:1px solid var(--steel-500)}}.pager{display:flex;align-items:center;justify-content:center;gap:var(--s-4);padding:var(--s-4) 0}.pager .num{font-variant-numeric:tabular-nums;color:var(--ink-300)}.lib{display:flex;flex-direction:column;height:100%;background:var(--steel-900);overflow:hidden}.lib__scroll{flex:1;overflow-y:auto}.lib__head{padding:var(--s-5) var(--s-6) var(--s-3);border-bottom:var(--seam)}.lib__title{margin:0;font-size:var(--t-xl);font-weight:700;text-transform:uppercase;font-family:var(--face-stencil);letter-spacing:.02em;color:var(--ink-100)}.lib__sub{margin:var(--s-1) 0 0;font-size:var(--t-sm);color:var(--ink-300)}.lib__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--s-3);padding:var(--s-5) var(--s-6)}.lib__card{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3);background:var(--steel-800);border:var(--seam);border-radius:var(--radius);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out);text-align:left;color:inherit;font:inherit}.lib__card:hover{border-color:var(--iala-yellow);background:var(--steel-700)}.lib__card:focus-visible{outline:2px solid var(--iala-yellow);outline-offset:2px}.lib__card svg{background:var(--steel-900);border-radius:2px}.lib__card-meta{display:flex;align-items:center;gap:var(--s-2)}.lib__card-name{font-size:var(--t-md);font-weight:600;color:var(--ink-100)}.lib__card-sci{font-size:var(--t-xs);color:var(--ink-300);font-style:italic;margin-left:auto;font-family:var(--face-num)}.lib__habitat{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;font-size:10px;font-family:var(--face-stencil);letter-spacing:.08em;text-transform:uppercase;border-radius:2px}.lib__habitat--海水{color:#87ceeb;background:#87ceeb1a}.lib__habitat--淡水{color:#6bab7e;background:#6bab7e1a}.lib__habitat--咸淡水{color:#c4b36a;background:#c4b36a1a}.lib__habitat--洄游{color:#d88a6b;background:#d88a6b1a}.lib__card-season{display:flex;gap:2px}.lib__card-season .sc{flex:1;height:4px;background:var(--steel-600);border-radius:1px}.lib__card-season .sc.on{background:var(--iala-green)}.lib__card-season .sc.now{background:var(--iala-yellow);box-shadow:0 0 4px var(--iala-yellow)}.lib__back{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--ink-300);font-family:var(--face-stencil);font-size:var(--t-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:0;cursor:pointer;margin-bottom:var(--s-3)}.lib__back:hover{color:var(--iala-yellow)}.lib__detail-hero{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:var(--s-5);padding:0 0 var(--s-5);border-bottom:var(--seam)}.lib__detail-hero svg{background:var(--steel-800);border-radius:2px}.lib__detail-info{display:flex;flex-direction:column;gap:var(--s-2)}.lib__detail-name{margin:0;font-size:32px;font-weight:700;letter-spacing:-.01em;color:var(--ink-100)}.lib__detail-sci{margin:0;font-size:var(--t-sm);font-style:italic;color:var(--ink-300);font-family:var(--face-num)}.lib__detail-meta{display:flex;gap:var(--s-2);flex-wrap:wrap;margin-top:var(--s-2)}.lib__detail-section{padding:var(--s-5) 0;border-bottom:var(--seam)}.lib__detail-section:last-child{border-bottom:0}.lib__detail-h{margin:0 0 var(--s-3);font-family:var(--face-stencil);font-size:var(--t-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-300)}.lib__detail-p{margin:0 0 var(--s-2);font-size:var(--t-base);line-height:1.7;color:var(--ink-100);max-width:70ch}.lib__baits{display:flex;gap:var(--s-2);flex-wrap:wrap}.lib__bait{padding:3px 10px;font-size:var(--t-sm);background:var(--steel-700);border:var(--seam);border-radius:2px}.lib__tips{display:flex;flex-direction:column;gap:var(--s-2)}.lib__tip{display:flex;gap:var(--s-3);padding:var(--s-3);background:var(--steel-800);border:var(--seam);border-radius:2px}.lib__tip-num{color:var(--iala-yellow);font-weight:600;flex-shrink:0}.lib__tip-text{margin:0;font-size:var(--t-sm);line-height:1.6;color:var(--ink-100)}.season-bar{display:flex;gap:3px;max-width:360px}.season-cell{flex:1;height:18px;background:var(--steel-700);border-radius:2px;position:relative;display:flex;align-items:center;justify-content:center}.season-cell--on{background:var(--steel-500)}.season-cell--now{outline:1px solid var(--iala-yellow);outline-offset:1px}.season-dot{width:6px;height:6px;border-radius:50%;background:var(--iala-green);box-shadow:0 0 4px var(--iala-green)}.season-cell--now .season-dot{background:var(--iala-yellow);box-shadow:0 0 4px var(--iala-yellow)}.growth{display:flex;flex-direction:column;gap:var(--s-2)}.growth__scale{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--t-xs);color:var(--ink-300)}.growth__row{display:flex;gap:var(--s-2);align-items:flex-end}.growth__stage{display:flex;flex-direction:column;gap:2px;align-items:center;min-width:60px;padding:var(--s-2) 4px;background:var(--steel-800);border:var(--seam);border-radius:2px}.growth__bar{width:100%;height:4px;border-radius:1px;margin-bottom:var(--s-1)}.growth__label{font-size:var(--t-xs);color:var(--ink-100);font-weight:600}.growth__len{font-size:var(--t-xs);color:var(--ink-200)}.growth__age{font-size:10px;color:var(--ink-400)}.lib__updated{font-size:var(--t-xs);color:var(--ink-400);font-style:italic}.contrib-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-3)}.contrib{display:flex;gap:var(--s-3);padding:var(--s-3);background:var(--steel-800);border:var(--seam);border-left:2px solid var(--iala-green-ink);border-radius:var(--radius)}.contrib__img{flex:0 0 100px;width:100px;height:100px;object-fit:cover;border-radius:2px}.contrib__body{flex:1;display:flex;flex-direction:column;gap:var(--s-2)}.contrib__text{margin:0;font-size:var(--t-sm);line-height:1.6;color:var(--ink-100)}.contrib__meta{display:flex;align-items:baseline;gap:var(--s-2);font-size:var(--t-xs);color:var(--ink-300)}.contrib__author{color:var(--ink-100);font-weight:600}.contrib__date{color:var(--ink-400)}.contrib__source{color:var(--ink-400);font-style:italic;margin-left:auto}.lib__detail-photo{position:relative;width:280px;display:flex;flex-direction:column;align-items:center;gap:var(--s-2)}.lib__detail-img{width:280px;height:140px;object-fit:cover;background:var(--steel-900);border:var(--seam);border-radius:2px}.lib__detail-photo-src{font-size:10px;color:var(--ink-400);text-align:center}.lib__detail-photo-src a{color:var(--ink-300);text-decoration:underline}.lib__detail-photo-src a:hover{color:var(--iala-yellow)}.lib__card-photo{position:relative;display:block;width:100%}.lib__card-img{width:100%;height:100px;object-fit:cover;background:var(--steel-900);display:block}.lib__card-photo-src{position:absolute;bottom:2px;right:4px;font-size:9px;color:#ffffff8c;font-family:var(--face-stencil);letter-spacing:.05em;background:#0006;padding:1px 4px;border-radius:1px}.m{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;overflow:hidden;background:var(--steel-900);height:100%;height:100vh;height:100dvh}.m-head{position:relative;z-index:30;flex:0 0 auto;display:flex;align-items:center;gap:var(--s-2);padding:calc(env(safe-area-inset-top,0px) + 6px) var(--s-3) 6px;background:var(--steel-800);border-bottom:var(--seam-strong)}.m-head__brand{display:flex;flex-direction:column;line-height:1.1;flex:0 0 auto}.m-head__name{font-size:var(--t-base);font-weight:700;letter-spacing:-.01em}.m-head__sub{font-size:8px;letter-spacing:.16em;color:var(--ink-400)}.m-head__spacer{flex:1}.m-icon{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;background:transparent;border:var(--seam);border-radius:var(--radius);color:var(--ink-200);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.m-icon:active,.m-icon--on{border-color:var(--iala-yellow);color:var(--iala-yellow)}.m-icon svg{display:block}.m-search{position:absolute;inset:calc(env(safe-area-inset-top,0px) + 6px) var(--s-3) 6px;display:flex;align-items:center;gap:var(--s-2);background:var(--steel-800);z-index:2}.m-search__input{flex:1;min-width:0;height:40px;background:var(--steel-900);border:var(--seam);border-radius:var(--radius);color:var(--ink-100);font-size:16px;padding:0 var(--s-3)}.m-search__input:focus{outline:none;border-color:var(--iala-yellow)}.m-wx{flex:0 0 auto;display:flex;align-items:center;gap:var(--s-2);padding:5px var(--s-3);background:var(--steel-700);border-bottom:var(--seam);font-size:var(--t-xs);color:var(--ink-300);z-index:20}.m-wx__sky{color:var(--ink-100)}.m-wx__temp{color:var(--ink-100);font-weight:600}.m-wx__wind{font-weight:600;color:var(--ink-200)}.m-wx__wind--warn{color:var(--iala-yellow)}.m-wx__wind--danger{color:var(--iala-red-ink)}.m-wx__sep{width:1px;height:10px;background:var(--steel-500);flex:0 0 auto}.m-wx__note{margin-left:auto;color:var(--ink-400)}.m-chart{position:relative;flex:1;min-height:0}.m-chart .map-layer-toggle{top:var(--s-2);left:var(--s-2);right:auto}.m-chart .seg{padding:9px 12px}.m-chart .map-boot,.m-chart .map-picking{top:auto;bottom:var(--s-3);left:var(--s-3);right:var(--s-3);text-align:center}.m-chart .mark:active{transform:scale(1.2)}.m-fabs{position:absolute;right:var(--s-3);display:flex;flex-direction:column;gap:var(--s-2);z-index:15;bottom:calc(var(--sheet-visible, 30vh) + var(--s-3));transition:bottom var(--dur-slow) var(--ease-out)}.m-fab{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:44px;display:grid;place-items:center;background:#0b0f12e6;border:var(--seam-strong);border-radius:var(--radius);color:var(--ink-100);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:var(--lift-sm)}.m-fab:active{border-color:var(--iala-yellow);color:var(--iala-yellow)}.m-fab--primary{background:var(--iala-yellow);border-color:var(--iala-yellow);color:var(--iala-black)}.m-fab--armed{animation:armed 1.1s var(--ease-out) infinite}.m-fab svg{display:block}.m-fab:disabled{opacity:.5}.m-sheet{position:absolute;left:0;right:0;bottom:0;z-index:25;display:flex;flex-direction:column;height:var(--sheet-h, 88vh);background:var(--steel-800);border-top:var(--seam-strong);border-radius:10px 10px 0 0;box-shadow:0 -2px 12px #00000080;transform:translateY(var(--sheet-y, 60%));touch-action:none}.m-sheet--anim{transition:transform var(--dur-slow) var(--ease-out)}.m-sheet__grab{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px var(--s-3) 7px;cursor:grab;-webkit-tap-highlight-color:transparent;background:transparent;border:0;width:100%}.m-sheet__bar{width:38px;height:4px;border-radius:2px;background:var(--steel-400)}.m-sheet__hint{font-family:var(--face-stencil);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-400)}.m-sheet__scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--s-6))}.m-sheet--peek .m-sheet__scroll{overflow:hidden}.m-sheet .filters{padding:var(--s-2) var(--s-3);gap:5px}.m-sheet .chip{padding:8px 11px}.m-sheet .row{padding:var(--s-3);gap:var(--s-3);min-height:60px}.m-sheet .row:active{background:var(--steel-700)}.m-sheet .row__title{font-size:var(--t-base);white-space:normal}.m-sheet .detail__nav,.m-sheet .detail__head,.m-sheet .stats,.m-sheet .danger,.m-sheet .species,.m-sheet .specs,.m-sheet .prose,.m-sheet .byline,.m-sheet .verdict,.m-sheet .sec,.m-sheet .cmt,.m-sheet .composer,.m-sheet .empty,.m-sheet .form__pad,.m-sheet .gallery{padding-left:var(--s-3);padding-right:var(--s-3)}.m-sheet .detail__name{font-size:var(--t-lg)}.m-sheet .spec{grid-template-columns:4.75rem 1fr;gap:var(--s-2)}.m-sheet .stats{grid-template-columns:repeat(3,1fr) auto;gap:var(--s-2)}.m-sheet .stat__n{font-size:var(--t-md)}.m-sheet .input,.m-sheet .composer__input{font-size:16px;padding:11px var(--s-3)}.m-sheet .btn{padding:11px 15px}.m-sheet .act{padding:7px 11px}.m-sheet .fav{padding:var(--s-2)}.m-sheet .range{height:32px}.m-sheet .field-row{grid-template-columns:1fr}.m-sheet .gallery{grid-template-columns:repeat(2,1fr)}.m-safety{padding:var(--s-3);margin:0 var(--s-3) var(--s-4);background:#c8102e14;border-left:1px solid var(--iala-red);border-radius:var(--radius)}.m-safety p{margin:0;font-size:var(--t-xs);line-height:1.55;color:var(--ink-300)}.m-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0000008c;border:0;padding:0;animation:m-fade var(--dur) var(--ease-out)}@keyframes m-fade{0%{opacity:0}to{opacity:1}}.m-menu{position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--steel-800);border-top:var(--seam-strong);border-radius:10px 10px 0 0;padding:var(--s-4) var(--s-3) calc(env(safe-area-inset-bottom,0px) + var(--s-4));display:flex;flex-direction:column;gap:var(--s-3);animation:m-rise var(--dur-slow) var(--ease-out)}@keyframes m-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}.m-menu__head{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:var(--s-3);border-bottom:1px dashed var(--steel-500)}.m-menu__code{color:var(--iala-yellow);font-size:var(--t-lg);letter-spacing:.08em}.m-menu__meta{margin:0;font-size:var(--t-sm);color:var(--ink-300)}.m-menu__meta strong{color:var(--ink-100)}.m-menu__acts{display:flex;flex-direction:column;gap:var(--s-2)}.m-menu__acts .btn,.m-menu__acts a.btn{width:100%;text-align:center;padding:13px;text-decoration:none}.m-locate-note{position:absolute;left:var(--s-3);right:var(--s-3);bottom:calc(var(--sheet-visible, 30vh) + var(--s-3));z-index:14;padding:var(--s-2) var(--s-3);background:#0b0f12e6;border:var(--seam);border-left:1px solid var(--iala-yellow);border-radius:var(--radius);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-size:var(--t-xs);color:var(--ink-200);line-height:1.5}.m-me-dot{width:14px;height:14px;border-radius:50%;background:#4ba3ff;border:2px solid #fff;box-shadow:0 0 #4ba3ff99;animation:m-ping 2s var(--ease-out) infinite}@keyframes m-ping{0%{box-shadow:0 0 #4ba3ff8c}70%{box-shadow:0 0 0 14px #4ba3ff00}to{box-shadow:0 0 #4ba3ff00}}@media (min-width: 900px){.m{max-width:480px;margin:0 auto;border-left:var(--seam);border-right:var(--seam)}}@keyframes m-spin{to{transform:rotate(360deg)}}.m .navsheet{left:0;right:0;top:auto;bottom:0;width:auto;transform:none;border-radius:10px 10px 0 0;border-left:0;border-right:0;border-bottom:0;padding:var(--s-4) var(--s-3) calc(env(safe-area-inset-bottom,0px) + var(--s-4));animation:m-rise var(--dur-slow) var(--ease-out)}.m .navsheet__item{min-height:52px}.m .navsheet__cancel{padding:13px}.m-sheet .detail__nav-act{flex-wrap:wrap}.m-sheet .btn--nav{flex:1 1 100%;text-align:center;padding:13px}.panel{display:flex;flex-direction:column;height:100%;background:var(--steel-800);border-left:var(--seam-strong);overflow:hidden}.panel__scroll{flex:1;overflow-y:auto;overscroll-behavior:contain}.filters{display:flex;flex-wrap:wrap;gap:var(--s-1);padding:var(--s-3) var(--s-5);border-bottom:var(--seam);position:sticky;top:0;background:var(--steel-800);z-index:2}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:var(--seam);border-radius:var(--radius);color:var(--ink-300);font-family:var(--face-stencil);font-size:var(--t-xs);font-weight:600;letter-spacing:.1em;padding:5px 9px;cursor:pointer;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.chip:hover{color:var(--ink-100);border-color:var(--steel-400)}.chip--on{color:var(--iala-black);background:var(--iala-yellow);border-color:var(--iala-yellow)}.list{list-style:none;margin:0;padding:0}.row{display:flex;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-3) var(--s-5);background:transparent;border:0;border-bottom:var(--seam);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.row:hover{background:var(--steel-700)}.row:focus-visible{outline:2px solid var(--iala-yellow);outline-offset:-2px}.row__mark{line-height:0;flex:0 0 auto}.row__body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.row__title{font-size:var(--t-md);font-weight:600;color:var(--ink-100);letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row__meta{display:flex;align-items:center;gap:var(--s-2)}.row__dot{width:3px;height:3px;border-radius:50%;background:var(--steel-400);flex:0 0 auto}.row__views{font-size:var(--t-xs);color:var(--ink-400)}.row__warn{flex:0 0 auto;color:var(--iala-white);background:var(--iala-red);padding:2px 5px;border-radius:var(--radius);letter-spacing:.05em}.detail__nav{padding:var(--s-3) var(--s-5);border-bottom:var(--seam)}.back{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--ink-300);font-family:var(--face-stencil);font-size:var(--t-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;padding:4px 0;transition:color var(--dur-fast) var(--ease-out)}.back:hover{color:var(--iala-yellow)}.detail__head{padding:var(--s-5) var(--s-5) var(--s-4);border-bottom:var(--seam)}.detail__name{margin:0 0 var(--s-2);font-size:var(--t-xl);font-weight:700;line-height:1.2;letter-spacing:-.015em;text-wrap:balance}.detail__loc{display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-4)}.plate{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3);background:var(--steel-700);border:var(--seam);border-radius:var(--radius)}.plate__mark{line-height:0;flex:0 0 auto}.plate__text{display:flex;flex-direction:column;gap:2px}.plate__label{color:var(--ink-200)}.plate__meaning{font-size:var(--t-sm);color:var(--ink-300)}.stats{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:var(--s-3);align-items:end;padding:var(--s-4) var(--s-5);border-bottom:var(--seam)}.stat{display:flex;flex-direction:column;gap:1px}.stat__n{font-size:var(--t-lg);font-weight:600;color:var(--ink-100);line-height:1.1}.fav{display:flex;flex-direction:column;align-items:center;gap:1px;background:transparent;border:var(--seam);border-radius:var(--radius);color:var(--ink-200);padding:var(--s-2) var(--s-3);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.fav:hover:not(:disabled){border-color:var(--iala-yellow);color:var(--iala-yellow)}.fav--on{border-color:var(--iala-yellow);color:var(--iala-yellow)}.fav:disabled{opacity:.55;cursor:default}.danger{padding:var(--s-4) var(--s-5);border-bottom:var(--seam)}.danger__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-2)}.danger__word{font-size:var(--t-sm);font-weight:600}.danger__scale{display:flex;align-items:center;gap:3px}.danger__seg{flex:1;height:5px;border-radius:1px;background:var(--steel-600)}.danger__num{margin-left:var(--s-2);font-size:var(--t-xs);color:var(--ink-400)}.species{display:flex;flex-wrap:wrap;gap:var(--s-1);padding:var(--s-4) var(--s-5);border-bottom:var(--seam)}.fish{font-size:var(--t-sm);color:var(--ink-200);background:var(--steel-700);border:var(--seam);border-radius:var(--radius);padding:3px 8px}.specs{margin:0;padding:var(--s-4) var(--s-5);border-bottom:var(--seam)}.spec{display:grid;grid-template-columns:5.5rem 1fr;gap:var(--s-3);padding:var(--s-2) 0}.spec+.spec{border-top:1px dashed var(--steel-600)}.spec dt{padding-top:2px}.spec dd{margin:0;font-size:var(--t-sm);color:var(--ink-100);line-height:1.55}.spec--unknown{color:var(--ink-400);font-style:italic}.prose{padding:var(--s-4) var(--s-5);border-bottom:var(--seam);max-width:68ch}.prose p{margin:0 0 var(--s-3);font-size:var(--t-base);line-height:1.65;color:var(--ink-100)}.prose p:last-child{margin-bottom:0}.byline{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-4) var(--s-5)}.byline strong{font-size:var(--t-sm);color:var(--ink-100);font-weight:600}.byline__date{font-size:var(--t-xs);color:var(--ink-400);margin-left:auto}.cmts{padding:0 0 var(--s-8)}.sec{display:flex;align-items:center;gap:var(--s-2);margin:0;padding:var(--s-5) var(--s-5) var(--s-3);color:var(--ink-200)}.sec__count{color:var(--ink-400);font-size:var(--t-xs)}.sec--notice{color:var(--iala-yellow)}.cmt{padding:var(--s-4) var(--s-5);border-bottom:var(--seam)}.cmt--notice{background:linear-gradient(180deg,#ffb81c12,#ffb81c05);border-left:1px solid var(--iala-yellow)}.notice__head{display:flex;align-items:baseline;gap:var(--s-2);margin-bottom:var(--s-2)}.notice__kind{color:var(--iala-yellow)}.notice__by{font-size:var(--t-xs);color:var(--ink-300)}.notice__by strong{color:var(--ink-200)}.cmt__top{display:flex;align-items:baseline;gap:var(--s-2);margin-bottom:var(--s-2)}.cmt__who{font-size:var(--t-sm);font-weight:600;color:var(--ink-100)}.cmt__when{font-size:var(--t-xs);color:var(--ink-400);margin-left:auto}.tag{padding:1px 5px;border-radius:var(--radius);letter-spacing:.06em}.tag--mod{color:var(--iala-black);background:var(--green-badge)}.cmt__body p{margin:0 0 var(--s-2);font-size:var(--t-sm);line-height:1.62;color:var(--ink-100)}.cmt__body p:last-child{margin-bottom:0}.cmt__foot{display:flex;gap:var(--s-2);margin-top:var(--s-3)}.act{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:var(--seam);border-radius:var(--radius);color:var(--ink-300);font-size:var(--t-xs);padding:3px 8px;cursor:pointer;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.act:hover:not(:disabled){color:var(--ink-100);border-color:var(--steel-400)}.act--on{color:var(--iala-yellow);border-color:var(--iala-yellow)}.act:disabled{opacity:.5;cursor:default}.replies{list-style:none;margin:var(--s-3) 0 0;padding:0 0 0 var(--s-3);border-left:1px solid var(--steel-600)}.reply{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-2);padding:var(--s-2) 0}.reply__who{font-size:var(--t-xs);font-weight:600;color:var(--ink-200)}.reply__to{font-size:var(--t-xs);color:var(--ink-400)}.reply__text{font-size:var(--t-sm);color:var(--ink-200);flex:1 1 100%;line-height:1.55}.reply__when{font-size:var(--t-xs);color:var(--ink-400)}.composer{padding:0 var(--s-5) var(--s-4)}.composer__input{width:100%;background:var(--steel-900);border:var(--seam);border-radius:var(--radius);color:var(--ink-100);font-size:var(--t-sm);line-height:1.55;padding:var(--s-3);resize:vertical;transition:border-color var(--dur-fast) var(--ease-out)}.composer__input:focus{outline:none;border-color:var(--iala-yellow)}.composer__foot{display:flex;align-items:center;justify-content:space-between;margin-top:var(--s-2)}.composer__count{font-size:var(--t-xs);color:var(--ink-400)}.composer__error{margin:var(--s-2) 0 0;font-size:var(--t-xs);color:var(--iala-red-ink)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--steel-600);border:var(--seam-strong);border-radius:var(--radius);color:var(--ink-100);font-family:var(--face-stencil);font-size:var(--t-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.btn:hover:not(:disabled){background:var(--steel-500)}.btn--primary{background:var(--iala-yellow);border-color:var(--iala-yellow);color:var(--iala-black)}.btn--primary:hover:not(:disabled){background:#ffc63f}.btn:disabled{opacity:.45;cursor:default}.empty{padding:var(--s-8) var(--s-5);text-align:center}.empty--inline{padding:var(--s-6) var(--s-5)}.empty .stencil{color:var(--ink-300);display:block;margin-bottom:var(--s-2)}.empty__msg{margin:0;font-size:var(--t-sm);color:var(--ink-300);line-height:1.6}.empty__msg strong{color:var(--iala-yellow)}.row--skeleton,.cmt--skeleton{pointer-events:none}.sk{display:block;background:var(--steel-700);border-radius:2px;overflow:hidden;position:relative}.sk:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.055),transparent);animation:sweep 1.3s var(--ease-out) infinite}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.sk--mark{width:22px;height:30px}.sk-col{display:flex;flex-direction:column;gap:6px;flex:1}.sk--title{width:58%;height:15px}.sk--meta{width:38%;height:10px}.sk--line{width:100%;height:11px;margin-top:6px}.sk--short{width:62%}.verdict{padding:var(--s-3) var(--s-5);border-bottom:var(--seam);border-left:1px solid var(--steel-500)}.verdict--safe{border-left-color:var(--iala-green)}.verdict--caution{border-left-color:var(--iala-yellow)}.verdict--danger{border-left-color:var(--iala-red);background:#c8102e1a}.verdict__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-2)}.verdict__wx{font-size:var(--t-xs);color:var(--ink-300)}.verdict__text{margin:0;font-size:var(--t-sm);font-weight:600;line-height:1.5}.verdict--safe .verdict__text{color:var(--iala-green-ink)}.verdict--caution .verdict__text{color:var(--iala-yellow)}.verdict--danger .verdict__text{color:var(--iala-red-ink)}.verdict__warn{margin:var(--s-2) 0 0;font-size:var(--t-xs);line-height:1.5;color:var(--ink-100)}.fish{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-sm);color:var(--ink-200);background:var(--steel-700);border:var(--seam);border-radius:var(--radius);padding:3px 8px}.fish__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.fish--in-season{color:var(--ink-100);border-color:var(--iala-green);background:#2194561f}.fish__now{font-size:10px;font-family:var(--face-stencil);letter-spacing:.08em;color:var(--iala-green-ink);padding-left:4px;border-left:1px solid var(--steel-500);margin-left:2px}.detail__nav{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.detail__del{padding:4px 10px;font-size:var(--t-xs)}.btn--danger{background:transparent;border-color:var(--iala-red);color:var(--iala-red-ink)}.btn--danger:hover:not(:disabled){background:var(--iala-red);color:#fff}.gallery{padding:0 var(--s-5) var(--s-4);display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--s-2)}.gallery a{display:block;border:var(--seam);border-radius:var(--radius);overflow:hidden;aspect-ratio:4 / 3;background:var(--steel-700)}.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--dur) var(--ease-out)}.gallery a:hover img{transform:scale(1.04)}.detail__nav-act{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:var(--seam)}.btn--nav{flex:0 0 auto}.detail__coord{font-size:var(--t-xs);color:var(--ink-400)}.navsheet__scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0000008c;border:0;padding:0;cursor:pointer}.navsheet{position:fixed;z-index:51;left:50%;top:50%;transform:translate(-50%,-50%);width:min(380px,calc(100vw - 32px));display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-5);background:var(--steel-800);border:var(--seam-strong);border-radius:var(--radius);box-shadow:var(--lift)}.navsheet__head{display:flex;flex-direction:column;gap:3px}.navsheet__name{font-size:var(--t-md);font-weight:600;line-height:1.3}.navsheet__coord{display:flex;align-items:baseline;gap:var(--s-2);font-size:var(--t-xs);color:var(--ink-400)}.navsheet__cs{color:var(--ink-400)}.navsheet__route{padding:var(--s-3);background:var(--steel-700);border-left:1px solid var(--iala-yellow);border-radius:var(--radius)}.navsheet__route p{margin:var(--s-1) 0 0;font-size:var(--t-sm);line-height:1.6;color:var(--ink-100)}.navsheet__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}.navsheet__item{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);width:100%;min-height:44px;padding:var(--s-3);background:var(--steel-700);border:var(--seam);border-radius:var(--radius);color:var(--ink-100);font-size:var(--t-base);text-align:left;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.navsheet__item:hover,.navsheet__item:active{border-color:var(--iala-yellow);background:var(--steel-600)}.navsheet__vendor{display:flex;flex-direction:column;gap:2px}.navsheet__note{font-size:var(--t-xs);color:var(--ink-400)}.navsheet__go{color:var(--iala-yellow);font-size:var(--t-md);line-height:1}.navsheet__warn{margin:0;font-size:var(--t-xs);line-height:1.55;color:var(--ink-300)}.navsheet__cancel{width:100%;text-align:center}:root{--steel-900: #0b0f12;--steel-800: #12181c;--steel-700: #1a2227;--steel-600: #232d34;--steel-500: #2f3b43;--steel-400: #47555e;--iala-red: #c8102e;--iala-green: #00843d;--iala-yellow: #ffb81c;--iala-white: #f2f4f5;--iala-black: #08090a;--tape-lit: #ffd980;--iala-red-ink: #d8556b;--iala-green-ink: #219456;--green-badge: #2aa25e;--ink-100: #eef2f4;--ink-200: #b9c6cd;--ink-300: #8a9aa4;--ink-400: #76838b;--danger-0: #219456;--danger-1: #4e9133;--danger-2: #9a9421;--danger-3: #ffb81c;--danger-4: #e2621b;--danger-5: #d8556b;--face-stencil: "Barlow Condensed", "Oswald", "PingFang SC", "Microsoft YaHei", sans-serif;--face-ui: "Barlow", "Inter", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--face-num: "Roboto Mono", "SFMono-Regular", ui-monospace, monospace;--t-xs: .6875rem;--t-sm: .8125rem;--t-base: .9375rem;--t-md: 1.125rem;--t-lg: 1.375rem;--t-xl: 1.75rem;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--seam: 1px solid var(--steel-500);--seam-strong: 1px solid #3d4a53;--radius: 2px;--rail-h: 44px;--legend-h: 38px;--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .12s;--dur: .18s;--dur-slow: .24s;--lift: 0 2px 8px rgba(0, 0, 0, .45), 0 8px 24px rgba(0, 0, 0, .3);--lift-sm: 0 1px 3px rgba(0, 0, 0, .4)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--steel-900);color:var(--ink-100);font-family:var(--face-ui);font-size:var(--t-base);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.num,input[type=number]{font-family:var(--face-num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.01em}.stencil{font-family:var(--face-stencil);font-size:var(--t-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-300)}::selection{background:var(--iala-yellow);color:var(--iala-black)}::placeholder{color:var(--ink-400);opacity:1}*{scrollbar-width:thin;scrollbar-color:var(--steel-500) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--steel-900)}::-webkit-scrollbar-thumb{background:var(--steel-500);border:2px solid var(--steel-900);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--steel-400)}:focus-visible{outline:2px solid var(--iala-yellow);outline-offset:2px}a{color:var(--iala-yellow);text-underline-offset:3px}button,input,textarea,select{font:inherit;color:inherit}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.shell{display:flex;flex-direction:column;height:100%}.head{display:flex;align-items:center;gap:var(--s-4);height:var(--rail-h);padding:0 var(--s-4);background:var(--steel-800);border-bottom:var(--seam-strong);flex:0 0 auto}.head__brand{display:flex;flex-direction:column;gap:0;line-height:1.15}.head__name{font-size:var(--t-md);font-weight:700;letter-spacing:-.01em}.head__sub{font-size:9px;letter-spacing:.18em;color:var(--ink-400)}.search{flex:1;max-width:380px;margin-left:var(--s-4)}.search__input{width:100%;background:var(--steel-900);border:var(--seam);border-radius:var(--radius);color:var(--ink-100);font-size:var(--t-sm);padding:7px var(--s-3);transition:border-color var(--dur-fast) var(--ease-out)}.search__input:focus{outline:none;border-color:var(--iala-yellow)}.search__input::-webkit-search-cancel-button{filter:invert(.7)}.btn--armed{animation:armed 1.1s var(--ease-out) infinite}@keyframes armed{0%,to{box-shadow:0 0 #ffb81c8c}60%{box-shadow:0 0 0 5px #ffb81c00}}.head__me{display:flex;flex-direction:column;align-items:flex-end;margin-left:auto;line-height:1.2}.body{flex:1;min-height:0;display:grid;grid-template-columns:1fr 5px var(--panel-w, 420px)}.chart{position:relative;min-width:0}.seam{background:var(--steel-500);cursor:col-resize;transition:background var(--dur-fast) var(--ease-out)}.seam:hover,.seam:focus-visible{background:var(--iala-yellow);outline:none}.legend{position:absolute;left:0;right:0;bottom:0;height:var(--legend-h);display:flex;align-items:center;gap:var(--s-4);padding:0 var(--s-4);background:#0b0f12e6;border-top:var(--seam);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.legend__title{flex:0 0 auto;color:var(--ink-400)}.legend__list{display:flex;gap:var(--s-4);list-style:none;margin:0;padding:0;overflow-x:auto}.legend__item{display:flex;align-items:center;gap:5px;flex:0 0 auto}.legend__mark{line-height:0}.legend__text{font-size:var(--t-xs);color:var(--ink-300);white-space:nowrap}.safety{flex:0 0 auto;padding:var(--s-3) var(--s-5);background:var(--steel-900);border-top:1px solid var(--iala-red)}.safety p{margin:0;font-size:var(--t-xs);line-height:1.55;color:var(--ink-300)}.danger-text{color:var(--iala-red-ink)}.empty__act{margin:var(--s-4) 0 0}.form__pad{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-4)}.form__coord{display:flex;align-items:baseline;gap:var(--s-2);margin:0;font-size:var(--t-sm);color:var(--ink-200)}.form__coord-note{color:var(--ink-400)}.field{display:flex;flex-direction:column;gap:var(--s-2)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}.input{width:100%;background:var(--steel-900);border:var(--seam);border-radius:var(--radius);color:var(--ink-100);font-size:var(--t-sm);padding:8px var(--s-3);transition:border-color var(--dur-fast) var(--ease-out)}.input:focus{outline:none;border-color:var(--iala-yellow)}textarea.input{resize:vertical;line-height:1.55}.range{width:100%;accent-color:var(--iala-yellow)}.field__hint{margin:0;font-size:var(--t-sm);font-weight:600}.field__warn{margin:0;padding:var(--s-2) var(--s-3);font-size:var(--t-xs);line-height:1.5;color:var(--ink-100);background:#c8102e24;border-left:1px solid var(--iala-red);border-radius:var(--radius)}.form__actions{display:flex;gap:var(--s-2);justify-content:flex-end;margin-top:var(--s-2)}@media (max-width: 860px){.body{grid-template-columns:1fr;grid-template-rows:1fr auto}.seam{display:none}.panel{border-left:0;border-top:var(--seam-strong);max-height:58vh}.search{max-width:none}.head__me{display:none}}.wx{display:flex;flex-direction:column;gap:1px;padding:4px var(--s-3);background:var(--steel-700);border:var(--seam);border-radius:var(--radius);line-height:1.2;flex:0 0 auto}.wx__label{font-size:9px;letter-spacing:.16em;color:var(--ink-400)}.wx__row{display:flex;align-items:baseline;gap:var(--s-2)}.wx__sky{font-size:var(--t-sm);color:var(--ink-100)}.wx__temp{font-size:var(--t-sm);font-weight:600;color:var(--ink-100)}.wx__wd{font-size:var(--t-xs);color:var(--ink-300)}.wx__hum{font-size:var(--t-xs);color:var(--ink-400)}.wx__sep{width:1px;height:11px;background:var(--steel-500)}.wx__wind{font-size:var(--t-sm);font-weight:600;color:var(--ink-200)}.wx__wind--warn{color:var(--iala-yellow)}.wx__wind--danger{color:var(--iala-red-ink)}.wx--err{justify-content:center}.wx__err{font-size:var(--t-xs);color:var(--ink-400)}.sk--wx{width:132px;height:26px}@media (max-width: 1100px){.wx__hum,.wx__sep:last-of-type{display:none}}@media (max-width: 860px){.wx__label{display:none}}.head__me-wrap{position:relative;margin-left:auto}.head__me{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;background:transparent;border:var(--seam);border-radius:var(--radius);padding:4px var(--s-3);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out)}.head__me:hover{border-color:var(--steel-400)}.head__me:focus-visible{outline:2px solid var(--iala-yellow);outline-offset:2px}.head__nick{font-size:var(--t-sm);font-weight:600}.head__code{font-size:10px;color:var(--iala-yellow);letter-spacing:.1em}.head__menu{position:absolute;top:calc(100% + 6px);right:0;min-width:240px;background:var(--steel-700);border:var(--seam-strong);border-radius:var(--radius);box-shadow:var(--lift);z-index:100;padding:var(--s-3);display:flex;flex-direction:column;gap:var(--s-2)}.head__menu-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 0 var(--s-2);border-bottom:1px dashed var(--steel-500)}.head__menu-head strong{color:var(--iala-yellow);font-size:var(--t-md);letter-spacing:.06em}.head__menu-meta{margin:0;font-size:var(--t-xs);color:var(--ink-300)}.head__menu-meta strong{color:var(--ink-100);font-weight:600}.head__menu-role{margin:0}.head__menu-role .tag{font-size:10px}.head__menu-logout{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:var(--seam);border-radius:var(--radius);color:var(--ink-200);font-size:var(--t-xs);font-family:var(--face-stencil);letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;cursor:pointer;margin-top:var(--s-2);transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.head__menu-logout:hover{border-color:var(--iala-red-ink);color:var(--iala-red-ink)}.upload{display:flex;flex-direction:column;gap:var(--s-2)}.upload__list{display:flex;gap:var(--s-2);list-style:none;margin:0;padding:0;flex-wrap:wrap}.upload__item{position:relative;width:72px;height:72px;border:var(--seam);border-radius:var(--radius);overflow:hidden}.upload__thumb{width:100%;height:100%;object-fit:cover;display:block}.upload__remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border:0;border-radius:50%;background:#000000a6;color:var(--ink-100);font-size:16px;line-height:1;cursor:pointer;display:grid;place-items:center}.upload__remove:hover{background:var(--iala-red-ink)}.upload__pick{display:flex;align-items:center;justify-content:space-between;padding:var(--s-2) var(--s-3);background:var(--steel-700);border:var(--seam);border-radius:var(--radius);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out)}.upload__pick:hover{border-color:var(--iala-yellow)}.upload__hint{font-size:var(--t-xs);color:var(--ink-400)}.upload__progress{font-size:var(--t-sm);color:var(--iala-yellow)}.upload__err{margin:0;font-size:var(--t-xs);color:var(--iala-red-ink)}.boot{display:grid;place-items:center;height:100%;color:var(--ink-300)}
