:root{
    --navy:#1a2350;
    --gold:#e0a53f;
    --blue-start:#1c1f5e;
    --purple-mid:#5a2f8c;
    --pink-end:#e0668a;
    --peach:#f2a35c;
    --ink:#20263f;
    --paper:#f7f7f8;
    --line:#d9dce3;
  }

  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{
    font-family:"Segoe UI","Helvetica Neue",Arial,"Noto Sans TC",sans-serif;
    color:var(--ink);
    background:#fff;
  }
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;margin:0;padding:0;}
  img{max-width:100%;display:block;}

  /* ---------- Header ---------- */
  header.site-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:10px 32px;
    background:#fff;
    border-bottom:4px solid var(--navy);
    position:relative;
    z-index:20;
  }
  .brand-logo img{
    height:56px;
    width:auto;
  }
  nav.main-nav{
    flex:1;
    display:flex;
    justify-content:center;
  }
  nav.main-nav ul{
    display:flex;
    gap:26px;
    flex-wrap:wrap;
  }
  nav.main-nav a{
    font-size:13px;
    letter-spacing:.03em;
    font-weight:600;
    color:var(--ink);
    text-transform:uppercase;
    padding:6px 2px;
    border-bottom:2px solid transparent;
    transition:border-color .15s ease, color .15s ease;
  }
  nav.main-nav a:hover,
  nav.main-nav a.active{
    color:var(--peach);
    border-color:var(--peach);
  }
  .menu-btn{
    background:var(--gold);
    color:#fff;
    font-weight:700;
    font-size:13px;
    letter-spacing:.04em;
    border:none;
    border-radius:999px;
    padding:12px 26px;
    cursor:pointer;
    white-space:nowrap;
  }
  .hamburger{margin-right:2px;font-size:14px;}

  @media (max-width: 980px){
    nav.main-nav{display:none;}
    header.site-header{justify-content:space-between;}
  }

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    min-height:640px;
    background-image:url("/IMG/home2-slide1.jpg");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    display:flex;
    align-items:center;
  }

  .hero-inner{
    position:relative;
    z-index:2;
    width:100%;
    max-width:1400px;
    margin:0 auto;
    padding:60px 56px;
  }
  .hero-copy{
    color:#fff;
    max-width:760px;
  }
  .hero-copy .page-tag{
    display:inline-block;
    background:var(--gold);
    color:#1a2350;
    font-size:22px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
    padding:8px 22px;
    border-radius:999px;
    margin:0 0 18px;
  }
  .hero-copy .eyebrow{
    font-style:italic;
    font-size:16px;
    font-weight:400;
    margin:0 0 6px;
  }
  .hero-copy h2.theme-line{
    font-size:18px;
    line-height:1.35;
    font-weight:700;
    margin:0 0 22px;
  }
  .hero-copy h2.theme-line .accent{
    color:var(--gold);
  }
  .hero-copy .conf-name{
    font-size:60px;
    line-height:1;
    font-weight:800;
    margin:0 0 22px;
    letter-spacing:.01em;
  }
  .hero-copy .conf-dates{
    font-size:16px;
    font-weight:600;
  }
  .hero-copy .conf-dates .sep{
    margin:0 10px;
    opacity:.7;
  }

  @media (max-width: 1100px){
    .hero-inner{padding:48px 24px;}
    .hero-copy{max-width:100%;}
    .hero-copy .conf-name{font-size:56px;}
  }

  @media (max-width: 600px){
    .hero{min-height:520px;}
    .hero-copy .conf-name{font-size:42px;}
    .hero-copy h2.theme-line{font-size:20px;}
  }

  /* ---------- Proceedings section ---------- */
  .proceedings{
    padding:70px 24px 90px;
    background:var(--paper);
  }
  .proceedings h1.section-title{
    text-align:center;
    font-weight:400;
    font-size:40px;
    letter-spacing:.08em;
    margin:0 0 40px;
    color:var(--ink);
  }
  .proceedings-layout{
    display:flex;
    align-items:flex-start;
    gap:0;
    max-width:1280px;
    margin:0 auto;
  }
  .proc-tabs{
    width:250px;
    flex-shrink:0;
    border:1px solid var(--line);
    background:#fff;
  }
  .proc-tabs button{
    display:block;
    width:100%;
    text-align:left;
    background:#fff;
    border:none;
    border-bottom:1px solid var(--line);
    padding:16px 20px;
    font-size:15px;
    font-family:inherit;
    color:var(--ink);
    cursor:pointer;
  }
  .proc-tabs button:last-child{border-bottom:none;}
  .proc-tabs button:hover{background:#f0f1f4;}
  .proc-tabs button.active{
    background:#eceef3;
    font-weight:700;
    border-left:3px solid var(--navy);
    padding-left:17px;
  }

  .proc-panel{
    flex:1;
    background:#fff;
    border:1px solid var(--line);
    border-left:none;
    padding:44px 48px;
    min-height:420px;
  }
  .proc-panel h2{
    font-weight:400;
    font-size:34px;
    color:#2b4c78;
    margin:0 0 28px;
  }
  .proc-panel h3{
    font-weight:400;
    font-size:24px;
    color:#2b4c78;
    margin:32px 0 14px;
  }
  .proc-panel p{
    font-size:15.5px;
    line-height:1.75;
    color:#3a3f4d;
    margin:0 0 16px;
  }
  .proc-panel ol,
  .proc-panel ul{
    padding-left:22px;
    margin:0 0 16px;
  }
  .proc-panel li{
    font-size:15.5px;
    line-height:1.75;
    color:#3a3f4d;
    margin-bottom:8px;
  }
  .proc-panel li strong{color:var(--ink);}

  .proc-content{display:none;}
  .proc-content.active{display:block;}

  /* ---------- Proceedings table ---------- */
  .table-scroll{
    width:100%;
    overflow-x:auto;
  }
  .proc-table{
    width:100%;
    min-width:560px;
    border-collapse:collapse;
    font-size:15px;
  }
  .proc-table thead th{
    background:var(--navy);
    color:#fff;
    text-align:left;
    font-weight:600;
    padding:14px 18px;
    white-space:nowrap;
  }
  .proc-table tbody td{
    padding:14px 18px;
    border-bottom:1px solid var(--line);
    color:#3a3f4d;
    vertical-align:middle;
  }
  .proc-table tbody tr:nth-child(even){
    background:#f5f6f9;
  }
  .proc-table tbody tr:hover{
    background:#eceef3;
  }
  @media (max-width: 860px){
    .proceedings-layout{flex-direction:column;}
    .proc-tabs{width:100%;display:flex;}
    .proc-tabs button{border-bottom:none;border-right:1px solid var(--line);}
    .proc-tabs button:last-child{border-right:none;}
    .proc-panel{border-left:1px solid var(--line);border-top:none;padding:32px 24px;}
  }

  /* ---------- Footer ---------- */
  footer.site-footer{
    background:var(--navy);
    color:#cfd4e6;
    text-align:center;
    padding:22px;
    font-size:13px;
  }

  /* ---------- Proceedings table: action cell ---------- */
  .proc-table td.dl-cell{
    width:215px;
    text-align:left;
    white-space:nowrap;
  }
  .btn-papers{
    display:inline-flex;
    align-items:center;
    gap:7px;
    background:var(--navy);
    color:#fff;
    font-size:13.5px;
    font-weight:600;
    letter-spacing:.02em;
    padding:9px 16px;
    border-radius:999px;
    transition:background .15s ease;
  }
  .btn-papers:hover{background:#2b3670;}
  .btn-papers svg{width:16px;height:16px;}
  .btn-volume{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    margin-left:8px;
    border-radius:50%;
    color:var(--navy);
    border:1px solid var(--navy);
    vertical-align:middle;
    transition:background .15s ease, color .15s ease;
  }
  .btn-volume:hover{background:var(--navy);color:#fff;}
  .btn-volume svg{width:18px;height:18px;}

  /* ---------- Paper list page: volume banner ---------- */
  .vol-banner{
    background:linear-gradient(120deg,var(--blue-start) 0%,var(--purple-mid) 58%,var(--pink-end) 100%);
    color:#fff;
    padding:46px 24px 52px;
  }
  .vol-inner{
    max-width:1080px;
    margin:0 auto;
  }
  .back-link{
    display:flex;
    width:fit-content;
    align-items:center;
    gap:5px;
    font-size:13px;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:rgba(255,255,255,.82);
    margin-bottom:22px;
  }
  .back-link:hover{color:#fff;}
  .back-link svg{width:16px;height:16px;}
  .vol-tag{
    display:inline-block;
    background:var(--gold);
    color:#1a2350;
    font-size:12.5px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    padding:6px 16px;
    border-radius:999px;
    margin:0 0 14px;
  }
  .vol-title{
    font-size:38px;
    line-height:1.2;
    font-weight:800;
    margin:0 0 12px;
  }
  .vol-theme{
    font-size:16.5px;
    line-height:1.6;
    font-weight:400;
    max-width:820px;
    margin:0 0 6px;
    color:rgba(255,255,255,.92);
  }
  .vol-meta{
    font-size:14px;
    font-weight:600;
    letter-spacing:.03em;
    margin:0;
    color:rgba(255,255,255,.75);
  }
  .vol-actions{margin-top:26px;}
  .btn-full{
    display:inline-flex;
    align-items:center;
    gap:9px;
    background:#fff;
    color:var(--navy);
    font-size:14px;
    font-weight:700;
    padding:12px 24px;
    border-radius:999px;
    transition:transform .15s ease, box-shadow .15s ease;
    box-shadow:0 6px 18px rgba(0,0,0,.18);
  }
  .btn-full:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.24);}
  .btn-full svg{width:18px;height:18px;}

  @media (max-width: 600px){
    .vol-title{font-size:27px;}
    .vol-banner{padding:34px 20px 40px;}
  }

  /* ---------- Paper list page: list ---------- */
  .papers{
    background:var(--paper);
    padding:54px 24px 90px;
  }
  .papers-inner{
    max-width:1080px;
    margin:0 auto;
  }
  .papers-bar{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
    padding-bottom:14px;
    border-bottom:2px solid var(--navy);
    margin-bottom:26px;
  }
  .papers-heading{
    font-size:26px;
    font-weight:400;
    letter-spacing:.06em;
    margin:0;
    color:var(--ink);
  }
  .papers-tools{
    display:flex;
    align-items:center;
    gap:16px;
  }
  .papers-count{
    font-size:13px;
    font-weight:600;
    letter-spacing:.04em;
    color:#6b7185;
    white-space:nowrap;
  }
  .search-box{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:999px;
    padding:8px 16px;
    color:#8a90a3;
  }
  .search-box:focus-within{border-color:var(--navy);color:var(--navy);}
  .search-box svg{width:16px;height:16px;flex-shrink:0;}
  .search-box input{
    border:none;
    outline:none;
    background:transparent;
    font-family:inherit;
    font-size:14px;
    color:var(--ink);
    width:210px;
  }

  .paper-list{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .paper-item{
    display:flex;
    align-items:flex-start;
    gap:20px;
    background:#fff;
    border:1px solid var(--line);
    border-left:4px solid var(--navy);
    border-radius:6px;
    padding:22px 26px;
    transition:box-shadow .15s ease, border-left-color .15s ease, transform .15s ease;
  }
  .paper-item[hidden]{
    display:none;
  }
  .paper-item:hover{
    box-shadow:0 8px 22px rgba(26,35,80,.10);
    border-left-color:var(--peach);
    transform:translateY(-1px);
  }
  .paper-no{
    flex-shrink:0;
    width:40px;
    height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#eceef3;
    color:var(--navy);
    font-size:14px;
    font-weight:700;
  }
  .paper-body{flex:1;min-width:0;}
  .paper-title{
    font-size:17.5px;
    line-height:1.45;
    font-weight:600;
    color:#2b4c78;
    margin:0 0 8px;
  }
  .paper-authors{
    font-size:14.5px;
    line-height:1.6;
    color:#3a3f4d;
    margin:0 0 6px;
  }
  .paper-pages{
    font-size:13px;
    letter-spacing:.03em;
    color:#8a90a3;
    margin:0;
  }
  .paper-action{
    flex-shrink:0;
    padding-top:2px;
  }
  .btn-pdf{
    display:inline-flex;
    align-items:center;
    gap:7px;
    border:1px solid var(--navy);
    color:var(--navy);
    background:#fff;
    font-size:13.5px;
    font-weight:700;
    letter-spacing:.04em;
    padding:9px 18px;
    border-radius:999px;
    transition:background .15s ease, color .15s ease;
  }
  .btn-pdf:hover{background:var(--navy);color:#fff;}
  .btn-pdf svg{width:16px;height:16px;}
  .btn-pdf.disabled{
    border-color:var(--line);
    color:#a6abba;
    font-weight:600;
    cursor:default;
  }

  .paper-state{
    background:#fff;
    border:1px dashed var(--line);
    border-radius:6px;
    padding:26px;
    text-align:center;
    color:#6b7185;
    font-size:15px;
    list-style:none;
  }

  @media (max-width: 760px){
    .paper-item{
      flex-wrap:wrap;
      gap:14px;
      padding:18px 18px;
    }
    .paper-body{flex:1 1 100%;order:2;}
    .paper-action{order:3;flex:1 1 100%;}
    .btn-pdf{width:100%;justify-content:center;}
    .papers-bar{align-items:flex-start;}
    .papers-tools{width:100%;justify-content:space-between;}
    .search-box{flex:1;}
    .search-box input{width:100%;}
  }
