.harbor-preparation{display:grid;gap:7px;margin:12px 0;padding:12px;background:#edf4fb;border-left:3px solid #4977a4;font-size:12px}.harbor-preparation span{color:#557491}.harbor-commission{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#f8fbff;border:1px solid #c5d5e5;border-radius:5px;margin:0 0 16px;color:#183c65}.harbor-commission>img{width:30px;height:35px;object-fit:contain}.harbor-commission>div{flex:1;display:grid;gap:4px;font-size:13px;min-width:0}.harbor-commission span{font-size:11px;color:#52718d}.harbor-commission button{flex-shrink:0}.ad-pipe:first-child:before{content:'入水 ↓';position:absolute;z-index:2;left:4px;top:4px;font-size:10px;padding:3px;background:#173e67;color:#fff;border-radius:3px}.ad-pipe:last-child:before{content:'出水 ↓';position:absolute;z-index:2;right:4px;bottom:4px;font-size:10px;padding:3px;background:#173e67;color:#fff;border-radius:3px}@media(max-width:600px){.harbor-commission{gap:8px;padding:9px}.harbor-commission>img{width:24px;height:28px}.harbor-commission>div{font-size:12px}.harbor-commission button{font-size:11px;padding:8px}.harbor-preparation{padding:10px}}

.harbor-quick-work{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin:0 0 14px;border:1px solid #c3d4e4;background:#f8fbff;border-radius:5px}.harbor-quick-work>div{display:grid;gap:4px}.harbor-quick-work b{font-size:13px;color:#244c72}.harbor-quick-work span{font-size:11px;color:#59748f}.harbor-workshop-start h3{font-size:14px;line-height:1.6}@media(max-width:600px){.harbor-quick-work{padding:9px;gap:8px}.harbor-quick-work span{max-width:190px;line-height:1.5}.harbor-quick-work button{font-size:11px;white-space:nowrap}.quay-scene{min-height:140px}}

.life-origins{margin-bottom:15px;border:1px solid #c5d5e5;border-radius:5px;background:#f8fbff}.life-origins>summary{padding:11px 14px;color:#234c76;font-size:13px;cursor:pointer}.origin-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px}.origin-card{overflow:hidden;border:1px solid #c8d8e6;border-radius:6px;background:#fff;min-width:0}.origin-portrait{height:156px;position:relative;overflow:hidden;background:linear-gradient(#e6eff7,#fff)}.origin-portrait>img{width:100%;height:100%;object-fit:contain;object-position:center top}.origin-portrait>span{position:absolute;bottom:0;left:0;right:0;text-align:center;background:#f1f6fbe8;font-size:11px;padding:5px;color:#345a7e}.origin-offer{padding:12px}.origin-offer h3{font-size:17px;margin:0 0 8px}.origin-offer p{font-size:12px;color:#42678a;line-height:1.6;margin:0 0 6px}.origin-offer small{font-size:11px;display:block;line-height:1.7;color:#63809b;min-height:37px}.origin-offer button{margin-top:10px;width:100%}.origin-memory{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:14px;border:1px solid #c8d8e6;border-radius:5px;background:#f8fbff}.origin-memory img{width:38px;height:38px;object-fit:contain}.origin-memory span{font-size:14px;color:#214c77}.origin-memory small{display:block;font-size:11px;color:#60809e;margin-top:4px}@media(max-width:600px){.origin-options{grid-template-columns:1fr;gap:8px;padding:10px}.origin-card{display:grid;grid-template-columns:90px minmax(0,1fr)}.origin-portrait{height:150px}.origin-portrait>span{font-size:10px;padding:4px}.origin-offer{padding:10px}.origin-offer h3{font-size:16px;margin-bottom:4px}.origin-offer small{min-height:0}.origin-offer button{margin-top:7px}.origin-dialog .narrative{margin-bottom:8px}}

.partner-panel>summary{display:flex;align-items:center;gap:9px;padding:14px 16px;cursor:pointer;color:#234c76}.partner-panel>summary>img{width:26px;height:26px;object-fit:contain}.partner-panel>summary>b{font-size:14px}.partner-panel>summary>span{margin-left:auto;font-size:11px;color:#67839e}.partner-intro{display:flex;gap:14px;align-items:center;margin-bottom:15px}.partner-intro>img{width:94px;height:78px;object-fit:cover;border-radius:4px}.partner-intro h3{font-size:17px;margin:0 0 6px}.partner-intro p,.partner-demand>p{font-size:12px;color:#5c7c99;line-height:1.7;margin:0}.partner-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.partner-offers>article{border:1px solid #ccdae7;padding:13px;border-radius:4px}.partner-offers h3,.partner-demand h3{font-size:16px;margin:0 0 7px}.partner-offers p{font-size:12px;color:#4b6e90;margin:0 0 10px}.partner-offers small{display:block;font-size:11px;line-height:1.7;color:#5a7692}.partner-offers button{margin-top:12px;width:100%}.partner-ledger{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;font-size:11px;color:#61809c}.partner-ledger b{display:block;font-size:15px;color:#2e577b;margin-top:5px}.partner-demand>.progress-info{margin-top:14px;font-size:12px}.partner-demand>.btn{margin-top:10px}.partner-demand>.hint{display:block;margin-top:10px}.partner-history{margin-top:15px;font-size:12px;color:#547797}.partner-history p{font-size:11px;line-height:1.7}.partner-history summary{cursor:pointer}@media(max-width:800px){.partner-offers{grid-template-columns:1fr}.partner-panel>summary{padding:12px}.partner-panel>summary>span{max-width:155px;text-align:right;line-height:1.6}.partner-intro{gap:10px}.partner-intro>img{width:78px;height:68px}.partner-intro h3{font-size:15px}}

.supply-market .panel-head{flex-wrap:wrap;gap:8px}.supply-market .quantity-control button{padding:5px 8px;min-height:30px}.supply-market .market-buttons{display:flex;gap:5px;flex-shrink:0}.supply-market .market-buttons .btn{margin:0;white-space:nowrap}.supply-market .market-item{min-width:0}.supply-market .market-item small{line-height:1.7}.supply-market .market-row{gap:8px}.paused .discovery-water:after{animation-play-state:paused}
@media(max-width:600px){.page-head{flex-wrap:wrap;gap:8px}.page-head>div:first-child{min-width:min(100%,195px);flex:1 1 195px}.page-head>.pill{max-width:100%;white-space:normal}.supply-market .panel-body{padding-inline:12px}.supply-market .market-item{gap:7px}.supply-market .market-item>.icon{width:25px;height:25px}.supply-market .market-item small{font-size:10px}.supply-market .market-buttons .btn{font-size:10px;padding:6px 8px}}

.world-map-canvas .world-port{z-index:10}.world-map-canvas .world-port.selected,.world-map-canvas .world-port:hover{z-index:12}
