:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:inherit}body{display:flex;margin:0;min-width:320px;min-height:100vh}:root{--green-bg: rgb(0, 70, 0);--light-gray: rgb(224, 224, 224);--dark-gray: rgb(56, 56, 56)}.italic{font-style:italic}.small-text{font-size:80%}.big-text{font-size:130%}.huge-text{font-size:200%}#root{width:100vw;height:100vh}.root-layout{display:flex;flex-direction:column;height:100%;width:100%}.header,footer{background-color:var(--green-bg);color:#fff;padding:.5rem;text-align:center}.header{padding:.2rem;font-size:2rem}.content{display:flex;flex:1}.sidemenu{background-color:var(--light-gray);color:var(--dark-gray);width:7rem;padding:1rem;flex-shrink:0;margin:0;-webkit-user-select:none;user-select:none}.sidemenu ul{list-style-type:none;margin:0;padding:0}.sidemenu li{padding:0 0 0 10px}.sidemenu a:hover{color:#000}.top-level-list>li{padding:10px 0 0}.main{background-color:#fff;padding:1rem;flex-grow:1;overflow-y:auto}button{display:inline-block;padding:15px;margin:10px;border:none;border-radius:6px;font-size:1rem;color:#fff;text-decoration:none;background-color:var(--green-bg);cursor:pointer}table{width:100%;border-collapse:collapse;margin:20px 0}table a:hover{text-shadow:0 0 5px black;color:inherit}th,td{padding:10px;border:1px solid var(--border-color);text-align:left}tr:nth-child(2n){background-color:var(--light-gray)}.content-form{text-align:left;max-width:70%;min-width:40vw}.content-form label{font-size:14px;margin-bottom:5px;color:#333}.content-form input,.content-form select{width:100%;padding:8px;font-size:16px;border:1px solid #ccc;border-radius:4px;margin-bottom:10px;box-sizing:border-box;transition:border-color .3s ease;background-color:#fff}.content-form input:focus,.content-form select:focus{border-color:#007bff;outline:none}.expense-details a{font-weight:inherit}.expense-details a:hover{text-shadow:0 0 6px black;color:inherit}.auxiliary-header{display:flex;flex-direction:horizontal;justify-content:space-between}.auxiliary-piechart{height:150px}.import-export textarea{margin:10px 0;display:block;width:80%;padding:5px;font-size:.8rem}.timegraph{width:100%;height:35%}.features-container{display:flex;flex-wrap:wrap;gap:1rem}.feature-card{background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 7px 10px #0000002e;min-width:100px;max-width:300px;padding:16px;text-align:center;transition:transform .3s,box-shadow .3s}.feature-card:hover{transform:translateY(-5px);box-shadow:0 8px 15px #0006}.feature-card ul{text-align:left;list-style:none;padding:0}.feature-card li{padding:.5rem}.modal-group{text-align:center;z-index:1000}.modal{text-align:left;background-color:#fff;padding:20px;border-radius:10px;box-shadow:0 4px 8px #0003;max-width:30%;min-width:40vw;z-index:1000}.modal-overlay{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center}.tooltipped{position:relative;cursor:pointer;z-index:10}.tooltip{z-index:15;position:absolute;background-color:#c5c5c5;color:#2b2b2b;padding:5px;border-radius:5px;opacity:0;transition:opacity 1s;top:-2.2rem;left:0;width:max-content;pointer-events:none}.tooltipped:hover .tooltip{opacity:1;-webkit-user-select:none;user-select:none}.link{cursor:pointer}.flashcard-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;padding:1rem}.flashcard{aspect-ratio:2/3;background:#fff;border:1px solid #ddd;border-radius:12px;padding:.75rem;box-shadow:0 2px 6px #0000000d;display:flex;flex-direction:column;justify-content:center;position:relative;text-align:center;overflow:hidden;transition:transform .2s ease}.flashcard:hover{transform:translateY(-4px)}.hanzi-big-faded{font-size:5vw;opacity:.08;position:absolute;top:14%;left:50%;transform:translate(-50%,-50%);pointer-events:none;-webkit-user-select:none;user-select:none}.info{position:relative;z-index:1}.pinyin{font-size:1.25rem;font-weight:700;color:#d32f2f;word-wrap:break-word;overflow-wrap:break-word}.meaning-short{font-size:1rem;color:#333;display:inline-block;word-wrap:break-word;overflow-wrap:break-word}.meaning-long{font-size:.75rem;color:#777;font-style:italic;margin-left:.25rem;word-wrap:break-word;overflow-wrap:break-word}.examples{font-size:.75rem;margin-top:.25rem;color:#555;background:#f3f3f3;padding:.25rem;border-radius:6px}.pinyin,.meaning-short,.meaning-long{font-size:clamp(.875rem,2vw,1.25rem)}@page{size:A4;margin:.1cm}body{margin:0;padding:0}.lyrics{display:flex;font-family:courier;white-space:pre-wrap;font-size:2.6mm}.page{width:21cm;height:29.7cm;padding:0;margin:0;box-sizing:border-box;position:relative;page-break-after:always;font-family:courier;background:#fff}.page-header{position:absolute;padding-left:.2cm;left:.8cm;right:.5cm;top:.5cm;bottom:27.1cm;display:flex;flex-direction:column;justify-content:center;font-size:4mm;border:1px dashed black;font-family:Lucida Sans,Lucida Sans Regular,Verdana,sans-serif}.lyrics-space{position:absolute;top:2.7cm;bottom:.5cm;left:.8cm;right:.5cm;display:flex;flex-direction:row;gap:.5cm}.lyrics{padding:0;display:flex;flex:1;font-size:2.6mm;white-space:pre-wrap}.lyrics-1,.lyrics-2-1,.lyrics-2-2,.lyrics-3-1,.lyrics-3-2,.lyrics-3-3{margin:0;padding:0 0 0 .1cm;flex:1}.song-qr{position:fixed}.song-artist{position:absolute;bottom:0;left:.1cm;font-size:6.5mm}.song-name{position:absolute;top:0;left:.1cm;font-size:8.5mm}.song-genre{position:absolute;right:.1cm;top:0;font-size:4mm}.song-lang{position:absolute;right:.1cm;top:.5cm;font-size:4mm}.song-rating{position:absolute;right:.1cm;top:1cm;font-size:4mm}.song-preferred-key{position:absolute;right:.1cm;top:1.5cm;font-size:4mm}.page-counter{position:absolute;bottom:.1cm;right:3cm;font-size:7mm;font-weight:700;border-radius:10px;padding:2px;border:1px solid black}.song-comment{position:absolute;top:.5cm;left:9cm;right:3.2cm;bottom:0;font-size:3.2mm;overflow:hidden}.song-year{position:absolute;left:9.5cm;top:0;font-size:5mm;font-style:italic}.page-index{position:absolute;bottom:.3cm;right:.3cm;font-size:4mm;font-weight:700}.index-allsongs{padding:.5cm .5cm .5cm .8cm;font-size:3.1mm;height:100%;column-width:5cm;column-gap:.1cm;font-family:Lucida Sans,Lucida Sans Regular,Lucida Grande,Lucida Sans Unicode,Geneva,Verdana,sans-serif}.index-allsongs-byharmony{padding:.5cm .5cm .5cm .8cm;font-size:3mm;height:100%;column-width:4cm;column-gap:.1cm;font-family:Lucida Sans,Lucida Sans Regular,Lucida Grande,Lucida Sans Unicode,Geneva,Verdana,sans-serif}.index-allsongs-bykeywords{padding:.5cm .5cm .5cm .8cm;font-size:3.2mm;height:100%;column-width:4cm;column-gap:.1cm;font-family:Lucida Sans,Lucida Sans Regular,Lucida Grande,Lucida Sans Unicode,Geneva,Verdana,sans-serif}.index-allsongs-byyear{padding:.5cm .5cm .5cm .8cm;font-size:3mm;height:100%;column-width:4cm;column-gap:.1cm;font-family:Lucida Sans,Lucida Sans Regular,Lucida Grande,Lucida Sans Unicode,Geneva,Verdana,sans-serif}.index-allsongs-yeartitle{font-size:130%;font-weight:700;padding-left:10%}.index-allsongs-title-artists{font-size:6mm;text-align:center;padding-top:.5cm;margin:0}.index-allsongs-title-genres{font-size:6mm;text-align:center;padding-top:0;margin:0}.index-allsongs-artists{padding-right:.5cm;padding-left:.8cm;font-size:3.2mm;column-width:5cm;column-gap:.1cm;font-family:Lucida Sans,Lucida Sans Regular,Lucida Grande,Lucida Sans Unicode,Geneva,Verdana,sans-serif}.index-allsongs-genres{padding-right:.5cm;padding-left:.8cm;font-size:3.2mm;height:100%;column-width:5cm;column-gap:.1cm;font-family:Lucida Sans,Lucida Sans Regular,Lucida Grande,Lucida Sans Unicode,Geneva,Verdana,sans-serif}.frontpage-title{text-align:center;padding:100px;font-family:Lucida Sans,Lucida Sans Regular,Lucida Grande,Lucida Sans Unicode,Geneva,Verdana,sans-serif;font-size:8rem}
