洛雨叶图书馆
:root {
    --lh-red: #c0392b;
    --lh-blue: #2980b9;
    --lh-green: #27ae60;
    --lh-dark-green: #16a085;
    --lh-purple: #8e44ad;
    --lh-orange: #e67e22;
    --lh-yellow: #f1c40f;
 
    --lh-paper-bg: 255, 251, 240;
    --lh-string-color: 192, 57, 43;
    --lh-book-color: var(--gray-monochrome);
    --lh-tape-color: 90,90,90,0.3;
    --lh-white-bg: 249,249,249;
    --lh-dark-bg: 50, 50, 50;
    --lh-highlighter: var(--bright-accent);
    --lh-border-color: var(--gray-monochrome);
    --lh-wiki-note-color: var(--bright-accent)
}
 
/**
 *  旧代码合集
 *  为了向下兼容而保留
 */
 
.grid-container{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.grid-container,.grid-container [class*=grid]{box-sizing:border-box}[class*=grid]{padding:5px}.grid{width:100%}.grid-large{width:75%}.grid-big{width:50%}.grid-medium{width:33.33%}.grid-small{width:25%}@media screen and (min-width:768px){.wd-grid-large{width:75%}.wd-grid,.wd-grid-big{width:50%}.wd-grid-medium{width:33.33%}.wd-grid-small{width:25%}}.text-hover-hide{opacity:0;transition:opacity .3s}.text-hover-hide:hover{opacity:1}.text-block-hide{background:rgb(var(--black-monochrome));color:rgb(var(--black-monochrome));transition:background .3s}.text-block-hide:hover{background:0 0}.text-blur-hide,.text-blur-hover-hide{filter:blur(.3rem);-webkit-filter:blur(.3rem) transition: blur .3s}.text-blur-hover-hide:hover{filter:blur(0);-webkit-filter:blur(0)}.lyric-box{text-align:center;font-size:1.05rem;display:flex;flex-direction:column;flex-wrap:wrap;justify-content:center}.lyric-box p{margin:1.5em auto}.lyric-box.with-bigger-line p{margin:3em auto}
 
/**
 *  便签纸
 *  notepaper
 */
 
.notepaper {
    background: linear-gradient(rgb(var(--lh-paper-bg)) 95%, #ddd 0);
    line-height: 2em;
    background-size: 100% 2em;
    background-attachment: local;
    border: 2em solid rgb(var(--lh-paper-bg));
    box-shadow: 0 0.1rem 0.3rem rgba(0,0,0,0.2);
    padding: 0;
    margin: 1em auto;
    box-sizing: border-box;
    position: relative
}
.notepaper p {
    margin: 0;
    font-size: 1.05rem;
    letter-spacing: 0.1rem;
    line-height: inherit
}
.notepaper.narrow,
.notepaper.wide {
        width: 90%
}
@media screen and (min-width:768px){
    .notepaper.narrow {
        width: 50%
    }
    .notepaper.wide {
        width: 75%
    }
}
 
.notepaper.tight {
    border-width: 1rem;
    border-left-width: 1.2rem;
    border-right-width: 1.2rem;
    line-height: 1.8em;
    background-size: 100% 1.8em;
    font-size: 13px
}
 
.notepaper.with-string::before {
    content: '';
    width: 0.5em;
    height: 6rem;
    background: rgb(var(--lh-string-color));
    top: -2rem; right: -1rem;
    display: block;
    position: absolute;
    box-shadow: 0 0.1em 0.2em rgba(0,0,0,0.2);
    clip-path: polygon(-100% -100%,100% 0%,100% 100%,50% 98%,0% 100%);
}
.notepaper.with-tape::before {
    content: '';
    border: 1px solid #ddd;
    background: rgba(var(--lh-tape-color));
    width: 1.5em;
    height: 4em;
    transform: rotate(45deg);
    display: block;
    position: absolute;
    top: -3em;
    left: -1.8em
}
 
.notepaper.tight.with-string::before {
    top: -1rem; 
    right: -0.25rem;
}
.notepaper.tight.with-tape::before {
    top: -2.5em;
    left: -1.3em
}
 
.notepaper.page {
    min-height: 36em;
    counter-increment: page;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}
@media screen and (min-width:768px){
    .notepaper.page {
        width: 70%
    }
}
.notepaper.page:after {
    content: counter(page);
    display: block;
    text-align: center
}
.notepaper-group {
    counter-reset: page;
}
 
.book-pattern {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row
}
.book-pattern .notepaper.page:not(.notepaper > .notepaper) {
    width: 100%
}
@media screen and (min-width: 768px) {
    .book-pattern .notepaper.page:not(.notepaper > .notepaper) {
        width: 50%
    }
}
 
.book-wrapper {
    background: rgb(var(--lh-book-color));
    padding: 0.5rem;
    box-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.2);
    border-radius: 5px;
    margin: 1rem auto
}
@media screen and (min-width: 768px) {
    .book-wrapper .notepaper {
        margin: 0
    }
}
 
/**
 *  文字修饰
 */
 
.text-highlighted {
    position: relative
}
.text-highlighted::before {
    content: "";
    position: absolute;
    height: 0.9em;
    bottom: 2px;
    left: -2px;
    width: 105%;
    z-index: -1;
    background-color: rgb(var(--lh-highlighter));
    opacity: .6;
    transform: skew(-15deg);
    transition: opacity .2s ease;
    border-radius: 3px 8px 10px 6px;
    transition: 0.1s ease background-color;
}
 
.text-underlined {
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 2px;
    text-decoration-color: rgb(var(--lh-highlighter))
}
.text-wavy {
    text-decoration: underline wavy;
    text-underline-offset: 4px;
    text-decoration-color: rgb(var(--lh-highlighter))
}
 
.text-circled,
.text-squared {
    display: inline-block;
    border: 2px solid rgb(var(--lh-highlighter));
    border-radius: 100%;
    box-sizing: border-box
}
.text-squared { border-radius: 0 }
 
.text-shadow { text-shadow: 0.075em 0.075em 0 rgb(var(--lh-highlighter)) }
 
.text-highlighted.td-red::before { background: var(--lh-red) }
.text-circled.td-red, .text-squared.td-red { border-color: var(--lh-red) }
.text-underlined.td-red, .text-wavy.td-red { text-decoration-color: var(--lh-red) }
 
.text-highlighted.td-blue::before { background: var(--lh-blue) }
.text-circled.td-blue, .text-squared.td-blue { border-color: var(--lh-blue) }
.text-underlined.td-blue, .text-wavy.td-blue { text-decoration-color: var(--lh-blue) }
 
.text-highlighted.td-green::before { background: var(--lh-green) }
.text-circled.td-green, .text-squared.td-green { border-color: var(--lh-green) }
.text-underlined.td-green, .text-wavy.td-green { text-decoration-color: var(--lh-green) }
 
.text-highlighted.td-darkgreen::before { background: var(--lh-dark-green) }
.text-circled.td-darkgreen, .text-squared.td-darkgreen { border-color: var(--lh-dark-green) }
.text-underlined.td-darkgreen, .text-wavy.td-darkgreen { text-decoration-color: var(--lh-dark-green) }
 
.text-highlighted.td-purple::before { background: var(--lh-purple) }
.text-circled.td-purple, .text-squared.td-purple { border-color: var(--lh-purple) }
.text-underlined.td-purple, .text-wavy.td-purple { text-decoration-color: var(--lh-purple) }
 
.text-highlighted.td-yellow::before { background: var(--lh-yellow) }
.text-circled.td-yellow, .text-squared.td-yellow { border-color: var(--lh-yellow) }
.text-underlined.td-yellow, .text-wavy.td-yellow { text-decoration-color: var(--lh-yellow) }
 
.text-highlighted.td-orange::before { background: var(--lh-orange) }
.text-circled.td-orange, .text-squared.td-orange { border-color: var(--lh-orange) }
.text-underlined.td-orange, .text-wavy.td-orange { text-decoration-color: var(--lh-orange) }
 
/* 隐藏文字 */
 
.text-blank { color: rgba(0,0,0,0) }
.text-block { 
    background: rgb(var(--black-monochrome));
    color: rgb(var(--black-monochrome)); 
}
.text-blur { 
    filter: blur(0.3em);
    -webkit-filter: blur(0.3em)
}
 
.text-hoverback,
.text-selectback {
    transition-duration: 0.3s;
    transition-property: background, transform, color
}
 
.text-blank.text-hoverback:hover,
.text-blank.text-selectback::selection,
.text-blank.text-selectback *::selection { color: rgb(var(--black-monochrome)) }
 
.text-block.text-hoverback:hover { background: transparent!important }
.text-block.text-selectback::selection,
.text-block.text-selectback *::selection { color: rgb(var(--white-monochrome, 255, 255, 255)) }
 
.text-blur.text-hoverback:hover { filter: blur(0)!important; -webkit-filter: blur(0)!important }
 
/**
 * 附加项
 */
.with-border, .with-box-style { border: 1px solid rgb(var(--bright-accent)) }
.with-border-dark { border: 1px solid rgb(var(--black-monochrome)) }
.with-border-light { border: 1px solid rgb(var(--white-monochrome)) }
.with-border-thick { border-width: 2px }
 
.with-shadow-sm { box-shadow: 0 0 0.1em rgba(0,0,0,0.2) }
.with-shadow { box-shadow: 0 0.1em 0.2em rgba(0,0,0,0.2) }
.with-shadow-lg { box-shadow: 0 0.15em 0.3em rgba(0,0,0,0.2) }
.with-shadow-xl { box-shadow: 0 0.2em 0.5em rgba(0,0,0,0.2) }
.with-shadow-xxl { box-shadow: 0 0.25em 0.8em rgba(0,0,0,0.2) }
 
.with-padding, .with-box-style { padding: 0.25em 1em }
.with-p-sm { padding: 0.125em 0.5em }
.with-p-lg { padding: 0.5em 2em }
 
.with-margin, .with-box-style { margin: 1em auto }
.with-m-sm { margin: 0.5em auto }
.with-m-lg { margin: 2em auto }
 
.with-narrow-width { 
    width: 90%!important; 
    margin-left: auto; 
    margin-right: auto 
}
@media screen and (min-width: 768px) {
    .with-narrow-width { width: 75%!important }
}
[class*="with-bg-"], [class*="with-bg-"] h1 { color: #fff!important }
.with-bg-red { background: var(--lh-red)!important }
.with-bg-blue { background: var(--lh-blue)!important }
.with-bg-green { background: var(--lh-green)!important }
.with-bg-darkgreen { background: var(--lh-dark-green)!important }
.with-bg-yellow { background: var(--lh-yellow)!important }
.with-bg-orange { background: var(--lh-orange)!important }
.with-bg-purple { background: var(--lh-purple)!important }
 
/**
 * 删除类
 */
 
.offwith-shadow { box-shadow: none!important }
.offwith-border { border: none!important }
.offwith-padding, .offwith-pam { padding: 0!important }
.offwith-margin, .offwith-pam { margin: 0!important }
 
.offwith-width-limit {
    width: auto!important;
    margin-left: auto!important;
    margin-right: auto!important
}
 
div[class*="grider"].offwith-grid-gap { grid-gap: 0!important }
 
/**
 * 网格布局
 */
 
/* Gridder 容器 */
 
div[class*="gridder"] {
    display: grid;
    box-sizing: border-box;
    grid-gap: 1rem;
    padding: 0
}
div[class*="gridder"] * { box-sizing: border-box }
 
.gridder, .gridder-col-2 {
    grid-template-columns: 1fr 1fr;
}
.gridder-col-3 {
    grid-template-columns: repeat(3, 1fr);
}
.gridder-col-4 {
    grid-template-columns: repeat(4, 1fr);
}
 
@media screen and (min-width: 768px) {
    .pc-gridder, .pc-gridder-col-2 {
       grid-template-columns: 1fr 1fr;
   }
   .pc-gridder-col-3 {
       grid-template-columns: repeat(3, 1fr);
   }
   .pc-gridder-col-4 {
       grid-template-columns: repeat(4, 1fr);
   }
}
 
.spanner, .spanner-2 {
    grid-column-start: span 2;
}
.spanner-3 {
    grid-column-start: span 3;
}
 
/**
 * 告示组件
 */
.signblock,
.signblock-dark,
.signblock-warn {
    margin: 1rem auto;
    box-shadow: 0 0.1rem 0.3rem rgba(0,0,0,0.4);
    background: rgb(var(--lh-white-bg));
    font-size: 1.05rem;
    padding: 2rem
}
@media screen and (min-width: 768px) {
    .signblock,
    .signblock-dark,
    .signblock-warn {
        width: 75%
    }
}
.signblock-dark, 
.signblock-dark h1 {
    background: rgb(var(--lh-dark-bg));
    color: #fff
}
.signblock-warn, 
.signblock-warn h1 {
    background: var(--lh-red);
    color: #fff
}
 
.signblock h1,
.signblock-dark h1,
.signblock-warn h1 {
    text-align: center;
    font-size: 2rem;
    margin: 0;
    font-weight: 700
}
.signblock-img {
    display: flex;
    flex-direction: row;
    justify-content: center
}
.signblock-img img {
    width: 8em
}
.signblock-footer {
    font-size: 0.9em;
    text-align: center;
    margin: 0.5rem 0;
    font-weight: bolder;
    display: block
}
 
/**
 * 报告
 */
 
.reportblock,
.reportblock-dark {
    border: 2px solid rgb(var(--lh-border-color));
    box-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.3);
    background: rgb(var(--white-monochrome));
    padding: 0.8rem 1.5rem;
    padding-bottom: 0.4rem;
    margin: 1.5rem auto;
    margin-bottom: 1rem;
    position: relative
}
 
.reportblock hr,
.reportblock-dark hr {
    background-color: rgb(var(--lh-border-color));
    margin-left: -1.5rem;
    margin-right: -1.5rem
}
 
.reportblock h1:first-child,
.reportblock-dark h1:first-child {
    position: absolute;
    top: -1rem;
    left: 1.5rem;
    font-size: 110%;
    font-weight: 600;
    background: rgb(var(--lh-border-color));
    color: #fff;
    padding: 0.2rem 0.5rem;
    margin: 0;
}
 
.reportblock-dark,
.reportblock-dark h1 {
    border-color: rgb(var(--lh-white-bg));
    background: rgb(var(--lh-dark-bg));
    color: #fff
}
 
.reportblock-dark hr {
    background-color: rgb(var(--lh-white-bg));
}
 
/* 更好的折叠框 */
 
.bettercollap {
  margin: 1em 0;
}
 
.bettercollap .collapsible-block {
  width: auto;
  overflow: hidden;
  border: 1px solid rgb(var(--lh-border-color))
}
 
.bettercollap .collapsible-block-content,
.bettercollap .collapsible-block-link {
  background: rgb(var(--white-monochrome));
  padding: 0.5em
}
 
.bettercollap .collapsible-block-content {
  padding-left: 1em;
  padding-right: 1em
}
 
.bettercollap .collapsible-block-link {
  color: rgb(var(--lh-border-color));
  background: rgb(var(--white-monochrome));
  transition: .3s;
  display: block;
}
.bettercollap .collapsible-block-link:hover,
.bettercollap .collapsible-block-unfolded .collapsible-block-link,
.styledcollap.bettercollap .collapsible-block-link {
  color: rgb(var(--white-monochrome));
  background: rgb(var(--lh-border-color))!important;
  text-decoration: none
}
 
.bettercollap .collapsible-block-link:hover a { color: rgb(var(--white-monochrome)) }
 
.bettercollap .collapsible-block-link::before {
  content: "\25BC";
  display: inline-block;
  margin-right: 0.5em;
  transform: rotate(-90deg) scale(0.9)
}
.bettercollap .collapsible-block-unfolded .collapsible-block-link::before {
   transform: rotate(0) scale(0.9)
}
 
.bettercollap .collapsible-block + .collapsible-block { border-top: none }
 
.styledcollap.bettercollap .collapsible-block {
  border-radius: 2px;
  box-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.3)
}
 
.styledcollap.bettercollap .collapsible-block-content {
  background-color: rgb(var(--pale-gray-monochrome));
  border-width: 3px
}
 
.styledcollap.bettercollap .collapsible-block-link:hover {
  background: rgba(var(--lh-border-color),0.95)!important;
}
 
/**
 * 提示框
 */
 
.infoblock {
    color: #f1f1f1;
    font-weight: bold;
    background: #424242;
    padding: 5px 5px 5px 5px;
    border-radius: 4px;
    margin: -0.5rem 0 1rem 0;
    display: block;
    width: fit-content;
    padding-right: 25px;
}
 
.infoblock::before {
    content: "ⓘ "
}
 
/**
 * 单页迭代 
 */
 
.offset-page:not(:target), .offset-page:target ~ div#u-default-page { display: none }
.offset-page:target { display: block }

何为“图书馆”?

是那些普通的,城市中的那些图书馆吗?

不。

洛雨叶图书馆,设立于洛雨叶的时间之外。它详实的记录着洛雨叶中那些值得记录之事。

一般而言,那些研究者大多认为图书馆不过是个古老的传言。从未想过或许真的有那么一座图书馆,可能正矗立在北境的崇山峻岭中,被风雪所掩藏。也可能埋没在南部的密林遗迹之中,为时间所遗忘。

只为记录,承载那些古代的秘史。

但它只是在那里,在洛雨叶的某一处。对于大多数人来说,或许它并不重要,对于那些追寻它的寻宝者于研究者而言,或许它又值得付出生命去追寻。

欢迎来到图书馆,尊敬的阅览者。

请勿在阅览的途中折叠,翻转,撕毁您的同行者。

您真诚的图书管理员,Elera Twilight谨上。


所以,我第一次到达图书馆的时候,那里很安静。

我不知道光线从什么地方射出,似乎图书馆里没有一盏现代的明灯。

昏黄色的灯笼发出的暖光很让人舒适。

至少我是这么觉得的。

图书馆内部没有什么特别的装潢,深色的木制结构组成了房梁与墙柱。植物攀缘在书架之间,在某一个廊桥的尽头垂落,织成绿色的幕帘。

在一处装潢截然不同的,金色木头制成的柜台后,与书山之中,一名金发的少女托着腮帮,正在那里睡觉。
那是图书管理员,Elena Twilight。不管叫她伊凌娜,还是凌夕,都无所谓。
她只是在那里,偶尔帮忙找找书,整理一下书架。其他的时候,绝大多数工作都被那些在图书馆里飞来飞去的书籍做完了。

大多数情况下,我会直奔某一列书架。对于我而言,进入图书馆并没有任何的目的,我没有想要迫切知道的知识,也没有想要学习的魔法。
所以每一次,我所看的,所在的书籍山海之中,都不会有某本特定的书。

图书馆很大,我基本上没有发现过它的边界。尽管按照墙上的地图来看,只要往一个方向走十多分钟就可以抵达边缘地带。不过,我没有那些闲情雅致去找到图书馆的外墙。

接下来我还是直接说明我所知的图书馆的信息吧。


基本信息

洛雨叶图书馆,其入口位于卡斯特市的某一小巷内,从本质上而言,图书馆似乎是一个异空间。
图书馆内部的时间流动与外界完全相同,外界的天气变化亦会影响图书馆内的一些变化,例如在外界降水时,所对应的花廊区域可能也会出现降水现象。

图书馆对于其访客具有某种筛选能力,按理而言,每周都将在整个洛雨叶内抽取不少于三名的被选中者收到由图书管理员所发的邀请函。邀请函上包括图书馆的入口与一些规则。目前为止,依照观测,持魔法者在这筛选过程当中往往更容易收到邀请函。

取得邀请函者应当在三日之内进入一次图书馆,否则邀请函似乎会自焚。而在三日之内进入图书馆后,邀请函将被保留,代表取得邀请者得到了随意进入图书馆的资格。

图书馆的入口会在进入者的视野不再可以直接观测到入口时消失,但图书馆并非非欧几里得空间。出口会随机出现在图书馆的各个角落,并且总是有着明确的EXIT标志将其指明,通过此类出口离开图书馆将会回到图书馆入口附近的某个随机的安全位置。

图书馆内存在魔法流动,但似乎绝大多数具有攻击性的魔法在图书馆内都已被禁用。至少我的确无法在这个区域使用任何魔法。

实体

The Books

图书馆内存在大量的此类实体,它们是一些于空中飞舞的书籍,飞行时会掉出纸页,以及在周围总是有着灰色的符文粒子围绕。
The Books在图书馆内随处可见,它们将整理图书馆内的典籍,或是将阅览者传送至他们所寻求的典籍附近。它们能够说话,并能够与阅览者进行一些简单的交谈。当某一典籍处于被其他人阅览中的阅览锁定时,The Books也将出现并告知后来者该典籍已被借阅的信息。

The Books似乎是某种幽灵类魔法生物,它们无法被近战攻击接触。一旦遭到敌意对待,The Books将在短暂停留后原地消失,只留下一摊书页缓缓飘落。除此之外,The Books惧怕火焰,会主动避开所有的火焰,无论其为物理火焰或是魔法火焰。

所有的The Books都听从图书管理员的指令。

图书管理员

现任的图书管理员为Elena Twilight。被确定为一名人类。她的外观表明,她目前大约十九至二十一岁。有着金色的头发与紫色的瞳孔。据她自己所称,她来自于洛雨叶北境。但她拒绝透露更多信息。

可以确定的是,她能够控制图书馆内的绝大多数事物,这包括书架,典籍,挂灯,门,以及其他可能的更多物件。并能够指挥图书馆内存在的所有The Books。同时,经过字迹比对,我们可以确定所有的图书馆邀请函均为她本人手写。这似乎表明她能够选择被允许进入图书馆的人。


区域

大堂

图书馆入口所导向的位置,图书管理员柜台的所在处。大堂由一个长方形空间构成,拥有上下两层。
下层大堂内有着一个壁炉,少量的书柜以及桌椅,沙发。地面上则铺着一块巨大的毛绒地毯,右侧为巨大的藏书区,绝大多数书柜排列在这里,同时也是通往图书馆其他区域的必经之路。左侧则是堆积如山的书籍与图书管理员柜台。在大堂的两侧有着木质楼梯通往上层区域。

上层大堂则是一个环形的平台,有着大量的桌子与沙发。旁边还放着少许小型书柜。除此之外,在上层平台上似乎仍然有第三层存在,不过通向上方的楼梯被大量的书架,桌椅与壁橱堵塞,无法通过。

该区域常有着大量处于闲置状态而四处漫游的The Books,也是访客们的汇聚点与休息室。

回廊

图书馆内的主要连接通道,由大量书架,被封住的窗户,支撑架和吊灯组成的长走廊。这些回廊以大堂为中心,随意以杂乱的排序的导向其他区域。

花廊

图书馆内较为偏僻的位置,似乎位于图书馆外,直接暴露于空间中。是唯一能看见天空的区域。此区域所见的天空仅为一片淡灰色。
地面由玻璃构成,于下可见种植着莲叶的水潭。上方为大量的花架,且被大量的攀缘植物占领。
在花廊的两侧摆放着各类花盆,其中栽种有各种植物,亦有大量堆积起来的空花盆被搁置一旁。园艺橱柜在花廊内也随处可见。
在花架支柱下摆放着一些木质长椅。可用于歇息。

在花廊的尽头处为一个被锁住的温室,透过铁栅栏门可以发现其内只摆放着一株发出微光的绿色植物。
花廊是整个图书馆内少有的不会出现The Books的房间。

落雨房间

出现在花廊附近的特殊藏书房间,该房间的天花板被大量的藤蔓与根须替代,同时不断有雨水滴落,积留在地面上,形成水洼。该房间的书柜往往空空如也,只放着一些破旧的残页,将要燃尽的蜡烛一类的无关紧要的物品。

中心

图书馆的正中心,有着一个灰色的柜台,上方摆着一本封皮颜色会随机变化的书籍。
书籍可以被拿起,随后新的书出现在柜台上。书籍的内部为空,这允许他们在这本书上写下任何想写的文字,然后被储存在图书馆中。
每个人只能拥有一次书籍,除非其被损坏。否则无法拿起新的书籍。
目前柜台已经被大量被丢弃的各种颜色的书山所掩埋。

阅览室

在图书馆内偶然可以发现的阅览室,与普通的藏书区不同,阅览室更小,并放着一些沙发。


卡斯特市的西城区,有一条古老的小巷。


洛雨叶图书馆将矗立此地。

并且将一直如此。

除非特别注明,本页内容采用以下授权方式: Creative Commons Attribution-ShareAlike 3.0 License