:root{--bg-color: #050505;--text-dim: #222}*{box-sizing:border-box}body,html{margin:0;padding:0;background-color:var(--bg-color);width:100vw;height:100%;min-height:100dvh;overflow:auto}#root{width:100%;height:100%}.portal-container{display:flex;flex-direction:column;height:100%;width:100%}.word-link{flex:1;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:clamp(2.5rem,12vw,8rem);transition:all .5s cubic-bezier(.25,1,.5,1);position:relative;overflow:hidden;width:100%;padding:40px 20px;min-height:33.33dvh}.glimmer{font-family:UnifrakturMaguntia,cursive;color:#d8b4fe;background:#050505;text-shadow:0 0 10px #581c87;z-index:5}.glimmer:hover{background:#020202;color:#e9d5ff;animation:darkPulse 1s infinite alternate;z-index:10;flex:1.5}@keyframes darkPulse{0%{text-shadow:0 0 10px #7e22ce,0 0 20px #581c87}to{text-shadow:0 0 20px #a855f7,0 0 40px #6b21a8,0 0 60px #3b0764}}.kyon{font-family:Noto Sans JP,sans-serif;color:#4a4a4a;background:#0a1020;font-weight:900;overflow:hidden;position:relative}.kyon:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-35deg) scale(.8);width:200%;height:300px;background:linear-gradient(90deg,transparent 0%,rgba(251,191,36,.1) 20%,rgba(245,158,11,.4) 50%,rgba(251,191,36,.1) 80%,transparent 100%);filter:blur(20px);opacity:0;transition:all .8s cubic-bezier(.2,.8,.2,1);z-index:2;pointer-events:none}.kyon .stars,.kyon .stars2,.kyon .stars3{position:absolute;background:transparent;top:0;left:0;z-index:1;opacity:0;transition:opacity .5s ease}.kyon .stars{width:1px;height:1px;box-shadow:47vw 831px #fff,31vw 91px #fff,96vw 1442px #fff,93vw 1656px #fff,41vw 1602px #fff,95vw 1373px #fff,83vw 166px #fff,43vw 1027px #fff,43vw 1172px #fff,99vw 544px #fff,51vw 1919px #fff,84vw 956px #fff,89vw 796px #fff,70vw 1912px #fff,38vw 1975px #fff,89vw 1834px #fff,4vw 135px #fff,5vw 767px #fff,9vw 1214px #fff,60vw 1498px #fff,22vw 447px #fff,15vw 221px #fff,49vw 836px #fff,74vw 1685px #fff,45vw 821px #fff,86vw 395px #fff,80vw 546px #fff,80vw 1485px #fff,95vw 1409px #fff,42vw 1627px #fff,74vw 534px #fff,78vw 1773px #fff,29vw 871px #fff,8vw 1707px #fff,87vw 794px #fff,20vw 313px #fff,33vw 1522px #fff,94vw 1307px #fff,87vw 1629px #fff,47vw 1720px #fff,10vw 341px #fff,15vw 760px #fff,23vw 1303px #fff,84vw 821px #fff,2vw 565px #fff,20vw 321px #fff,33vw 1038px #fff,95vw 242px #fff,57vw 1621px #fff,10vw 1342px #fff,33vw 306px #fff,6vw 1965px #fff,29vw 1620px #fff,45vw 1309px #fff,47vw 1998px #fff,98vw 439px #fff,67vw 1460px #fff,67vw 404px #fff,42vw 743px #fff,25vw 1433px #fff,90vw 12px #fff,24vw 1142px #fff,56vw 1975px #fff,69vw 690px #fff,51vw 1311px #fff,47vw 1808px #fff,94vw 1711px #fff,96vw 1959px #fff,93vw 509px #fff,84vw 511px #fff,25vw 328px #fff,48vw 1735px #fff,84vw 1579px #fff,68vw 970px #fff,58vw 750px #fff,37vw 1478px #fff,0 329px #fff,62vw 993px #fff,18vw 1423px #fff,60vw 324px #fff,40vw 495px #fff,68vw 1824px #fff,81vw 1998px #fff,84vw 616px #fff,37vw 1924px #fff,56vw 1966px #fff,85vw 1981px #fff,99vw 428px #fff,44vw 311px #fff,4vw 254px #fff,63vw 603px #fff,82vw 1953px #fff,19vw 1432px #fff,8vw 7px #fff,0 1128px #fff,46vw 1312px #fff,10vw 1961px #fff,82vw 584px #fff,60vw 469px #fff,27vw 1865px #fff,42vw 1638px #fff,25vw 391px #fff,32vw 1045px #fff,28vw 1251px #fff,78vw 690px #fff,17vw 1671px #fff,71vw 415px #fff,9vw 1507px #fff,43vw 933px #fff,22vw 1001px #fff,71vw 704px #fff,4vw 599px #fff,78vw 1377px #fff,37vw 500px #fff,70vw 1325px #fff,98vw 805px #fff,20vw 532px #fff,5vw 584px #fff,39vw 21px #fff,68vw 1705px #fff,19vw 1482px #fff,27vw 67px #fff,48vw 1074px #fff,19vw 202px #fff,89vw 139px #fff,1vw 1634px #fff,26vw 177px #fff,15vw 1361px #fff,31vw 188px #fff,96vw 333px #fff,90vw 486px #fff,12vw 1590px #fff,86vw 1603px #fff,48vw 1677px #fff,37vw 817px #fff,42vw 1630px #fff,93vw 1365px #fff,50vw 1258px #fff,16vw 170px #fff,69vw 1997px #fff,29vw 1922px #fff,9vw 602px #fff,92vw 674px #fff,58vw 105px #fff,28vw 1364px #fff,72vw 867px #fff,22vw 1426px #fff,62vw 574px #fff,87vw 1176px #fff,86vw 959px #fff,80vw 1405px #fff,96vw 41px #fff,4vw 934px #fff,95vw 1131px #fff,48vw 727px #fff,0 751px #fff,21vw 159px #fff,83vw 567px #fff,42vw 359px #fff,20vw 993px #fff,10vw 1069px #fff,97vw 1884px #fff,11vw 1951px #fff,15vw 1583px #fff,81vw 316px #fff,76vw 74px #fff,93vw 951px #fff,11vw 1048px #fff,77vw 1674px #fff,33vw 1731px #fff,17vw 1615px #fff,28vw 190px #fff,74vw 1700px #fff,61vw 703px #fff,71vw 1046px #fff,50vw 505px #fff,47vw 480px #fff,58vw 1527px #fff,71vw 1707px #fff,58vw 228px #fff,87vw 243px #fff,82vw 1912px #fff,90vw 1898px #fff,51vw 1080px #fff,64vw 1190px #fff,20vw 1971px #fff,76vw 541px #fff,9vw 116px #fff,23vw 1415px #fff,12vw 88px #fff,30vw 19px #fff,17vw 95px #fff,26vw 1034px #fff,36vw 1500px #fff,99vw 1192px #fff,37vw 518px #fff,72vw 612px #fff,10vw 1574px #fff,32vw 1380px #fff,24vw 70px #fff}.kyon .stars2{width:2px;height:2px;box-shadow:47vw 831px #fff,31vw 91px #fff,96vw 1442px #fff,93vw 1656px #fff;box-shadow:47vw 831px #fff,31vw 91px #fff,96vw 1442px #fff,93vw 1656px #fff,41vw 1602px #fff,95vw 1373px #fff,83vw 166px #fff,43vw 1027px #fff,43vw 1172px #fff,99vw 544px #fff,51vw 1919px #fff,84vw 956px #fff,89vw 796px #fff,70vw 1912px #fff,38vw 1975px #fff,89vw 1834px #fff,4vw 135px #fff,5vw 767px #fff,9vw 1214px #fff,60vw 1498px #fff,22vw 447px #fff,15vw 221px #fff,49vw 836px #fff,74vw 1685px #fff,45vw 821px #fff,86vw 395px #fff,80vw 546px #fff}.kyon .stars3{width:3px;height:3px;box-shadow:74vw 1700px #fff,61vw 703px #fff,71vw 1046px #fff,50vw 505px #fff,47vw 480px #fff,58vw 1527px #fff}.kyon:hover{background:linear-gradient(to bottom,#0f172a,#172554);color:#fbbf24;text-shadow:0 0 10px #fbbf24,0 0 20px #f59e0b;flex:1.5;z-index:10}.kyon:hover:before{opacity:1;transform:translate(-50%,-50%) rotate(-35deg) scale(1)}.kyon:hover .stars,.kyon:hover .stars2,.kyon:hover .stars3{opacity:1}.kyon:hover .stars{animation:animStar 50s linear infinite}.kyon:hover .stars2{animation:animStar 100s linear infinite}.kyon:hover .stars3{animation:animStar 150s linear infinite}@keyframes animStar{0%{transform:translateY(0)}to{transform:translateY(-2000px)}}.peridot{font-family:Orbitron,monospace;color:#a3e635;background:#0f1f0f;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.peridot .tech-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(163,230,53,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(163,230,53,.25) 1px,transparent 1px);background-size:40px 40px;animation:gridScroll 2s linear infinite;opacity:.5;transition:all .5s ease;z-index:1}@keyframes gridScroll{0%{background-position:0 0}to{background-position:40px 0}}.peridot:before{content:"";position:absolute;inset:0;background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,rgba(163,230,53,.05) 60deg,transparent 120deg);animation:radar 4s linear infinite;opacity:0;transition:opacity .3s;z-index:1}.peridot-img{max-height:50vh;max-width:80%;object-fit:contain;filter:grayscale(100%) brightness(.8) drop-shadow(0 0 0 transparent);transition:all .4s cubic-bezier(.34,1.56,.64,1);z-index:5;position:relative}.peridot:hover{background:#142814;flex:1.5;z-index:10}.peridot:hover .tech-bg{opacity:.8;transform:perspective(500px) rotateX(10deg) scale(1.25)}.peridot:hover:before{opacity:1}.peridot:hover .peridot-img{filter:grayscale(0%) brightness(1.1) drop-shadow(0 0 20px #a3e635);transform:scale(1.1) translateY(-10px)}@keyframes radar{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.portal-container:has(.word-link:hover) .word-link:not(:hover){opacity:.2;filter:blur(4px);transform:scale(.95)}@media(min-width:768px){.portal-container{flex-direction:row}.word-link{padding:0;min-height:initial;height:100%}}.research-grid{display:flex;flex-direction:column;gap:4rem;padding-top:2rem;max-width:900px;margin:0 auto}.research-folder{background:#fbf7f0;border:1px solid #cbd5e1;border-radius:2px 2px 5px 5px;padding:0;position:relative;box-shadow:0 4px 6px #0f172a0d;transition:transform .3s ease,box-shadow .3s ease;min-height:250px}.folder-inner{display:flex;height:100%;min-height:250px}.research-folder:nth-child(odd) .folder-inner{flex-direction:row-reverse}.research-folder:nth-child(2n) .folder-inner{flex-direction:row}.folder-image-slot{flex:0 0 300px;background:#f3ece0;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-family:Courier Prime,Courier New,monospace;font-size:.9rem;overflow:hidden}.research-folder:nth-child(odd) .folder-image-slot{border-left:1px solid #cbd5e1;border-right:none}.research-folder:nth-child(2n) .folder-image-slot{border-right:1px solid #cbd5e1;border-left:none}.folder-image-slot img{width:100%;height:100%;object-fit:cover;opacity:.9;mix-blend-mode:multiply}.folder-text-slot{flex:1;padding:2.5rem}.research-folder:before{content:"";position:absolute;top:-30px;width:250px;height:31px;background:#fbf7f0;border:1px solid #cbd5e1;border-bottom:1px solid #fbf7f0;border-radius:10px 10px 0 0;z-index:1}.research-folder:after{content:"";position:absolute;top:-1px;left:0;width:100%;height:2px;background:#fbf7f0;z-index:2}.research-folder:nth-child(odd):before{left:-1px}.research-folder:nth-child(2n):before{right:-1px;left:auto}.research-folder h4{font-family:Courier Prime,Courier New,monospace;font-size:1.4rem;font-weight:600;letter-spacing:-.5px;margin:0 0 1.5rem;color:#334155;border-bottom:2px solid #cbd5e1;padding-bottom:.5rem;display:inline-block}.research-folder p{font-family:Inter,sans-serif;font-size:1rem;color:#475569;line-height:1.7;max-width:65ch;margin:0;white-space:pre-line}@media(max-width:768px){.folder-inner,.research-folder:nth-child(odd) .folder-inner,.research-folder:nth-child(2n) .folder-inner{flex-direction:column}.folder-image-slot{flex:0 0 200px;border-right:none!important;border-left:none!important;border-bottom:1px solid #cbd5e1}}.juliet-page{font-family:Inter,sans-serif;color:#334155;background-color:#f1f5f9;background-image:radial-gradient(#cbd5e1 1px,transparent 1px);background-size:20px 20px;min-height:100vh;width:100%;display:flex;flex-direction:column}.juliet-nav{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 3rem;background-color:#ffffffb3;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(203,213,225,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.juliet-nav .nav-brand a{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;text-decoration:none;color:#1a1a1a;letter-spacing:.1em}.juliet-nav .nav-links{display:flex;gap:2rem}.juliet-nav .nav-links a{text-decoration:none;color:#64748b;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;transition:all .3s ease;position:relative}.juliet-nav .nav-links a:hover,.juliet-nav .nav-links a.active{color:#4a5568}.juliet-nav .nav-links a.active:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:4px;height:4px;background-color:#fca5a5;border-radius:50%}.juliet-content{flex:1;width:100%}.juliet-footer{padding:2rem;text-align:center;font-size:.8rem;opacity:.6;border-top:1px solid rgba(0,0,0,.05);margin-top:auto;background:#ffffff80}.juliet-hero{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;gap:3rem;max-width:1200px;margin:0 auto}@media(min-width:768px){.juliet-hero{flex-direction:row;text-align:left;justify-content:space-around}.hero-text-side{max-width:500px}}.juliet-hero h1{font-family:Playfair Display,serif;font-size:clamp(3rem,5vw,5rem);font-weight:400;margin:0;line-height:1.1;color:#1e293b}.juliet-hero h2{font-weight:300;font-size:clamp(1rem,2vw,1.3rem);color:#78716c;margin-top:1rem;text-transform:uppercase;letter-spacing:.15em;display:inline-block;position:relative}.juliet-hero .intro-text{margin-top:2rem;font-size:1.1rem;line-height:1.7;color:#57534e;font-weight:300}.profile-image-container{width:300px;height:300px;border-radius:50%;position:relative;box-shadow:0 0 0 1px #0000000d;display:flex;align-items:center;justify-content:center}.profile-image-container:before{content:"";position:absolute;inset:-15px;border-radius:50%;border:1px solid rgba(252,165,165,.3);z-index:-1;animation:spinSlow 30s linear infinite}.profile-img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:4px solid #fff;box-shadow:0 10px 40px #0000000d}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.juliet-section{padding:4rem 2rem;max-width:900px;margin:0 auto;opacity:0;animation:fadeIn 1s cubic-bezier(.2,.8,.2,1) forwards}.juliet-section h3{font-family:Playfair Display,serif;font-size:2.2rem;margin-bottom:2rem;text-align:center;font-weight:400;color:#1e293b;position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem}.scribble-underline{width:60px;height:15px;display:block}.scribble-path{fill:none;stroke:#fb7185;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation:drawScribble .8s cubic-bezier(.25,1,.5,1) forwards;animation-delay:.3s;filter:drop-shadow(0 0 3px rgba(251,113,133,.5))}@keyframes drawScribble{to{stroke-dashoffset:0}}.juliet-page .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.juliet-page .card{padding:2.5rem;background:#fff;box-shadow:0 4px 20px #00000005;transition:all .4s ease;border-radius:2px;border:1px solid rgba(0,0,0,.02);position:relative;overflow:hidden}.juliet-page .card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#fca5a5,transparent);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.juliet-page .card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #0000000d}.juliet-page .card:hover:before{transform:scaleX(1)}.juliet-page .button{display:inline-block;padding:.8rem 2.5rem;background-color:#1e293b;color:#fff!important;text-decoration:none!important;border-radius:100px;margin-top:1rem;font-size:.9rem;letter-spacing:.05em;transition:all .3s ease;box-shadow:0 4px 10px #1e293b33}.juliet-page .button:hover{background-color:#334155;transform:translateY(-2px);box-shadow:0 6px 15px #1e293b40}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn 1s cubic-bezier(.2,.8,.2,1) forwards}@media(max-width:900px){.juliet-nav{flex-direction:column;padding:1rem;gap:1rem}.juliet-nav .nav-links{flex-wrap:wrap;justify-content:center;gap:1rem 1.5rem}}
