/* ==========================================================================
   Waterline · 绿头鸭的天堂 — NexusPHP 1.10.3 skin
   Original design language: a single hairline "waterline", serif display
   headings, tabular numerals, one jade accent. No illustrations, no gradients.
   Skin-level only: no PHP / URL / form-field changes. Dark is the default.
   ========================================================================== */

:root{
  --paper:#0F1612; --surface:#151E18; --surface-2:#1B2620; --surface-3:#213027;
  --ink:#EDF3EE; --ink-2:#A9BAB0; --ink-3:#82928A;
  --jade:#7FD3B6; --on-jade:#0F1612; --jade-soft:#1C3028; --gold:#D8B567;
  --line:rgba(175,215,195,.14); --line-soft:rgba(175,215,195,.075);
  --hover:rgba(127,211,182,.06);
  --shadow-1:0 1px 2px rgba(0,0,0,.30);
  --shadow-2:0 1px 3px rgba(0,0,0,.30),0 8px 22px rgba(0,0,0,.28);
  --r-lg:18px; --r-md:12px; --r-sm:10px; --r-pill:999px;
  --ease:cubic-bezier(.165,.84,.44,1); --t:.26s var(--ease);
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Microsoft YaHei",sans-serif;
  --serif:"Source Han Serif SC","Noto Serif CJK SC","Songti SC","STSong","SimSun",serif;
  --mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
}

/* ---------- foundation ---------- */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0!important; padding:0 16px 40px!important; position:relative;
  background:var(--paper)!important; color:var(--ink)!important;
  font-family:var(--sans)!important; font-size:14px!important; line-height:1.65!important;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  background-image:none!important;
}
body.inframe{background:transparent!important;padding:0!important}
/* the waterline belongs to the main document only, never to embedded iframes */
body.inframe::before,body.inframe::after{display:none!important}
::selection{background:var(--jade-soft);color:var(--ink)}
:focus-visible{outline:2px solid var(--jade)!important;outline-offset:2px}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--paper)}
::-webkit-scrollbar-thumb{background:#2C3B32;border:2px solid var(--paper);border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:#3C5044}

/* Waterline is now a real DOM component (.wl-waterline in the v2 layer).
   The old v1 body::before / body::after decorations were absolutely positioned
   at a fixed offset; once the v2 topbar changed the page flow that 9px ring landed
   in the middle of the promotion banner text. Retired at the source. */

/* ---------- typography & links ---------- */
a,a:link,a:visited{color:var(--ink-2)!important;text-decoration:none!important;transition:color var(--t)}
a:hover,a:focus{color:var(--jade)!important;text-decoration:none!important}
a.altlink,a.faqlink{color:var(--jade)!important}
a.altlink:hover,a.faqlink:hover{color:var(--gold)!important}
b,strong{font-weight:650;color:var(--ink)!important}
h1,h2,h3,h4{font-family:var(--serif)!important;font-weight:500!important;color:var(--ink)!important;letter-spacing:.01em}
h1{font-size:28px!important;line-height:1.35!important}
h2{font-size:21px!important;line-height:1.4!important}
h3{font-size:17px!important}
small,.small{font-size:12px!important;color:var(--ink-3)!important}
font[color],font{color:inherit}
hr{border:0!important;border-top:1px solid var(--line)!important;margin:20px 0!important}
code,pre,.codemain{font-family:var(--mono)!important;font-size:12.5px;background:var(--surface-2)!important;border:1px solid var(--line-soft)!important;border-radius:var(--r-sm);color:var(--ink-2)!important;padding:10px 14px}
blockquote{background:var(--surface-2)!important;border-left:2px solid var(--jade)!important;border-radius:0 var(--r-sm) var(--r-sm) 0;padding:10px 16px;margin:12px 0;color:var(--ink-2)!important}
table{border-collapse:collapse!important;background:transparent!important;border:0!important;font-family:var(--sans)!important}

/* ---------- masthead ---------- */
table.head{
  width:1200px!important; max-width:100%!important; height:103px!important;
  margin:0 auto 26px!important; background:transparent!important; border:0!important;
}
table.head td{border:0!important;padding:0 4px!important;vertical-align:middle!important}
table.head img{margin-top:0!important;opacity:.72;filter:grayscale(.3);border-radius:var(--r-sm);transition:opacity var(--t)}
table.head img:hover{opacity:1}
.logo{
  font-family:var(--serif)!important; font-size:25px!important; font-weight:500!important;
  color:var(--ink)!important; letter-spacing:.06em!important; line-height:1.3!important;
}
.slogan{font-family:var(--serif)!important;font-size:11.5px!important;color:var(--ink-3)!important;letter-spacing:.16em;margin-top:3px!important}

/* ---------- outer shell ---------- */
table.mainouter{
  width:1200px!important; max-width:100%!important; margin:0 auto!important;
  background:var(--surface)!important; border:1px solid var(--line)!important;
  border-radius:var(--r-lg)!important; box-shadow:var(--shadow-2)!important;
  padding:8px 10px 12px!important; overflow:hidden;
}
table.mainouter > tbody > tr > td{border:0!important;padding:6px 8px!important}
#outer{padding-top:12px!important;padding-bottom:20px!important}

/* ---------- navigation: quiet segmented pill ---------- */
#nav_block{padding:2px 0 6px!important;background:transparent!important}
#nav{width:100%}
ul#mainmenu.menu,ul.menu{
  display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;
  gap:2px!important;list-style:none!important;margin:0 auto!important;padding:5px!important;
  background:var(--surface-2)!important;border:1px solid var(--line-soft)!important;
  border-radius:var(--r-pill)!important;width:fit-content!important;max-width:100%!important;
}
ul#mainmenu.menu li,ul.menu li{
  float:none!important;display:block!important;list-style:none!important;
  margin:0!important;padding:0!important;background:none!important;border:0!important;
}
ul#mainmenu.menu li a,ul.menu li a{
  display:block!important;padding:7px 15px!important;min-height:26px!important;
  font-size:12.5px!important;line-height:26px!important;font-weight:500!important;
  color:var(--ink-2)!important;background:transparent!important;border:0!important;
  border-radius:var(--r-pill)!important;white-space:nowrap!important;letter-spacing:.02em!important;
  transition:background var(--t),color var(--t);text-decoration:none!important;
}
ul#mainmenu.menu li a:hover,ul.menu li a:hover{background:var(--hover)!important;color:var(--ink)!important}
ul#mainmenu.menu li.selected a,ul.menu li.selected a{
  background:var(--jade)!important;color:var(--on-jade)!important;font-weight:600!important;
}
#nav_block table.main,table.main{width:100%!important;max-width:100%!important;background:transparent!important;border:0!important}
td.embedded{padding:0!important;background:transparent!important;border:0!important}

/* ---------- info strip ---------- */
#info_block{
  background:transparent!important;border:0!important;
  border-bottom:1px solid var(--line-soft)!important;margin:0 0 6px!important;padding:0 0 6px!important;
}
#info_block td{border:0!important;padding:4px 8px!important;font-size:12px!important;color:var(--ink-3)!important;background:transparent!important}
#info_block td.bottom{line-height:1.9!important}
#info_block a{font-weight:500!important}
#info_block .medium,.medium{font-size:12.5px!important;color:var(--ink-2)!important}
#info_block img{margin:0 2px;vertical-align:middle}
.color_bonus,.color_invite,.color_slots,.color_downloaded,.color_uploaded,.color_ratio,.color_active,.color_connectable{color:var(--ink-3)!important}

/* ---------- content tables: hairline rows, no boxes ---------- */
table.main[border],table[border]{border:1px solid var(--line-soft)!important;border-radius:var(--r-md)!important;overflow:hidden}
table[border] td{border-color:var(--line-soft)!important}
td.rowhead,th.rowhead,td.colhead,th{
  background:var(--surface-2)!important;color:var(--ink-3)!important;
  border:0!important;border-bottom:1px solid var(--line)!important;
  padding:9px 14px!important;font-size:12px!important;font-weight:600!important;
  letter-spacing:.04em!important;vertical-align:middle!important;
}
td.rowfollow{
  background:transparent!important;color:var(--ink)!important;
  border:0!important;border-bottom:1px solid var(--line-soft)!important;
  padding:11px 14px!important;font-size:13px!important;vertical-align:middle!important;
  transition:background var(--t);
}
tr:hover > td.rowfollow{background:var(--hover)!important}
tr:last-child > td.rowfollow{border-bottom:0!important}
td.text,td.bottom,td.clear,td.outer{background:transparent!important;border:0!important;color:var(--ink-2)!important}
td.text{font-size:13px!important}
td.nowrap,.nowrap{white-space:nowrap!important}
/* numeric columns align & tabular figures */
td.rowfollow[align="right"],td.rowhead[align="right"],.color_ratio,.color_uploaded,.color_downloaded,
td.rowfollow font[class^="color_"]{font-variant-numeric:tabular-nums!important;font-family:var(--mono)!important;font-size:12px!important}

/* ---------- section titles, callouts ---------- */
.embedded h1,.embedded h2,.embedded h3{margin:18px 0 10px!important;padding-left:11px!important;border-left:2px solid var(--jade)!important}
.title,.headtitle{font-family:var(--serif)!important;color:var(--ink)!important;font-size:20px!important}
/* NOTE: .cheaterbox/.inbox/.sentbox/.reportbox/.buddylist are sprite <img>
   elements whose artwork comes from sprites.css background-image — never
   override their `background` or they turn into empty rounded boxes. */
.warned,.leechwarned{
  background:var(--surface-2)!important;border:1px solid var(--line)!important;
  border-radius:var(--r-md)!important;color:var(--ink-2)!important;padding:10px 14px!important;
}
.free,.twoup,.twoupfree,.halfdown,.twouphalfdown,.thirtypercent,.hot,.classic,.recommended,.new,.striking{
  display:inline-block!important;padding:1px 8px!important;margin:0 2px!important;
  border-radius:var(--r-pill)!important;font-size:10.5px!important;font-weight:600!important;
  line-height:18px!important;letter-spacing:.03em!important;
  background:var(--jade-soft)!important;color:var(--jade)!important;border:1px solid var(--line)!important;
}
.hot,.new,.striking{background:rgba(216,181,103,.12)!important;color:var(--gold)!important;border-color:rgba(216,181,103,.22)!important}

/* user-class colours, softened for dark paper */
.StaffLeader_Name,.SysOp_Name,.Administrator_Name,.Moderator_Name,.ForumModerator_Name,
A.StaffLeader_Name:link,A.SysOp_Name:link,A.Administrator_Name:link,A.Moderator_Name:link,
A.StaffLeader_Name:visited,A.SysOp_Name:visited,A.Administrator_Name:visited,A.Moderator_Name:visited{color:var(--gold)!important}
.VIP_Name,.NexusMaster_Name,.UltimateUser_Name,.ExtremeUser_Name,.VeteranUser_Name,.InsaneUser_Name,
A.VIP_Name:link,A.NexusMaster_Name:link,A.UltimateUser_Name:link,A.ExtremeUser_Name:link{color:var(--jade)!important}
.User_Name,.Peasant_Name,.Retiree_Name,.Uploader_Name,CrazyUser_Name,.EliteUser_Name,.PowerUser_Name{color:var(--ink-2)!important}

/* ---------- form controls ---------- */
input,select,textarea,button{
  font-family:var(--sans)!important;font-size:13px!important;color:var(--ink)!important;
  background:var(--surface-2)!important;border:1px solid var(--line)!important;
  border-radius:var(--r-sm)!important;padding:7px 11px!important;
  outline:none!important;transition:border-color var(--t),box-shadow var(--t),background var(--t);
}
input:hover,select:hover,textarea:hover{border-color:rgba(127,211,182,.34)!important}
input:focus,select:focus,textarea:focus{border-color:var(--jade)!important;box-shadow:0 0 0 3px rgba(127,211,182,.13)!important}
input::placeholder,textarea::placeholder{color:var(--ink-3)!important}
input[type="checkbox"],input[type="radio"]{accent-color:var(--jade)!important;padding:0!important;width:15px;height:15px;vertical-align:-2px}
input[type="file"]{padding:6px!important}
select{max-width:100%}
input[type="submit"],input[type="reset"],button,.btn,input.btn{
  display:inline-block!important;cursor:pointer!important;min-height:36px!important;
  padding:7px 18px!important;border-radius:var(--r-sm)!important;
  font-size:13px!important;font-weight:600!important;letter-spacing:.02em!important;
  transition:transform var(--t),background var(--t),border-color var(--t);
}
input[type="submit"],button,.btn:not([type="reset"]){
  background:var(--jade)!important;color:var(--on-jade)!important;border:1px solid var(--jade)!important;
}
input[type="submit"]:hover,button:hover,.btn:hover{transform:translateY(-1px);background:#96E0C6!important;border-color:#96E0C6!important}
input[type="submit"]:active,button:active,.btn:active{transform:translateY(0)}
input[type="reset"],input.btn[value="清空"]{background:transparent!important;color:var(--ink-2)!important;border:1px solid var(--line)!important}
input[type="reset"]:hover{background:var(--hover)!important;color:var(--ink)!important;transform:none}
input[disabled],button[disabled],.disabled{opacity:.42!important;cursor:not-allowed!important}
textarea{line-height:1.6;resize:vertical}

/* ---------- misc widgets ---------- */
#footer{color:var(--ink-3)!important;font-size:11.5px!important;text-align:center;padding:22px 0 8px!important}
#footer a{color:var(--ink-3)!important}
#footer a:hover{color:var(--jade)!important}
#footer div{border-top:1px solid var(--line-soft)!important;padding-top:16px!important;margin-top:12px!important}
img{max-width:100%}
img.hitandrun{filter:hue-rotate(90deg) saturate(.6);opacity:.85}
.star,.rss{opacity:.8}
table.mainouter table.main table{background:transparent!important}
/* layer popups keep their own light surface (third-party) */
.layui-layer{color:#18241F!important;border-radius:var(--r-md)!important;overflow:hidden}

/* ---------- legacy inline-colour cleanup ----------
   NexusPHP injects a few hard-coded colours straight into HTML. These rules
   tone them down without touching markup, URLs or form fields.               */
/* site-wide promotion banner: keep the message, lose the neon green */
td[style*="background: green"],td[style*="background:green"],td[bgcolor="green"]{
  background:var(--jade-soft)!important;border:1px solid var(--line)!important;
  border-radius:var(--r-md)!important;padding:9px 20px!important;
}
td[style*="background: green"] font[color="white"],
td[style*="background: green"] a,td[style*="background: green"] b{
  color:var(--ink)!important;font-weight:500!important;letter-spacing:.02em!important;
}
/* donate.gif is an orange/white legacy image — replace it with a quiet CSS pill */
table.head a[href="donate.php"]{display:inline-block!important;vertical-align:middle!important}
table.head a[href="donate.php"] img{display:none!important}
table.head a[href="donate.php"]::after{
  content:"支持站点";display:inline-block;padding:7px 16px;
  border:1px solid var(--line);border-radius:var(--r-pill);
  font-size:12px;letter-spacing:.04em;background:var(--surface-2);
  color:var(--ink-2)!important;transition:border-color var(--t),color var(--t),background var(--t);
}
table.head a[href="donate.php"]:hover::after{
  border-color:var(--jade);color:var(--jade)!important;background:var(--hover);
}
/* tag filters: one jade tone instead of red/blue/green swatches */
a[href*="tag_id"] span[style*="background-color"]{
  background-color:var(--jade-soft)!important;color:var(--jade)!important;
  border:1px solid var(--line)!important;border-radius:var(--r-pill)!important;
  padding:1px 8px!important;margin:0 3px 0 0!important;
  font-size:10.5px!important;font-weight:600!important;
}
/* quoted descriptions: white border + blue inline text -> quiet surface */
fieldset{
  border:1px solid var(--line-soft)!important;border-radius:var(--r-md)!important;
  background:var(--surface-2)!important;color:var(--ink-2)!important;
  padding:10px 16px 14px!important;margin:8px 0!important;
}
fieldset legend{color:var(--ink-3)!important;font-size:11.5px!important;padding:0 6px!important;letter-spacing:.06em}
fieldset span[style*="color: blue"],fieldset span[style*="color:blue"],
fieldset font[color="blue"]{color:var(--jade)!important}
fieldset a,fieldset a:link{color:var(--jade)!important}
/* search autocomplete & captcha */
#suggestions{background:var(--surface-2)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:var(--r-sm)!important}
img[src*="image.php"],img[src*="captcha"],img[src*="verify"]{border-radius:6px!important}
iframe{border:1px solid var(--line-soft)!important;border-radius:var(--r-md)!important}
img[class^="c_"]{filter:saturate(.35) brightness(.88);opacity:.72}
#info_block table{border:1px solid var(--line-soft)!important}
#info_block table td{border-color:var(--line-soft)!important;background:transparent!important}

/* ---------- responsive ---------- */
@media (max-width:1260px){
  body{padding:0 10px 32px!important}
  table.head,table.mainouter{width:100%!important}
  ul#mainmenu.menu,ul.menu{justify-content:flex-start!important;border-radius:var(--r-md)!important}
  ul#mainmenu.menu li a,ul.menu li a{padding:6px 11px!important;font-size:12px!important}
}
@media (max-width:720px){
  body::before,body::after{display:none}
  table.head{height:auto!important;margin-bottom:14px!important;padding:12px 0!important}
  .logo{font-size:21px!important}
  td.rowhead,td.rowfollow{padding:8px 9px!important;font-size:12px!important}
  #info_block td{padding:3px 5px!important}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
